Здравствуйте. В windows существует возможность взаимодействовать с запущенным приложением. Например с Outlook, Excel и.т.д.
Как я понял с 1С тоже можно взаимодействовать таким образом. Но как именно пока не понятно. Собрав некоторую информацию и почитав эту статью https://its.1c.ru/db/metod8dev/content/1902/hdoc пришел к выводу, что по умолчанию 1С не дает такой возможности, и нужно писать для нее внешнюю компоненту, которая должна попасть в список активных com-объектов и через нее взаимодействовать с запущенным 1С приложением.
Например, нужно заполнить определенные реквизиты на форме в 1С из другой программы.
Кто вкурсе, подскажите такой ли принцип? Или это как-то по-другому работает.
Спасибо. Но это не та ситуация. Я говорю про Automation Client/Server, но с той разницей, что когда выполняется CreateObject("V82.Application"), то создается новое соединение. А есть еще в windows подключение к существующему соединению и взаимодействие с существующим процессом.
(8)
Спасибо. Принцип понятен.
Посмотрел. Там ряд фалов. Если вы в курсе напишите пожалуйста, ка ее загрузить в 1С, и потом после загрузки где в 1С принимать от нее переданные извне get запросы.
(9)Вы имеете ввиду в архиве? Если да - то это и есть внешняя компонента. Помещаете ее в макет типа двоичные данные, затем вызываете УстановитьВнешнююКомпоненту и ПодключитьВнешнююКомпоненту.
Если, например, по аналогии со сканерами штрихкода, писать данные в открытую форму, то да - писать внешнюю компоненту, чтобы через неё посылать форме данные, вызывая обработчик внешнего события.
Но, как я уже писал, можно сделать обходной маневр, если внешнюю компоненту писать неохота и при этом есть возможность вносить изменения в конфигурацию 1С. Смысл в том, что через COM вы пишете данные в какой-то служебный объект в базе, например в регистр сведений, а на открытую форму вешаете обработчик ожидания. Форма периодически опрашивает этот регистр на предмет появившихся данных и при их появлении заполняет себя. Это конечно костыль тот еще, но если очень нужно - можно попробовать. А правильно через внешнюю компоненту.
Если это так, то напишите пожалуйста можно ли передавать вашему процессу текстовой параметр, для того, чтобы он отправил его в 1С.
По идее с запуском 1С ваш процесс уже работает. И чтобы передать в него параметр его не нужно запускать из командной строки заново?
Объясните пожалуйста как именно происходит обращение к этому процессу.
А тут ошибка "Тип не определен (AddIn.MyComp.WebExtEvent)"
ПодключаемыйМодуль = Новый("AddIn.MyComp.WebExtEvent");
В чем тут дело?
p.s.
После подключения этой компоненты в 1С есть процедура, которая будет принимать сообщения, отправленные на этот веб-сервер ?
Цель такая, чтобы когда пользователь запустил 1С, то автоматически запустился этот веб-сервер и принимал сообщения, которые были ему отправлены по сети. И через процедуру обработки сообщения уже получить доступ к форме открытой форме пользователя.
(11)Внешние компоненты бывают созданы по технологии или СОМ или Native, если у вас первый случай то нужно регистрировать ее в системе (regsvr32). В 1С для таких случаев предусмотрена процедура ВнешнееСобытие()