ВК для 1С:Предприятие 8.2 NativeAPI на Delphi (запуск приложений, раскладка клавиатуры, события и др.)

Публикация № 88060

Разработка - Разработка внешних компонент

98
Внешняя компонента на основе разработки Крипича http://infostart.ru/public/81644/ - NativeAPI на Delphi реализует запуск процесса с заданным приоритетом и видимостью окна, переключение раскладки клавиатуры, всплывающие сообщения в трее, паузу sleep без загрузки процессора и внешние события.

На основе разработки участника Крипич //infostart.ru/public/81644/ сделана компонента, которая выполняет несколько полезных действий. Исходный код, тестовая конфигурация и страница с подробным описанием приведены в комплекте. Реализует следующие методы:

ПереключитьРаскладкуКлавиатуры - позволяет программно включить требуемую языковую раскладку клавиатуры.

ЗапуститьПриложение - запускает приложение, чтобы обойти ограничения 1с. Позволяет выставить видимость окна, приоритет и процессоры.

ПоказатьСообщениеВТрее
  - показывает всплывающие сообщения в трее Windows (рядом с часами).

Сон (Sleep) - делает паузу на указанное количество миллисекунд, не нагружая процессор.

ВнешнееСобытие - инициирует внешнее событие

В шаблон _CallAsFunc и _CallAsProc и др. модуля v8napi.pas добавлена обработка исключения и добавлен параметр для вызова событий.

UPD: NativeAPI - это новая технология для внешних компонент без использования COM, которая появилась в 1С 8.2. На диске ИТС 1С выложила образец в папке VNCOMP82 только для C++ (не написали чем компилить, но методом исключения - VS 2008), участник Кирпич (см. ссылку выше) изготовил образец для Delphi, который собственно тут и применен. Список методов скорее всего будет дополняться, это первое что пришло в голову (переключатель языка клавиатуры попросили, т.к. через WScrpit.Shell не сделаешь, и с запуском внешних приложений была у коллеги проблема).

А чем может быть удобна NativeAPI для конечных пользователей и распространителей решений - COM создает известные проблемы для пользователей, у которых нет расширенных (админских) прав в системе, и соответственно компоненты то работают, то не работают, то загружаются, то не загружаются, то загружаются неизвестно откуда и т.д. В 8.2 проблемы с этим устранены путем отказа от технологии COM в пользу более традиционной технологии DLL, для которой не нужны права на запись к реестру. Также можно из браузера FF и IE (пока не проверял) эти новые компоненты вызывать.

Сам код компоненты выглядит намного яснее.

UPD2: Добавлены внешние события, тестовая конфигурация и подробное описание (readme.html) в комплекте. Страница обсуждения на форуме mista.ru: http://forum.mista.ru/topic.php?id=562506

98

Скачать файлы

Наименование Файл Версия Размер
1CNativeExec.zip
.zip 101,49Kb
08.08.11
1264
.zip 101,49Kb 1264 Скачать бесплатно

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. CaSH_2004 354 02.08.11 00:27 Сейчас в теме
А есть ли к ней описание методов?
2. CaSH_2004 354 02.08.11 00:39 Сейчас в теме
Скачал, описание есть. За исходники спасибо. Функционал явно бедный, Sleep - можно делать и через вызов VBScipt, балоны вызывать удобнее
ShowTray http://infostart.ru/public/20531/
Tray1C http://infostart.ru/public/18821/
MiracleV8 http://dev.1tsm.ru/project/110 - на мой взгляд самая продвинутая
а ПереключитьРаскладкуКлавиатуры и ЗапуститьПриложение для меня всегда было загадкой в 1С
Так что выглядит как перепевки уже страых решений, возможно я и не прав, если автор готов объснить для чего все это?
3. Serj1C 477 02.08.11 07:10 Сейчас в теме
(2) вы перечисляете ВК на старой методике. а это новая - NativeAPI (возможность использования в управляемых формах, линуксе и т.д.) // если я не ошибаюсь
5. cool.vlad4 45 02.08.11 10:13 Сейчас в теме
(2) послушайте 3, это native ВК - так, что не путайте, ...были у меня кое-какие дельфийские примочки,нативная работа с excel и т.д. надо будет попробовать эти ВК...
6. CaSH_2004 354 02.08.11 10:41 Сейчас в теме
Serj1C пишет:

(2) вы перечисляете ВК на старой методике. а это новая - NativeAPI (возможность использования в управляемых формах, линуксе и т.д.) // если я не ошибаюсь

Странно тогда что это нигде не отражено в описании, обращаю ваше внимание на то как это выглядит со стороны - "изобретение велосипеда", если хотите быть оригинальным хотя бы выделите то новое что вы предлагаете в своей разработке, минус не ставлю т.к. есть исходники, но оформление в целом не ахти
7. cool.vlad4 45 02.08.11 10:45 Сейчас в теме
(6) Не придирайтесь, а прочитайте название "ВК для 1С:Предприятие 8.2 NativeAPI " Куда яснее уж...
Ovrfox; Захаров_Николай; Diversus; +3 Ответить
38. Abadonna 3833 15.06.12 11:16 Сейчас в теме
(2) CaSH_2004,
Sleep - можно делать и через вызов VBScipt

Да уж фиг нормальный слип через него сделаешь. Сам скрипт будет просто запускаться минимум миллисекунд 50-200
Пробовал я ради интереса.
DrZombi; hogik; +2 Ответить
41. DrZombi 28 08.09.14 07:50 Сейчас в теме
(38) Если пойти дальше, то Пауза на сервере через Джаву вообще не отработает по политике безопасности :)
Что не говори, но если есть возможность написать паузу через ВК, что в тонком клиенте это лучше не упустить :)
4. DrAku1a 1301 02.08.11 09:27 Сейчас в теме
Пригодится как пример и шаблон для разработки своих ВК. Однозначно плюсую!
NewLifeMan; Ksu; +2 Ответить
8. CaSH_2004 354 02.08.11 10:50 Сейчас в теме
cool.vlad4,
Да не было и в мыслях, я не разработчик ВК (когда то пытался, но не впечатлило), хотя плотно ими пользуюсь, тем не менее мне ничего не говорит надпись "ВК для 1С:Предприятие 8.2 NativeAPI", кроме того что она:
1. ВК
2. для 1С 8.2
3. называется NativeAPI
А т.к. пользуюсь другими то вот и спрашиваю автора, а в чем принципиальная разница? Нигде не указано что это "проба пера" - тогда было бы ясно, так что пока очередной "велосипед"
Думаю другим также будет непонятно, так что думаю вопрос закономерен и не бесполезен
9. Diversus 2015 02.08.11 11:01 Сейчас в теме
(8) NativeAPI это технология внешней компоненты.
Если Вам ничего это слово не говорит, то прежде чем писать, стоит про нее узнать побольше.
44. Alien_job 164 08.05.15 14:28 Сейчас в теме
8.3.5.1570 при запуске тестовой базы вываливается с ошибкой {МодульУправляемогоПриложения(9)}: Тип не определен (AddIn.DemoLib.ExecExtention)
10. CaSH_2004 354 02.08.11 11:12 Сейчас в теме
Diversus пишет:
(8) NativeAPI это технология внешней компоненты.
Если Вам ничего это слово не говорит, то прежде чем писать, стоит про нее узнать побольше.

А я тут что по вашему делаю? Или мне нужно каждое незнакомое слово гуглить? в описании сложно сказать об этом или все должны догадываться? Может эта разработка только для разработчиков ВК?
11. Diversus 2015 02.08.11 11:16 Сейчас в теме
12. CaSH_2004 354 02.08.11 11:23 Сейчас в теме
Diversus, Это уже лучше, а чем же отличается это от того что в ShowTray, Tray1C, MiracleV8? они написаны без этого?
13. cool.vlad4 45 02.08.11 11:25 Сейчас в теме
:D :cry: :o (12) берете ИТС и находите ТСВК - технология создания ВК
14. Diversus 2015 02.08.11 11:38 Сейчас в теме
(12) Это можете, как справедливо заметил cool.vlad4, прочитать на диске ИТС либо в интернете.
15. CaSH_2004 354 02.08.11 12:04 Сейчас в теме
Мда, получается разговор барана с воротами - непонятно кто прав, но не один не уступит. Я вам говорю про элементарные вроде вещи, что если выкладывается разработка нужно указать в чем ее преимущества/отличия перед уже имеющимися (зарекомендованными). А вы мне в ответ: разбирайся сам. Зачем тогда это все человеку который не увидел преимущества? Ведь проще использовать уже имеющееся чем перенастраивать. Как говорилось в фильме "Пароль Рыба-меч" - "Тема-то не раскрыта".
16. K_A_O 523 02.08.11 13:09 Сейчас в теме
(15) Но ведь слово NativeAPI - это и есть описание преимуществ/отличий перед уже имеющимися. Если вы не хотите посмотреть, что это такое, как угадать какие слова в описании вас устроят.
17. CaSH_2004 354 02.08.11 14:55 Сейчас в теме
(16)Я уже давно глянул и прочитал, вот только никак не пойму каким образом незнакомое слово в названии разработки может дать понимание того что это какая то технология которую нужно найти в поисковике и прочитать про нее. Если бы так рекламировали продукты 1С, Microsoft и другие то их никто бы не знал, т.к. название ни о чем не говорит, а говорит об этом описание которого у данной обработки не наблюдается. Вот что я хотел бы сказать, но что то никто не поймет меня, может потому что все уже знают что такое NativeAPI, а я до этого не знал. Но это никак не дает понимание разработки для других "непосвященных" в создание ВК. Вообще странно отсылать к разработке ВК для того чтобы понять ее преимущества, исходя из этой логики чтобы понять что такое 1С мне нужно сначала пройти курсы бухгалтера, поработать без ПК 1-2 годика, потом пройти курсы программирования на C++, поработать программистом и только потом я вдруг пойму что такое 1С и для чего она нужна и как ее сделали. Но вроде для этого есть понятие гиперссылки которые ведут на другие ресуры с пояснениями - вот чего я хотел в описании. Вроде тривиально, ан нет...
18. cool.vlad4 45 02.08.11 15:02 Сейчас в теме
(17) Платите автору ВК деньги как платят деньги производителям проприетарного софта (1С, микрософт) и будет вам описание и реклама...а так нахаляву, вам на блюдечке преподносят пример-шаблон ВК, будьте добры хоть посидеть, почитать, разобратся...задача программиста заключается в постановке цели и ее исследовании, и ее достижение, а не в слепом следовании пунктам чьих-то руководств...
19. CaSH_2004 354 02.08.11 15:17 Сейчас в теме
(18)Вот так и знал, все банально сведут к деньгам. А как же куча бесплатного софта (из популярного OpenOfice.org) которое сделано вроде как (т.к. сильно не копал) нормально, и без претензий что кто-то должен заплатить. Я лично придерживаюсь правила - "если делаеш, то делай хорошо или вообще не делай". А деньги можно требовать даже за бесплатное - тут видел ссылку на прайс 1С где продается OpenOfice.org по лицензионно и за немалые деньги! Зачем мне разбираться в шаблоне? Я же не собираюсь разрабатывать ВК, я это уже писал. Как и любой программист я хотел бы получить инструмент с какой-то сжатой инструкцией в чем его особенности, а не как вы говорите "разбирайся" по куче описаний, я это делаю когда нужно вникнуть в детали. Я понимаю что это напряжно объяснить другим то до чего сам уже дошел - у 99% прогеров проблемы с документированием своего творчества. Именно поэтому зарабатывают продажники, а программисты кодят. Когда совмещается обе стороны это БОМБА!
ИМХО: выкидывать головоломки чтобы другие разбирались это, помоему, говорит только о непрофессионализме и неуважении к времени других.
ЗЫ: реклама в данном контексте=описание, не надо цеплятся за слова.
20. cool.vlad4 45 02.08.11 15:30 Сейчас в теме
(19) Вы серьезно? Не потроллить? КАКАЯ нафиг документация, два с половиной метода, в описании все есть, сделано явно как пример для обучения, тем, кто будет разрабатывать ВК, но вы не собираетесь ни вникать, ни разрабатывать, так, что проходите мимо.
21. CaSH_2004 354 02.08.11 15:42 Сейчас в теме
(20)Не надо так наезжать. Где это вам удалось увидеть у меня слово "документация"? Я сказал вцелом документирование, а не применительно к данному случаю. В данном случае я думаю всем пользователям разработки будет полезно знать в чем ее преимущество перед уже имеющимися. Если это просто пример разработки то где это написано? Или это рабочий вариант? Я уже начинаюсь сомневаться что оно вообще работает раз тут столько говорят про разработку, а не про использование. Про личные догадки не надо говорить, т.к. выводы каждого инивидума его личные проблемы. Выходит разработка относится к категории "разберись сам и пойми нужно ли оно тебе". Очень занятный подход.
32. slaviksoft 73 23.01.12 17:11 Сейчас в теме
(19) CaSH_2004,

ну про барана тут все понятно :-)
35. tango 484 23.01.12 21:08 Сейчас в теме
(19) минус за "о непрофессионализме и неуважении" - по отношению к автору публикации это ваще не гуд
22. CaSH_2004 354 03.08.11 11:57 Сейчас в теме
Спасибо romix за реакцию на просьбы пользователей!
23. nicxxx 235 09.08.11 05:47 Сейчас в теме
24. I_G_O_R 57 11.08.11 23:13 Сейчас в теме
25. Собеседник 178 12.08.11 00:19 Сейчас в теме
много флуда.

вещь нужная - спс

а перехват нажатий клавиш (чтоб потом вызвать событие) буит?
26. pulpik 106 21.09.11 14:00 Сейчас в теме
платформа 8.2.14.533
использую описанный на ИТС от 1С метод загрузки из конфигурации (из макета с двоичными данными)
создал архив из dll + файл манифест xml
<?xml version="1.0" encoding="utf-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
<component os="Windows" path="exec82.dll" type="native" arch="i386" />
<component os="Windows" path="exec82.dll" type="native" arch="x86_64" />
</bundle>
установка и подключение проходят без ошибок, но при создании объекта ОбъектВК = Новый("AddIn.DemoLib.ExecExtention"); выдает ошибку "тип не определен"
Не подскажите в чем ошибка
27. pulpik 106 21.09.11 14:21 Сейчас в теме
pulpik пишет:

платформа 8.2.14.533

использую описанный на ИТС от 1С метод загрузки из конфигурации (из макета с двоичными данными)

создал архив из dll + файл манифест xml

<?xml version="1.0" encoding="utf-8"?>



<component os="Windows" path="exec82.dll" type="native" arch="i386" />

<component os="Windows" path="exec82.dll" type="native" arch="x86_64" />



установка и подключение проходят без ошибок, но при создании объекта ОбъектВК = Новый("AddIn.DemoLib.ExecExtention"); выдает ошибку "тип не определен"

Не подскажите в чем ошибка
Показать



вопрос снят, разобрался.
28. pulpik 106 21.09.11 16:45 Сейчас в теме
а как можно изменить иконку появления в трее?
29. zahar33 17.10.11 18:12 Сейчас в теме
Подскажите наилучший вариант кода , чтоб отловить событие нажатия клавиш "+++" на Delfi для этой компонеты
30. zahar33 17.10.11 18:13 Сейчас в теме
Если, конечно, это возможно
31. mur611 25.10.11 14:12 Сейчас в теме
Здравствуйте, сложно данный пример переделать для работы с COM портами? если все функции и процедуры готовые есть, правда из СОМ объекта. и где нужно вставлять данные функции и процедуры?
34. slaviksoft 73 23.01.12 17:20 Сейчас в теме
(31) mur611,
TMyClass = class(TV8UserObject)
private
p_Port: BYTE;
p_BaudRate: DWORD;
p_ByteSize: BYTE;
p_Parity: BYTE;
p_StopBits: BYTE;
p_ReadIntervalTimeout: DWORD;
p_ReadTotalTimeoutMultiplier: DWORD;
p_ReadTotalTimeoutConstant: DWORD;
p_WriteTotalTimeoutMultiplier: DWORD;
p_WriteTotalTimeoutConstant: DWORD;
p_CRC16: boolean; //контролировать crc
p_TimeOut: cardinal; //максимальное время ожидания ответа

readBuffer: string; //буфер для считанных символов
hCom: DWORD; //дескриптор Com-порта
dcb: TDCB; //uses Windows
cto: TCommTimeOuts; //uses Windows
bPortIsOpen: Boolean; //признак открытия порта
setingCRC:boolean;

BufferIsEmpty: Boolean;
timer:TTimer;
lastCommand:WideString;

function ReadString(var crc16:WORD):string;
procedure WriteString(buff:string);
function WaitForReady(ExternalEvent:boolean):WideString;

public
procedure AddReadData(Sender: TObject);

//функции
function SleepFunc(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;
function CreateEventFunc(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;
function OpenPort(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;
function ClosePort(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;
function Send(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;
function SendAndWait(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;
function SetCRC16Control(RetValue: PV8Variant; Params: PV8ParamArray; const ParamCount: integer; var v8:TV8AddInDefBase): boolean;

//свойства
function Property_Port_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_BaudRate_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_ByteSize_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_Parity_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_StopBits_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_ReadIntervalTimeout_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_ReadTotalTimeoutMultiplier_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_ReadTotalTimeoutConstant_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_WriteTotalTimeoutMultiplier_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_WriteTotalTimeoutConstant_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;

function Property_CRC16_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_TimeOut_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;
function Property_Opened_GetSet(propValue: PV8Variant; Get: boolean; var v8:TV8AddInDefBase): boolean;

procedure done; override;
constructor Create; override;
//destructor Destroy; override;
end;
33. slaviksoft 73 23.01.12 17:15 Сейчас в теме
спасибо за пример.
есть вопрос.

когда мы вызываем насильственно ошибку Raise Exception.Create('Ошибка записи в порт');
она обрабатывается и вызывается процедура: addError(1006, 'Внешняя компонента', pWideChar(err), E_FAIL);

она, как я понял напрямую выводит сообщение в окно сообщений 1С.
можно ли сделать так что-бы описание ошибки попадало в 1с-методы "ИнформацияОбОшибке()" или "ОписаниеОшибки()"?
36. gavrikprog 107 03.03.12 00:37 Сейчас в теме
Почитал достаточно всего, инет порыл.
Вопрос остался без ответа(ибо уровень ввода в тему все равно на уровне 0 почти).

Есть ли возможность манипулировать данными базы 1С из внешней компоненты(не создавая OLE или Com соединение специально в компоненте).
К примеру в документе есть реквизит Сумма, нажали команду Изменить компоненты Native API и у нас выполнилась процедура, кот. без возвращаемых значений изменила значение этого реквизита ?

Или к примеру выполнить функцию общего модуля 1С
/***********************
Прошел еще раз документацию/

Правильно я понял, что это возможно только в COM-компонентах ?
37. h_ex_ak_74@mail.ru 10.03.12 23:52 Сейчас в теме
спасибо автору за пример,
но такой вопрос, как запустить такую компоненту на 64х сервере?
пробовал перекомпилировать dll, приложение падает при выполнении ПодключитьВнешнююКомпоненту.
39. phabi0z 14.08.12 17:48 Сейчас в теме
Присоединяюсь к antoni

Компилирую для x64 и сервер падает при вызове ПодключитьВнешнююКомпоненту
Может быть нужно что-нибудь в manifest.xml подправить

Нужно написать ВК для 64 сервера.
Кто сталкивался - отзовитесь...
53. raider-rec@ya.ru 30.11.17 20:37 Сейчас в теме
40. vladon 21 25.09.12 13:44 Сейчас в теме
Проблема с x64 явно в стандартах вызова (stdcall), если убрать stdcall из процедуры _Init, то падает и на win32.

Сделал полный лог каждой строчки, так вот на win64 тормозится перед _Init.

Что делать - пока ума не приложу, кто сталкивался?
42. uvsd2014 4 18.02.15 10:32 Сейчас в теме
спасибо, хорошая программа.
43. capitan 1276 27.03.15 16:39 Сейчас в теме
Спасибо, то что нужно для быстрого старта.
45. frkbvfnjh 557 24.07.15 17:17 Сейчас в теме
Спасибо автору! Исходник очень помог, но как мне задать для некоторых функций значения по умолчанию? В исходнике Крипича есть такой пример, но при вызове функций без параметров 1С завершает работу с ошибкой... Сделал в Вашем исходнике как в примере у Кирпича:
with AddFunc('ExternalEvent', 'ВнешнееСобытие', @TMyClass.CreateEventFunc, 3) do
    begin
        DefParams.AddWString('Первый Параметр', 0);
        DefParams.AddWString('Второй Параметр', 1);
        DefParams.AddWString('Первый Параметр', 2);
    end;

Тоже вылетает, что ожидаемо... Нумерацию с 1-це тоже делал - не помогает. Было бы хорошо если бы в пример включили пример вызова с параметрами по умолчанию. Кстати в 1С вызываю так:
ОбъектВК.ВнешнееСобытие(, , );
46. frkbvfnjh 557 24.07.15 17:19 Сейчас в теме
Что бы было понятней о каком участке кода идет речь:
begin
  with ClassRegList.RegisterClass(TMyClass, 'ExecExtention', 'TMyClass') do
  begin
    AddFunc('RunApp', 'ЗапуститьПриложение', @TMyClass.ExecFunc, 3);
    AddFunc('Sleep', 'Сон', @TMyClass.SleepFunc, 1);
    AddFunc('ActivateKeyboardLayout', 'ПереключитьРаскладкуКлавиатуры', @TMyClass.ActivateKeyboardLayoutFunc, 1);
    AddFunc('ShowBalloon', 'ПоказатьСообщениеВТрее', @TMyClass.ShowBalloonFunc, 3);
    with AddFunc('ExternalEvent', 'ВнешнееСобытие', @TMyClass.CreateEventFunc, 3) do
    begin
        DefParams.AddWString('Первый Параметр', 0);
        DefParams.AddWString('Второй Параметр', 1);
        DefParams.AddWString('Первый Параметр', 2);
    end;
    //AddFunc('ExternalEvent', 'ВнешнееСобытие', @TMyClass.CreateEventFunc, 3);
    AddFunc('SetStatusLine', 'УстановкаСтатуснойСтроки', @TMyClass.SetStatusLineFunc, 1);

    AddProp('Visible','Видимость',True,True, @TMyClass.PropertyVisibleGetSet);
    AddProp('Priority','Приоритет',True,True, @TMyClass.PropertyPriorityGetSet);
    AddProp('Processors','Процессоры',True,True, @TMyClass.PropertyProcessorsGetSet);
    AddProp('EventBufferDepth','ГлубинаБуфераСобытий',True,True, @TMyClass.PropertyEventBufferDepthGetSet);
  end;


end.
Показать
47. premierex 31.07.15 23:39 Сейчас в теме
Ребята, а что же человеку (CaSH_2004) никто так и не объяснил, в чём отличие NatveAPI компонент от COM? Там же всё просто - в NativeAPI кроссплатформенность достигается зп счет отказа от COM технологий.
COM, он же ActiveX, он же OLE - это одна и та же технология, построенная на использовании так называемых интерфейсов. Ну а поскольку эта технология (COM) - разработка компании Microsoft, то и работать она будет только под управлением OS Windows!.
NaitiveAPI не позволяет использовать интерфейсы, поэтому и кроссплатформенная, и будет работать под всеми OS.
Ну и минусы: все объекты ссылочного типа в 1С - это COM объекты. Поэтому из компонент, созданных по технологии NativeAPI в них попросту нельзя будет использовать.
Какую технологию написания внешней компоненты использовать зависит только от того, будет ли компонента работать с объектами 1С ссылочного типа или нет. Если да - несомненно COM, иначе - NativeAPI (поскольку кроссплатформенная).
Кстати, прикольно, 1С в примерах ВК по технологии NativeAPI тоже использует терминологию интерфесов. Только их там нет. Есть указатели на классы и куча подключаемых библиотек, которые, если писать по технологии СОМ, уже входят в поставку операционной системы (если, конечно писать на "чистом" С или С++ без использования фрэймворков).
Поздно посмотрел на дату публикации ))) Полчаса коту под хвост )))
48. vla.dik67 30.05.16 13:34 Сейчас в теме
Добрый день!
Подскажите, пожалуйста, почему в Lazarus не работает AllocMemory?
Вот код:

function _V8String(V8MM: TV8MemoryManager; W: WideString): PWideChar;
var
  L: longword;
begin
  result := nil;
  if Pointer(V8MM) = nil then
    Log('  _V8String: Pointer(V8MM) = nil')
  else
    begin
      L := Length(W);
      L := L + L + 2;
      if V8MM.AllocMemory(@result, L) then
        begin
          if Pointer(result) = nil then
            Log('_V8String:  result = nil !!!')
          else
            Move(W[1], result^, L);
        end
      else
        Log('_V8String:  NO AllocMemory !!!')
    end;
end;
Показать


Переменная result - всегда равна nil после вызова V8MM.AllocMemory(@result, L).
Такое ощущение, что AllocMemory не вызывается.

Последовательность вызовов такая:
_Init
_setMemManager
_SetLocale
_GetInfo
_RegisterExtensionAs
_V8String: result = nil !!!

В Turbo Delphi Explorer всё нормально работает.

Версия Lazarus - 1.6
Версия 1С - 8.3.7.1917
Windows 7 Pro 32 bit
Файлы проекта во вложении.

Спасибо.
Прикрепленные файлы:
1CNativeHello.zip
49. vla.dik67 30.05.16 13:34 Сейчас в теме
Добрый день!
Подскажите, пожалуйста, почему в Lazarus не работает AllocMemory?
Вот код:

function _V8String(V8MM: TV8MemoryManager; W: WideString): PWideChar;
var
  L: longword;
begin
  result := nil;
  if Pointer(V8MM) = nil then
    Log('  _V8String: Pointer(V8MM) = nil')
  else
    begin
      L := Length(W);
      L := L + L + 2;
      if V8MM.AllocMemory(@result, L) then
        begin
          if Pointer(result) = nil then
            Log('_V8String:  result = nil !!!')
          else
            Move(W[1], result^, L);
        end
      else
        Log('_V8String:  NO AllocMemory !!!')
    end;
end;
Показать


Переменная result - всегда равна nil после вызова V8MM.AllocMemory(@result, L).
Такое ощущение, что AllocMemory не вызывается.

Последовательность вызовов такая:
_Init
_setMemManager
_SetLocale
_GetInfo
_RegisterExtensionAs
_V8String: result = nil !!!

В Turbo Delphi Explorer всё нормально работает.

Версия Lazarus - 1.6
Версия 1С - 8.3.7.1917
Windows 7 Pro 32 bit
Файлы проекта во вложении.

Спасибо.
Прикрепленные файлы:
1CNativeHello.zip
50. 7OH 32 06.02.17 14:45 Сейчас в теме
Добрый день.
Прошу помощи ещё раз.
Компоненту наваял - всё работает.
Но когда дошло дело до внедрения на СЕРВЕРЕ - при подключении компоненты возвращает ложь.
На х32 сервере - всё ОК.
Как собирать компоненту под х64 - не подскажете ?
54. raider-rec@ya.ru 30.11.17 20:43 Сейчас в теме
(50)
Но когда дошло дело до внедрения на СЕРВЕРЕ - при подключении компоненты возвращает ложь.

В ТВК вроде так написано:

Интерфейс 1С:Предприятия

При инициализации объекта компоненты, ему передается указатель на интерфейс 1С:Предприятия, с помощью которого можно вызывать ниже перечисленные методы. Следует помнить, что эти методы не будут работать на сервере приложений.
51. slaviksoft 73 06.02.17 19:00 Сейчас в теме
в этом модуле проблема с типами под х64 (думаю связано с разрядностью)
есть на инфостарте пример с модулем под х64

http://infostart.ru/public/81644/
52. 7OH 32 09.02.17 16:34 Сейчас в теме
(51) да - там есть немного - спасибо за наводку.
Почитал - надо ставить новую среду (XE).
Поставил XE8, но появилась новая проблема:
мною используемый компонент dsPack использует в коде ASM, а гибридное содержимое в 64 компиляторе запрещено.
Переписывать dsPack я не решился.
А вот логику работы на клиент перенести - оказалось проще.
55. and60 27.04.18 11:25 Сейчас в теме
Добрый день.
Может подскажете, поможет ли мне эта компонента, или совет дадите :
мне необходимо из одной программы :
- желательно кодом на C# передать в 1С параметр (строку)
- в 1С отловить это событие
- обработать
- каким то макаром вернуть результат обработки в вызвавшую событие программу(пока не знаю как это реализовать)

И поясните, если не сложно :
1) 1С без внешней компоненты не может перехватить внешнее событие?
2) Какие есть варианты возврата результата обработки из 1С ? Не хочется проверять периодически на наличие файла с результатом...
Оставьте свое сообщение

См. также

PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ 135

Инструменты и обработки Программист Архив с данными v8 Бесплатно (free) Разработка внешних компонент

PinkRabbitMQ представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit) с открытым исходным кодом на с++ (можно собрать компоненту самостоятельно). PinkRabbitMQ это низкоуровневая компонента которая реализует обмен по протоколу AMQP с брокером сообщений RabbitMQ. Для организации высокоуровнего обмена между информационными базами предназначен Адаптер. Компонента разрабатывается в рамках проекта Адаптер.

29.07.2019    6363    401    Begemoth80    100       

Native внешняя компонента для передачи по UDP 4

Инструменты и обработки Программист Архив с данными v8 УТ10 Россия Windows Абонемент ($m) Разработка внешних компонент

Внешняя компонента Native-API для организации передачи с использованием UDP.

1 стартмани

29.07.2019    991    2    axae    0       

.Net Core, обмен с 1C по TCP/IP между различными устройствами 15

Статья Программист Нет файла v8 Бесплатно (free) Разработка внешних компонент

Часто нужно обмениваться данными с клиентом 1С из различных устройств, между клиентами 1С, а также при виртуализации между разными ОС на компьютере. Это кроссплатформенная ВК, позволяющая обмениваться сообщениями по TCP/IP между различными устройствами по определенному протоколу.

28.09.2016    17194    Serginio    8       

Net Core. Динамическая компиляция класса обертки для получения событий .Net объекта в 1С 8

Статья Программист Нет файла v8 Бесплатно (free) Разработка внешних компонент

Часто нужно использовать события объектов .Net. Например событие от COM порта, поступление сообщений по WhatsAp, сообщение об изменение в директории итд. Напрямую этого сделать нельзя, но можно сделать класс обертку и через него получать ВнешнееСобытие

14.09.2016    13220    Serginio    1       

.Net Core, 1C, динамическая компиляция, Scripting API 10

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка внешних компонент

Очень часто приходится использовать динамический код в 1С, используя Выполнить или Вычислить. Аналогичная задача и для использования скриптов на .Net. Я постарался показать, как можно скрестить ежа с ужом и получить удобный код. В этой статье много вражеского кода для чистого одноэсника, но все когда-то бывает впервые.

07.09.2016    15346    Serginio    7       

1С, Linux, Excel, Word, OpenXML, ADO, Net Core 31

Инструменты и обработки Программист Архив с данными v8 Бесплатно (free) Разработка внешних компонент

В данной статье показаны примеры кроссплатформенной работы с файлами Excel и Word (xlsx,docx) с помощью библиотеки OpenXML и Net Core

22.08.2016    16910    51    Serginio    14       

Асинхронное программирование в 1С через использование классов .Net из Native ВК 14

Статья Программист Нет файла v8 Бесплатно (free) Разработка внешних компонент

Это продолжение статьи Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux II http://infostart.ru/public/541518/ В этой статье покажу, как можно асинхронно вызывать асинхронные методы и вызывать ВнешнееСобытие в 1С из сборки .Net

09.08.2016    14328    Serginio    3       

Внешняя компонента для сжатия/распаковки файлов, двоичных данных и строк по алгоритму Zlib, Deflate и GZip 47

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Внешняя компонента для сжатия/распаковки файлов, двоичных данных и строк по алгоритму Zlib, Deflate и GZip.

1 стартмани

15.03.2016    26192    114    frkbvfnjh    97       

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д. 37

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент WEB

Очень часто нужно при работе с HTTP сервисами или сайтами использовать Асинхронные HTTP запросы, отправку на сервер нескольких файлов, использование сжатия трафика. Эта статья про то, как этого легко добиться.

09.03.2016    25345    Serginio    22       

Быстрое создание Внешних Компонент на C#. Примеры использования Глобального Контекста, IAsyncEvent, IExtWndsSupport, WinForms и WPF 41

Статья Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент

В большинстве случаев хватает и обычного COM объекта, учитывая, что в 8.х можно использовать события. Но иногда нужно использовать Глобальный Контекст для вызова глобальных функций, таких как Сообщить, NewObject и т.д. Кроме того, для использования форм нужен дескриптор окна 1С. Это продолжение статей Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент. http://infostart.ru/public/238584/ Там же лежат и исходники .NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия http://infostart.ru/public/417830/ 1C Messenger для отправки сообщений, файлов и обмена данными между пользователями 1С, вэб страницы, мобильными приложениями а ля Skype, WhatsApp http://infostart.ru/public/434771/ Использование классов .Net в 1С для новичков http://infostart.ru/public/448668/

15.02.2016    24242    Serginio    13       

Подсветка синтаксиса 1С в текстовых редакторах Atom, Sublime Text, VS Code 101

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Разработка внешних компонент

Пакеты, добавляющие поддержку синтаксиса языка 1С:Предприятие 8 в текстовые редакторы Atom, Sublime Text и VS Code. И не только.

02.02.2016    22704    nixel    38       

Использование классов .Net в 1С для новичков 147

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент Универсальные функции

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    62713    Serginio    104       

.NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия 51

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Разработка внешних компонент Математика и алгоритмы

Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия, а так же генерация модулей на C# и 1С для подключения к событиям. Использование DynamicMethod и ILGenerator. Представлены примеры для использовании событий System.IO.FileSystemWatcher (Ожидает уведомления файловой системы об изменениях и инициирует события при изменениях каталога или файла в каталоге.) и SerialPort (обработка сканера штрих кода подключенного к COM порту). Обертка позволяет использовать классы .Net только на языке 1С. Реализация 1C Messenger описанного здесь http://infostart.ru/public/434771/

12.11.2015    41672    Serginio    35       

1С с "плюсами" 74

Статья Программист Нет файла v8 Бесплатно (free) Разработка внешних компонент Математика и алгоритмы Универсальные функции

- Разработана методика подключения внешней компоненты, снимающая ограничения на типы данных аргументов и возвращаемого значения. - Проведено документирование основных типов данных (объектов, интерфейсов) платформы. - Разработан объект «Делегат» для реализации функциональных объектов (указатель-на-функцию). - Разработана концепция итератора произвольного доступа для основных контейнеров платформы с целью сопряжения со стандартной C++ библиотекой. - В процессе разработки механизм 1С классов (наследование, интерфейсы) для возможности использования парадигм объектно-ориентированного программирования на уровне кода.

14.10.2015    19609    IntelInside    47       

Генерация штрих-кода для вставки его в 1С при работе в Linux 4

Статья Системный администратор Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Разработка внешних компонент

В Linux есть отличная команда barcode, которая генерирует штрих-коды в векторном формате ps. Но 1С не понимает такие форматы. Более того, barcode генерирует штрих-код на размер листа А4 или Letter. Установка пользовательского размера листа не увенчалась успехом. Но не будем же мы вставлять изображение штрих-кода размером с лист А4… Однако есть способ, как решить данные проблемы.

01.07.2015    13448    rudjuk    4       

Простейший способ создания штрих-кода в формате PNG из командной строки в Linux Ubuntu 10

Статья Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Разработка внешних компонент

В Linux есть огромное количество способов создания линейного штрих-кода. В данной статье мы рассмотрим, как сгенерировать графическое изображение штрих-кода прямо из командной строки. При этом, решение будет совершенно бесплатным и очень простым как в установке, так и в использовании.

29.06.2015    9651    rudjuk    15       

Компилирование внешней компоненты AddInNative в ОС Linux 46

Статья Системный администратор Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Разработка внешних компонент

В статье отражены некоторые моменты, которые нужно учесть, чтобы скомпилировать пример 1С-вской внешней компоненты AddInNative в ОС Linux.

14.01.2015    17494    q_i    20       

Использование внешних COM-компонент (.dll) или любых клиентских методов в регламентных заданиях серверной базы. 50

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка внешних компонент Математика и алгоритмы

Для расширения возможностей платформы 1С существует огромное количество внешних компонент (дополнительные функции, взаимодействие с софтом и железом других производителей, ключи защиты). К сожалению, большинство из них написано на технологии .COM и не могут использоваться на сервере. Для использования в регламентных заданиях серверной базы их приходится переписывать на Native API. Однако, иногда нет возможности переписать компоненту на новую технологию, но нужно вызвать ее в регламентном задании на сервере.

10.12.2014    39203    ekaruk    51       

Мини-Эверест: Native ВК для 8.х 18

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Разработка внешних компонент

Список и свойства HDD, список и свойства ОЗУ, список запущенных процессов (для терминала - всех пользователей с указанием номера сессии), список запущенных сервисов, характеристики BIOS

20.08.2014    13683    35    Abadonna    7       

ВК для работы с файлами FilesNative.dll 28

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Разработка внешних компонент

Компонента реализует некоторые методы работы с файлами (архивами). Поддерживаемые форматы распаковки архивов: ZIP, JAR, XPI, BZ2, BZIP2, TBZ2,TBZ,RAR, R00, ARJ, Z, TAZ, LZH, LHA, 7Z, CAB, LZMA, LZMA86, ISO, XAR, MSI,RPM, TAR, GZ, TGZ, TPZ

18.06.2014    14527    77    Abadonna    9       

NetNative: ВК для работы с сетью 61

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Windows Бесплатно (free) Разработка внешних компонент

Прослушивание UDP-портов, посылка UDP-сообщений, возможность организации UDP-чата, некоторые сетевые команды. Написана по технологии Native

23.02.2014    16377    142    Abadonna    10       

Отслеживание изменений каталога в REAL-TIME: Native ВК для 8.х 58

Инструменты и обработки Программист Архив с данными v8 Россия Windows Бесплатно (free) Разработка внешних компонент

Давно у меня была задумка отследить, например, появление определенного файла в каталоге базы данных без использования различных таймеров и обработчиков ожидания. Настоящая ВК отслеживает изменения в выбранном каталоге в реальном времени и генерирует в 1С соответствующие внешние события. Выбранный каталог может быть как папкой, так и целым диском.

09.10.2013    17539    229    Abadonna    38       

Трей-мессенджер: Native ВK для 8.х 97

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия Windows Бесплатно (free) Разработка внешних компонент

Иконка 1С в трее с popup-mеnu, баллуны, оповещения, обратная связь. Выполнена по технологии Native, не требует регистрации в реестре и особых прав пользователя. Имеет обратную связь с 1С через генерацию внешних событий. Имеет popup-menu на иконке в трее для управления окном 1С (закрыть, скрыть, показать+ 2 пункта генерации событий). Есть возможность убрать кнопку главного окна из панели задач.

23.09.2013    23192    405    Abadonna    121       

Обработка изображений 1С средствами .Net framework 8

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Разработка внешних компонент

1С:Предприятие не предоставляет штатных средств работы с изображениями по изменению размеров и наложению водяных знаков. Данный функционал часто востребован, например, в Интернет-магазинах, когда из 1С происходит экспорт товаров с фотографиями. Раньше для этого использовали выгрузку фотографий на диск и вызов утилит через командную строку. Понятно, что гибкостью и скоростью такой вариант не обладает, плюс еще могут возникнуть проблемы с безопасностью и учетом временных файлов.

19.04.2013    17383    Elisy    13       

Внешняя компонента для работы со строками 84

Инструменты и обработки Программист Архив с данными v8 Россия Windows Бесплатно (free) Разработка внешних компонент

ВК по технологии Native для работы со строками: хеши по различным алгоритмам, крутое шифрование, вычисление релевантности (схожести) строк. Событие переключения подсистем.

20.03.2013    22272    463    Abadonna    105       

Подсистема "COMExchange": ускорение выгрузки запросов ADO или «игра с огнём». 13

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Практика программирования Разработка внешних компонент

Описана поддержка подсистемой "COMExchange"работы с ВК GameWhithFire.dll и в частности ускоренная выгрузка результата запроса ADO средствами ВК.

11.03.2013    17252    yuraos    4       

Простой пример создания ActiveX-control на Qt 8

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Разработка внешних компонент

Мне была поставлена задача разработать некий ActiveX-control. Так как основным языком программирования для разработки у нас используется C++, то C# не рассматривался. Я решил выбрать Qt, так как он мне интересен. Создание ActiveX объектов на Qt достаточно простой процесс, в примерах к QtCreator есть несколько вариантов, показывающих как можно использовать ActiveQt (например этот). При написании компонента пришлось много времени потратить на поиск ответов на казалось бы простые вопросы, по крупицам их собирать. В результате я получил, что требовалось и решил написать простой пример, чтобы ускорить процесс старта разработки ActiveX-control другим. Сразу обращу внимание, что не описываю всю технологию ActiveQt, подробную информацию можно получить в документации Qt Assistant и в интернете (например здесь), это пример и пара интересных на мой взгляд моментов.

25.02.2013    7386    theshadowco    3       

Finger-биометрия в 1С 47

Статья no Нет файла v8 Россия Бесплатно (free) Разработка внешних компонент

О различных методиках использования сканеров отпечатков пальцев в 1С.

02.07.2012    23965    fixin    22       

Miracle Native - ВК для V8 74

Инструменты и обработки Программист Архив с данными v8 Россия Бесплатно (free) Разработка внешних компонент

Настоящая ВК написана по технологии 1С-Native. По методам и свойствам является наследницей MIracveV8 с планируемым развитием функционала. Версия 1.2.1.1 Не триальная, подправлена некорректная работа под х64

23.04.2012    28871    623    Abadonna    79       

Решение проблем с регистрацией внешних компонент в терминале 71

Статья Программист Нет файла v8 УТ10 Россия УУ Розничная торговля Учет ТМЦ Бесплатно (free) Разработка внешних компонент

Зачастую у программистов возникают проблемы с подключением внешних компонент (например, драйверов торгового оборудования), когда пользователи работают с 1С, подключаясь к серверу через терминал. Это связано с некоторыми особенностями работы функции глобального контекста ПодключитьВнешнююКомпоненту().

22.09.2011    57794    Spacer    41       

Драйвер клавиатурного сканера 24

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 Россия Windows Бесплатно (free) Разработка внешних компонент

Драйвер сканеров USB-HID (эмуляция клавиатуры) для 1С Предприятие 8.2. Дополнительно может отсылать текст на дисплей покупателя Posiflex PD2601.

13.07.2011    8538    386    Ma_X_X    12       

Новая версия 1С:Предприятие 8.2 конфликтует с C# и .Net framework 22

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Разработка внешних компонент

Суть конфликта 1С 8.2 с C# и .Net framework в следующем. В версии 8.2 1С анонсировала новый способ написания внешних компонент 1С с использованием так называемого Native API. Самое интересное, что на C# предложенный подход реализовать невозможно, а реализация Native API на VC++/CLI теоретически возможна, но при попытке подключения DLL, скомпилированных с опцией /CLR, происходит зависание 1С (версия 8.2.13.202). Еще один конфликт – в новой версии 1С нет поддержки технологии ActiveX, на основе которой многие разработчики вставляли в формы 1С свои WinForms-приложения.

15.12.2010    19414    Elisy    128       

Учим внешнюю компоненту правильному склонению не только ФИО, но и должностей, и подразделений (ЗУП 2.5) 120

Статья Программист Нет файла v8 ЗУП2.5 Россия Бесплатно (free) Практика программирования Разработка внешних компонент

Многие из нас сталкивались с проблемой неверного склонения должностей и подразделений внешней компонентой склонения ФИО. Результат при этом может напоминать следующее: 1.Именительный "Главный специалист" 2.Родительный "Главныя специалиста" 3.Дательный "Главныю специалисту " 4.Винительный "Главныя специалиста " 5.Творительный "Главныем специалистом " 6.Предложный "Главные специалисте " Метод борьбы с данным недугом предлагаю ниже.

21.11.2010    56224    director04    62       

Thermal Print Library - ActiveX библиотека для печати на термопринтерах Godex BZB2/EZ2/EZ4, C.Itoh EZ2/EZ4, Citizen CLP-521/621 19

Инструменты и обработки no Приложение (exe) v8 1cv8.cf 1cv7.md Россия Windows Бесплатно (free) Разработка внешних компонент

Библиотека Thermal Print Library является COM сервером и предназначается для использования в любых средах, которые в состоянии выступить в роли OLE-клиента (MS Office, 1С Предприятие, VB, VBScript, и т.д.). Допускается применение со следующими моделями термопринтеров : Godex BZB2/EZ2/EZ4, C.Itoh EZ2/EZ4, Citizen CLP-521/621.

20.09.2010    18029    255    GreenLab    23       

[BackgroundWorker] - Фоновые задания в файловом режиме 1С 8.x 41

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Windows Бесплатно (free) Практика программирования Разработка внешних компонент

ActiveX-компонента позволяет выполнять задачи в фоне с индикацией прогресса и возможностью прерывания выполнения. Также работает и клиент/серверном варианте, в качестве альтернативы типовым фоновым заданиям

04.03.2010    19847    418    Душелов    15       

Архивация базы 1С-Предприятие 11

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Россия Бесплатно (free) Архивирование (backup) Разработка внешних компонент

Используем стандартный планировщик Windows и файл Visual Basic Script с файлом настроек, для плановой выгрузки базы данных.

29.12.2009    8457    276    alves    4       

Использование визуальных (ActiveX) компонент в тонком клиенте 1С 8.2 63

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Бесплатно (free) Разработка внешних компонент Администрирование данных 1С

В данной статье рассматривается вопрос использования визуальных компонент (ActiveX) на форме тонкого клиента 1С 8.2 и веб-клиента на базе MS Internet Explorer.

19.11.2009    35352    616    Душелов    59       

Хранитель COM - объектов 20

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Бесплатно (free) Практика программирования Разработка внешних компонент

Позволяет сохранять COM - объект между серверными вызовами в 8.2. Сохраняет и получает ссылку на объект в ROT (Running Object Table). БЕТА!

18.11.2009    10409    77    Hadgehogs    14       

[SendGoogleSMS] Отправка SMS уведомлений через сервис Google Calendar 65

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Разработка внешних компонент WEB SMS рассылки

Компонента генерирует события в Google Calendar с извещением по SMS. В архивах ВК для 7.7 (работает и в 8-ке) и ActiveX - для работы в контексте сервера 1С 8.х

07.08.2009    25623    563    Душелов    37       

[PDF Viewer] - Просмотр PDF в 1С 65

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Разработка внешних компонент Работа с интерфейсом

ActiveX-компонента для просмотра PDF. Позволяет сохранить в виде текста, картинки и PostScript. Реализованы механизмы поиска текста и печати.

15.07.2009    28320    865    Душелов    57       

Подпись к полю ввода в самом поле 15

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Разработка внешних компонент Работа с интерфейсом

Все чаще в интерфейсе программных продуктов используется новый способ подписи или комментирования полей ввода. Выглядит это так: пока поле пустое - в нем отображается подпись серого цвета, если в поле что то начинают вводить, подпись исчезает.

30.04.2009    13409    278    Stepa86    22       

[IFilter] Поиск в содержании файлов из 1С (ВК, .NET) 14

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Поиск данных Разработка внешних компонент

Компонента для работы с фильтрами поисковых систем. Получает текст из файла по установленном в системе фильтрам. Индексирует и ищет файлы по их содержанию (аналог Desktop Search) Поддерживает *.doc, *.xls, *.txt, *.ppt. Дополнительные фильтры можно скачать с http://www.ifilter.org/Links.htm

24.03.2009    28610    141    Душелов    44       

[Мониторинг изменения файлов] - ActiveX-компонента для 1С 8.х + ВК для 7.7 39

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Разработка внешних компонент

Компонента следит за изменениями файлов в заданных каталогах, без таймеров и опросов файловой системы. Использует события Windows.

05.03.2009    21123    522    Душелов    53       

[Проверка правописания] - ActiveX-компонента для 1С 54

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Разработка внешних компонент

Компонента проверяет правописание текста. Основана на технологии OpenOffice MySpell. Не требует установленного офиса. В комплекте словари для 5 языков, включая русский (с "ё").

09.02.2009    24775    1062    Душелов    66       

[ExcelEditor] Чтение/запись файла Excel напрямую из 1С без Excel (формат 97/2003) 112

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Разработка внешних компонент Загрузка и выгрузка в Excel

Чтение и запись файла Excel напрямую из 1С Компонента читает и редактирует напрямую файл Excel без загрузки самого Excel (формат Microsoft Office 97/2003)

08.01.2009    40326    1195    Душелов    92       

Защита информации при обмене данными между информационными базами "Управление производственным предприятием" 0

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УПП1 Бесплатно (free) Разработка внешних компонент Защита и шифрование Обмен через XML

Защита информации при обмене с распределенной базой данных. В крупной фирме имеется одна центральная информационная база 1С:Предприятие 8.1 "Управление производственным предприятием" и несколько периферийных баз, обмен данными происходит через файлы XML. После выявления многочисленных случаев несанкционированного доступа к конфиденциальной информации, а именно кассовым и банковским документам при обмене данными, руководством было решено защитить данные при обмене информацией между центральной базой и периферийными базами. Перемещение данных между базами происходит через файлы XML, по нескольким каналам связи FTP, HTTP, POP, SMTP, а также на сменных носителях (типа USB Flash Drive). В связи с этим решено использовать внешнюю компоненту для шифрования файлов XML и небольшой доработки конфигурации баз данных.

25.11.2008    11343    110    astracrypt    13