Пример подключения к информационной базе через COMConnector
Интеграция - Внешние источники данных
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
общий концепт подключения такой, если кому нужен только механизм
СтрокаПодключения = "";
Если Не АутентификацияWindows Тогда
Если НЕ ПустаяСтрока(Пользователь) Тогда
СтрокаПодключения = СтрокаПодключения + ";Usr = """ + Пользователь + """";
КонецЕсли;
Если НЕ ПустаяСтрока(Пароль) Тогда
СтрокаПодключения = СтрокаПодключения + ";Pwd = """ + Пароль + """";
КонецЕсли;
КонецЕсли;
СтрокаПодключения = СтрокаПодключения + ";";
//V8 или V81 или V83
ВерсияПлатформы = "V83";
Попытка
ProgID = ВерсияПлатформы +".COMConnector";
COMПодключение = Новый COMОбъект(ProgID);
COMОбъект = COMПодключение.Connect(СтрокаПодключения);
Исключение
СтрокаСообщенияОбОшибке = "При попытке соединения с COM-сервером произошла ошибка:" + Символы.ПС
+ ОписаниеОшибки();
Сообщить(СтрокаСообщенияОбОшибке);
Возврат Неопределено;
КонецПопытки;
Возврат COMОбъект;
далее можно работать с данными подключенной базы, для примера обход документов и запрос по одному из них.
ОбъектПодключения = ПодключитсяКИнформационнойБазе();
Если НЕ ОбъектПодключения = Неопределено Тогда
Сообщить("Подключение выполнено! " + ТекущаяДата());
Для Каждого ЭлМетаданных ИЗ ОбъектПодключения.Метаданные.Документы Цикл
Запрос = ОбъектПодключения.NewObject("Запрос");
Текст = "ВЫБРАТЬ
| КОЛИЧЕСТВО(*) КАК КоличествоДокументов
|ИЗ
| Документ."+ЭлМетаданных.Имя+" КАК Документ";
Запрос.Текст = Текст;
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ВсегоДокументов = Выборка.КоличествоДокументов;
Сообщить(ЭлМетаданных.Имя + " - " + ВсегоДокументов);
Прервать;
КонецЦикла;
КонецЕсли;
при ошибке "Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3)" не забываем регистрировать библиотеку, через
regsvr32 bin\comcntr.dll
для БСП есть вот такой способ подключения.
БСП, Общий модуль, ОбщегоНазначенияКлиентСервер
Функция УстановитьВнешнееСоединение(Параметры, СтрокаСообщенияОбОшибке = "", ОшибкаПодключенияКомпоненты = Ложь) Экспорт
ps: спасибо комментатору awk
Вступайте в нашу телеграмм-группу Инфостарт