1С:Предприятие 8
Система программ
Архитектура платформы 1С:Предприятие
(версия 8.3.26)

Внешнее соединение

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

Внешнее соединение

Отличия от Automation-сервера

В общем и целом работа через внешнее соединение подобна работе в режиме Automation-сервера. Основные отличия заключаются в следующем:
  • В случае Automation-сервера запускается полноценное приложение 1С:Предприятие 8, а в случае внешнего соединения запускается относительно небольшой внутрипроцессный COM-сервер.
  • При работе через внешнее соединение недоступны функциональные возможности так или иначе связанные с организацией пользовательского интерфейса;
  • При работе внешнего соединения не используется модуль приложения. Его роль при работе с внешним соединением играет модуль внешнего соединения.

Внешнее соединение

Преимущества

При использовании внешнего соединения имеются следующие преимущества по сравнению с использованием Automation-сервера:
  • более быстрая установка соединения, так как не требуется создания отдельного процесса операционной системы, а все действия производятся в рамках вызывающего процесса;
  • более быстрое обращение к свойствам и методам объектов 1С:Предприятия 8, так как для организации обращения не требуется организации межпроцессной коммуникации;
  • меньший расход ресурсов операционной системы.

Пример

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

В качестве примера можно привести обращение к информационной базе 1С:Предприятия 8 через внешнее соединение из программы на языке MS Visual Basic.

Информационная база находится в каталоге c:\InfoBases\Trade. В программе 1С:Предприятие 8 создается объект типа СправочникМенеджер.Товары и создается новая группа элементов с названием ***** Экспорт из Excel ******. Во вновь созданную группу каталога записываются данные из таблицы MS Excel:

Sub Excel_to_trade () 

Dim cntr As Object 
Dim trade As Object  
Dim Элемент As Object 

Set cntr = CreateObject («V82.COMConnector»)                                   'Создать менеджер COM-соединений
Set trade = cntr.Connect («File=""c:\InfoBases\Trade»»; Usr=""Director»»;»)     'Получить внешнее соединение
Set СправочникТоваров = trade.Справочники.Товары 
Set ГруппаТоваров = СправочникТоваров.СоздатьГруппу () 

ГруппаТоваров.Наименование = «***** Экспорт из Excel ******» 
ГруппаТоваров.Записать 

N = 100   'Количество строк в документе 
For Count = 1 To N  

Set Элемент = СправочникТоваров.СоздатьЭлемент ()  
Элемент.Наименование = Application.Cells (Count, 2).Value  
Элемент.Розн_Цена = Application.Cells (Count, 3).Value  
Элемент.Мел_Опт_Цена = Application.Cells (Count, 4).Value  
Элемент.Опт_Цена = Application.Cells (Count, 5).Value  
Элемент.Родитель = ГруппаТоваров.Ссылка  

Элемент.Записать 

Next Count

End Sub

Контекст исполнения

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

Процедуры, функции и глобальные переменные, определенные в модуле внешнего соединения с ключевым словом Экспорт становятся, как и в случае модуля приложения, частью глобального контекста.

Внешнее соединение с информационной базой 1С:Предприятие 8 предоставляет полный доступ к глобальному контексту и в качестве своих свойств может иметь:
  • системные константы;
  • значения заданных в конфигураторе объектов, доступ к которым осуществляется с помощью менеджеров (например, константы, перечисления, справочники, документы, журналы документов, отчеты, обработки, планы видов характеристик, планы счетов, планы видов расчета, регистры);
  • переменные, объявленные в модуле внешнего соединения с ключевым словом Экспорт.
В качестве своих методов внешнее соединение может иметь:
  • системные процедуры и функции;
  • процедуры и функции модуля внешнего соединения и общих модулей, объявленные с ключевым словом Экспорт;
  • дополнительный метод NewObject.

Пул соединений

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

Варианты использования

С помощью внешнего соединения можно, например, организовать веб-доступ к базе данных 1С:Предприятия 8:

Внешнее соединение

Также внешнее соединение позволяет организовать обмен XML-документами системы 1С:Предприятие 8 с внешним приложением:

Внешнее соединение