Перейти к основному содержимому

Automation и внешнее соединение 1С

Разработчику Архитектору

Три способа «вызвать 1С снаружи»

СпособОбъектКогда
Automation ServerV83.Application / V83c.ApplicationПолноценное приложение, UI, Excel-макрос
Внешнее соединениеV83.COMConnectorБыстрый доступ к данным без UI
HTTP/ODataRESTКросс-платформа, не Windows

Automation и COM — Windows, разработка и эксплуатация на Linux-сервере не применимы. Для серверной интеграции — 129131.


Automation Server

Внешняя программа создаёт COM-объект и управляет 1С как пользователь.

Set app = CreateObject("V83.Application")
app.Connect "File=""c:\base\trade"";Usr="""";Pwd="""";"
Set doc = app.Документы.РасходнаяНакладная.СоздатьДокумент()
' ...
ProgIDРежим
V83.ApplicationТолстый клиент — полный доступ к менеджерам
V83c.ApplicationТонкий клиент — ограничения (формы через ПолучитьФорму)

Доступны менеджеры справочников, документов, регистров, экспортные процедуры модулей, методы Connect() и NewObject().


Automation Client (1С вызывает Excel и др.)

Из BSL на клиенте:

Excel = ПолучитьCOMОбъект("C:\temp\report.xls");
Значение = Excel.Sheets(1).Cells(1, 2).Value;

Или Новый COMОбъект("Excel.Application"). Только Windows, код в &НаКлиенте. Для серверной генерации файлов — табличный документ, 1310.md или HTTP API.


Внешнее соединение (COMConnector)

V83.COMConnector — лёгкий in-process COM-сервер без полного UI. Быстрее Automation Server, меньше ресурсов ОС.

Set connector = CreateObject("V83.COMConnector")
Set trade = connector.Connect("File=""c:\base\trade"";Usr=Director;")
Set doc = trade.Документы.РасходнаяНакладная.СоздатьДокумент()

Отличия от Automation Server:

  • не запускается отдельный процесс толстого клиента;
  • нет UI и не выполняется модуль приложения — роль играет модуль внешнего соединения конфигурации;
  • быстрее установка соединения и вызовы свойств.

Подходит для массовой загрузки из Excel, Python, C# на Windows.


Встраивание веб-клиента на сайт

Платформа позволяет встроить веб-клиент 1С в сторонний сайт через iframe (публикация веб-клиента + HTML-страница хоста). Это UI-интеграция, не замена API. Для машинного обмена — HTTP-сервисы или OData.


Связанные материалы


Проверка себя

  • Automation Server или COMConnector — что быстрее для пакетной загрузки?
  • Почему V83c.Application не даёт прямой доступ к Справочники.Номенклатура?
  • Чем заменить COM на Linux-сервере?

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").