Внешнее соединение - обеспечение надежного и быстрого программного доступа к данным 1С:Предприятия 8 из внешних приложений, в том числе из приложений, использующих web-расширение. Отличия от 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 с внешним приложением:
|