1С:Предприятие 8.0 предоставляет интересные возможности для организации обмена данными с другими программными системами. Наряду с механизмом OLE Automation введено понятие COM -соединения, которое позволяет обеспечить надежный и более быстрый доступа к данным 1С:Предприятия 8.0 из внешних приложений, поддерживающих данную технологию.
Ключевые слова: COM, соединение, внешнее, OLE, Automation, Connect, ComConnector, Srvr
При использовании для доступа к данным 1С:Предприятия 8.0 COM -соединения имеются следующие преимущества по сравнению с использованием Automation сервера:
Более быстрая установка соединения, так как не требуется создания отдельного процесса операционной системы, а все действия производятся в рамках вызывающего процесса;
Более быстрое обращение к свойствам и методам объектов 1C:Предприятия, так как для организации обращения не требуется организации межпроцессной коммуникации;
Меньший расход ресурсов операционной системы.
В общем и целом работа с 1С:Предприятием 8.0 через COM -соединение подобна работе с 1С:Предприятием в режиме Automation сервера. Основные отличия заключаются в следующем:
В случае Automation сервера запускается полноценное приложение 1С:Предпприятия 8.0, а в случае COM -соединения запускается относительно небольшой внутрипроцессный COM -сервер.
При работе через COM -соединение недоступны функциональные возможности так или иначе связанные с организацией пользовательского интерфейса 1С:Предприятия 8.0;
При работе COM -соединения не используется модуль приложения конфигурации 1С:Предприятия 8.0. Его роль при работе с COM -соединением играет модуль внешнего соединения.
-------------------------------------------------------------------------------------------------------------------------
1.1 Порядок установки COM-соединения
Для организации доступа к данным 1С:Предприятия 8.0 через COM -соединение, выполняется следующая последовательность действий:
создается COM -объект с идентификатором V8.COMConnector , с помощью которого производится установка соединения;
производится обращение к методу Connect ранее созданного объекта V8.COMConnector . Метод Connect возвращает ссылку на объект COM -соединения с информационной базой 1С:Предприятия 8.0;
через полученный объект COM -соединения производится обращение к допустимым методам, свойствам и объектам информационной базы, с которой установлено соединение.
Важно! В связи с отсутствием пользовательского интерфейса в COM-соеденении не все объекты, а также свойства и методы можно использовать в COM -соединении.
Объекты 1С:Предприятия, доступные извне через COM -соединение:
Экспортируемые переменные и процедуры/функции модуля внешнего соединения
Экспортируемые переменные и процедуры/функции общих модулей
Включение и исключение модулей целиком с помощью установки свойств общих модулей
Включение и исключение фрагментов общих модулей с помощью препроцессора
Глобальный контекст 1С:Предприятия 8.0, за исключением объектов, жестко связанных с клиентским приложением (ТекстовыйДокумент, ТабличныйДокумент, ...)
-------------------------------------------------------------------------------------------------------------------------
1.2 Модуль внешнего соединения
Как уже отмечалось обязанности модуля приложения при работе через COM -соединение, выполняет модуль внешнего соединения. Данный модуль может иметь процедуры-обработчики событий ПриНачалеРаботыСистемы() и ПриЗавершенииРаботыСистемы(), в которых могут быть размещены действия, выполняемые при инициализации и завершении соединения, соответственно.
Процедуры, функции и глобальные переменные, определенные в модуле внешнего соединения с ключевым словом Экспорт становятся, как и в случае модуля приложения, частью глобального контекста.
-------------------------------------------------------------------------------------------------------------------------
1.3 Общие модули
Для общих модулей введены свойства "Клиент", "Сервер" и "ВнешнееСоединение". Они предназначены для определения в конфигурации использования модулей в клиент - серверном варианте и в режиме COM -соединения.
1.4 Объект "V8.COMConnector"
Единственная задача, решаемая COM -объектом V8.COMConnector – установка COM -соединения с информационной базой 1С:Предприятия 8.0. С помощью одного экземпляра объекта V8.COMConnector может быть установлено неограниченное число соединений. Объект V8.COMConnector имеет один-единственный метод Connect , предназначенный для установки COM -соединения с информационной базой 1С:Предприятия 8.0.
<СтрокаСоединенияИБ>
Строка соединения с ИБ представляет собой цепочку фрагментов вида Параметр=Значение. Фрагменты отделяются друг от друга символами ';'. Если значение содержит пробельные символы, то оно должно быть заключено в двойные кавычки (").
Общие параметры:
Usr - имя пользователя;
Pwd - пароль.
Для файлового варианта определен параметр:
File - каталог информационной базы.
Для клиент-серверного варианта определены параметры:
Srvr - имя сервера 1С:Предприятия;
Ref - имя информационной базы на сервере.
Метод Connect возвращает ссылку на созданный объект COM -соединения.
Метод Connect устанавливает COM -соединение с информационной базой 1С:Предприятия 8.0 и возвращает ссылку на объект COM -соединение.
Пример:
// Создается объект-коннектор
V8 = Новый COMObject ("V8.COMConnector");
// создается объект COM -соединение
Соединение = V8.Connect ("File=""c:\InfoBases\Trade""; Usr =""Director"";")
тз = Соединение. NewObject ("ТаблицаЗначений");
Представление = Соединение.String(Данные.УникальныйИдентификатор());
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua