Иногда удобно подключиться через COM из одной базы 1С к другой и иметь доступ одновременно к обоим базам. Такой подход можно использовать для обмена данными.
Содержание
Подключение к базе
Для подключения к базе 1С через COM необходимо:
- Создать COM-объект 1С необходимой версии ([ V8 ; V81 ; V82 ; V83 ].COMConnector);
- Подключиться к базе при помощи метода Connect () , указав параметры доступа.
Ниже представлены примеры подключения к серверной и файловой базам:
Примеры обращения к данным другой базы
Методы БСП
В библиотеке стандартных подсистем(БСП) предусмотрены методы для работы с COM-подключениями. Вот некоторые из них:
- ОбщегоНазначенияКлиентСервер . ИмяCOMСоединителя () — возвращает имя COM-класса для работы с 1С:Предприятием через COM-соединение (например, «v83.COMConnector»).
- ОбщегоНазначения . ИдентификаторCOMСоединителя (Знач ИмяCOMСоединителя ) — возвращает CLS >ОбщегоНазначенияКлиентСервер . УстановитьВнешнееСоединениеСБазой ( Параметры ) — устанавливает внешнее соединение с информационной базой по переданным параметрам подключения и возвращает указатель на это соединение.
- СоединенияИБ . ИнформацияОСоединениях ( ПолучатьСтрокуСоединения = Ложь, СообщенияДляЖурналаРегистрации = Неопределено, ПортКластера = 0 ) — возвращает структуру, из которой можно узнать, есть ли в текущий момент COM-соединения с базой.
COMСоединитель = Новый COMОбъект ( ОбщегоНазначенияКлиентСервер . ИмяCOMСоединителя ());
CLS >= ОбщегоНазначения . ИдентификаторCOMСоединителя ( ОбщегоНазначенияКлиентСервер . ИмяCOMСоединителя ());
Результат = ОбщегоНазначенияКлиентСервер . УстановитьВнешнееСоединениеСБазой ( Параметры );
ТекущиеСоединения = СоединенияИБ . ИнформацияОСоединениях (Истина);
Лицензирование
Для каждого COM-соединения расходуется одна лицензия. Лицензии ищутся в следующем порядке:
- локальные клиентские лицензии;
- локальные серверные лицензии;
- сетевые клиентские лицензии;
- клиентские лицензии на сервере 1С:Предприятия или веб-сервере.
Остались вопросы?
Спросите в комментариях к статье.
Подключение к другой базе 1С 8 по COM-соединению — очень полезная вещь. В основном, эта функция необходима для обмена данными между конфигурациями.
Но по каким-то причинам у новичков часто возникают затруднения с этим несложным процессом. Ниже я подскажу способ решения этой проблемы на примере простой задачки.
Поставлена задача:
Из конфигурации «Документооборот» необходимо подключится к базе УПП:
- найти документ по заранее известному коду, допустим «123»;
- получить статус документа;
- если статус изменился, то поменять и в соответствующем документе «документооборота».
Реализация задачи:
Создание подключения к базе 1C по COM
Первым делом необходимо создать подключение к базе 1С 8.3, рассмотрим функцию, которая вернет подключение по ком-объекту к другой базе для файлового режима 1С:
Функция вернет СОМ-объект, с помощью которого можно производить действия с другой базой данных 1С 8.2.
Для клиент-серверного режима строка подключения будет немного отличаться:
Получите 267 видеоуроков по 1С бесплатно:
Если Вы подключаетесь к базе на платформе 1C 8.1, то Вам необходимо использовать не «V82.COMConnector», а «V81.COMConnector».
Найти документ 1С по COM
Для примера, пусть номер нужного документа будет «1234», а наш Документ-объект — «ДокументОбъект»:
Вот и все: мы подключились по COM, получили нужный документ, прочитали его статус и, если он отличается, установили статус нашему документу.
Другие статьи по 1С:
Видеоурок по подключению 1С 8.3 через COM:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Для программного определения строки подключения в которой вы работаете достаточно вызвать функцию
Для файловой базы в параметрах подключение будет с использованием File, для клиент-серверного подключения связка Srvr/Ref.