Автоматический обмен может быть реализован при помощи внешней программы, использующей возможности объекта СОМСоединение платформы «1С:Предприятие». Данный метод может быть использован, когда изменение конфигурации (для внедрения кода поддержки автоматического обмена) по каким-либо причинам невозможно или нежелательно.
Для примера напишем программу на языке Visual Basic для выполнения обмена, аналогичного описанному в разделе «» (листинг 3.101).
Листинг 3.101. Пример процедуры обмена
Dim connector = CreateObject("V82.COMConnector")
Dim connection = connector.connect("file=d:\DemoExchange")
Dim nodeRef = connection.ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Опт")
If (Not nodeRef.Пустая()) Then
Dim node = nodeRef.ПолучитьОбъект()
node.ПрочитатьСообщениеСИзменениями()
node.ЗаписатьСообщениеСИзменениями()
End If
В данном примере используются те же процедуры узлов плана обмена УдаленныеСклады, что и в реализации обмена с использованием командной строки.
Полученный исполняемый модуль может быть поставлен в очередь планировщика. Пример на языке JavaScript приведен в листинге 3.102.
Листинг 3.102. Пример постановки задания в очередь
<%@ Language=javascript %>
<%
entConn = new ActiveXObject("v82.ComConnector");
conn = entConn.connect("file=d:\DemoExchange");
nodeRef = conn.ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Опт");
if (nodeRef.Пустая() == false)
{
node = nodeRef.ПолучитьОбъект();
node.ПрочитатьСообщениеСИзменениями();
node.ЗаписатьСообщениеСИзменениями();
}
%>
Данный код можно размещать в документах *.asp, *.aspx.