COM Соединение

COM соединение служит для установки соединения с другими базами 1С. В этой статье узнаем основы работы с этим классом, как выполнять запросы через COM соединение и разберем несколько примеров.


Оглавление


Для чего нужно COM Соединение?

Этот объект используется для установки соединения с другими базами 1С. Например, Вам нужно сделать выгрузку справочника «Контрагенты» из одной базы, в другую или получить какие либо данные из другой базы 1С. Вы сможете это реализовать при помощи COM Соединения.


COM Соединение

Как создать COM объект?

В начале надо узнать, какая версия 1С у вас, из этого и будем исходить при создании COM объекта.

  • Для 1С 8.2: COMConnector= Новый COMОбъект("V82.COMConnector");
  • Для 1С 8.3: COMConnector= Новый COMОбъект("V83.COMConnector");

Функция ПолучитьПодключение(СтрокаПодключения)
Попытка
//Создаем COM Объект
V83COMConnector= Новый COMОбъект("V83.COMConnector");
//Выполняем подключение к информационной базе
База = V83COMConnector.Connect(СтрокаПодключения);
Возврат База;
Исключение
Сообщить(ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
КонецФункции

Переменная «СтрокаПодключения» может быть двух видов:

  • Вид для файловой базы:

    СтрокаПодключения  = "File = ""C:\База_1С"" ; Usr=""ИмяПользователя""; Pwd=""Пароль"";";

  • Вид для серверной базы:

    СтрокаПодключения = "Srvr=""ИмяСервера""; Ref=""ИмяБазы""; Usr=""ИмяПользователя""; Pwd=""Пароль"";";

В результате выполнения этой функции мы получим COM Объект через который можно обращаться к подключаемой базе.


Примеры работы с COM объектом

Для примера рассмотрим ситуацию, когда нам нужно через COM соединение создать склад:

СтрокаПодключения  = "File = ""C:\База_1С""; Usr=""ИмяПользователя""; Pwd=""Пароль"";";
COMСоединение = ПолучитьПодключение(СтрокаПодключения);
НовыйОбъект = COMСоединение.Справочники.Склады.СоздатьЭлемент();
НовыйОбъект.Наименование = "Новый склад";
НовыйОбъект.ВидСклада = COMСоединение.Перечисления.ВидыСкладов.Оптовый;
НовыйОбъект.Записать();

Обратите внимание что «ВидСклада» мы указали через переменную «COMСоединение».

Так же часто требуется выполнить запрос через COM соединение, разберем пример на основе тех же складов:

Запрос = COMСоединение.NewObject("Запрос");
Запрос.Текст = "ВЫБРАТЬ
|    Склады.Ссылка
|ИЗ
|    Справочник.Склады КАК Склады
|ГДЕ
|    НЕ Склады.ПометкаУдаления";
Результат = Запрос.Выполнить().Выгрузить();

В результате запроса получим таблицу значений со всеми складами, у которых нет пометки на удаление.


Основы принципы работы с COM соединением

  • Все объекты, полученные через COM соединения, имеют тип COMОбъект, из за этого мы можем передать только простые типы, такие как: число. строка, дата, булево.
  • Для того чтобы получить элементы справочников, ссылки на документы и т.д. нужно использовать стандартные функции языка 1С. Например: НайтиПоРеквизиту(); НайтиПоНаименованию(); Выборкой; Запросами и т.д..
  • В результате каждого подключения будет задействована одна лицензия.

Добавить комментарий

Имя