Пример работы с внешними соединениями используя БСП 1с.
// Возвращает CLSID COM-класса для работы с платформой через COM-соединение.
// Параметры:
// ИмяCOMСоединителя - Строка - имя COM-класса для работы с платформой через COM-соединение.
// Возвращает Строка - строковое представление CLSID.
Результат = ОбщегоНазначения.ИдентификаторCOMСоединителя( ИмяCOMСоединителя);// Возвращает имя COM-класса для работы с платформой через COM-соединение.
Попытка
COMConnector = Новый COMObject( ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // "V83.COMConnector"
Исключение
Информация = ИнформацияОбОшибке();
СтрокаСообщенияОбОшибке = НСтр("ru = 'Не удалось подключится к другой программе: %1'");
Результат.ОшибкаПодключенияКомпоненты = Истина;
Результат.ПодробноеОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтрокаСообщенияОбОшибке, ПодробноеПредставлениеОшибки(Информация));
Результат.КраткоеОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( СтрокаСообщенияОбОшибке, КраткоеПредставлениеОшибки(Информация));
Возврат Результат;
КонецПопытки;// Извлекает из строки соединения с информационной базой параметры подключения и передает параметры в структуру для установки внешнего соединения.
ПараметрыПодключенияИБ = ОбщегоНазначенияКлиентСервер. ПолучитьПараметрыПодключения ИзСтрокиСоединенияИнформационнойБазы( СтрокаСоединенияИнформационнойБазы());
ВариантРаботыИнформационнойБазы = ПараметрыПодключенияИБ. ВариантРаботыИнформационнойБазы;
ИмяИнформационнойБазыНаСервере1СПредприятия = ПараметрыПодключенияИБ. ИмяИнформационнойБазыНаСервере1СПредприятия;
ИмяСервера1СПредприятия = ПараметрыПодключенияИБ.ИмяСервера1СПредприятия;
КаталогИнформационнойБазы = ПараметрыПодключенияИБ.КаталогИнформационнойБазы;// Возвращает шаблон структуры параметров для установки внешнего соединения.
// Параметрам необходимо задать требуемые значения и передать.
// В метод ОбщегоНазначения.УстановитьВнешнееСоединение().
ПараметрыПодключения = ОбщегоНазначенияКлиентСервер. СтруктураПараметровДляУстановкиВнешнегоСоединения();
ПараметрыПодключения.КаталогИнформационнойБазы = СтрРазделить(СтрокаСоединенияИнформационнойБазы(), """")[1];
ПараметрыПодключения.ИмяПользователя = ИмяАдминистратораИнформационнойБазы;
ПараметрыПодключения.ПарольПользователя = ПарольАдминистратораИнформационнойБазы;
Результат = ОбщегоНазначения.УстановитьВнешнееСоединениеСБазой( ПараметрыПодключения);// Устанавливает внешнее соединение с информационной базой по переданным параметрам подключения и возвращает указатель на это соединение.
// Параметры:
// Параметры - Структура - параметры для установки внешнего соединения с информационной базой.
// Свойства см. в функции
// ОбщегоНазначенияКлиентСервер. СтруктураПараметровДляУстановкиВнешнегоСоединения):
// * ВариантРаботыИнформационнойБазы - Число - Вариант работы информационной базы: 0 - файловый; 1 - клиент-серверный;
// * КаталогИнформационнойБазы - Строка - Каталог информационной базы для файлового режима работы;
// * ИмяСервера1СПредприятия - Строка - Имя сервера платформы;
// * ИмяИнформационнойБазыНаСервере1СПредприятия - Строка - Имя информационной базы на сервере платформы;
// * АутентификацияОперационнойСистемы - Булево - Признак аутентификации операционной системы при создании внешнего подключения к информационной базе;
// * ИмяПользователя - Строка - Имя пользователя информационной базы;
// * ПарольПользователя - Строка - Пароль пользователя информационной базы.
// Возвращает Структура -
// * Соединение - COMОбъект, Неопределено - указатель на COM-объект соединения или Неопределено в случае ошибки;
// * КраткоеОписаниеОшибки - Строка - краткое описание ошибки;
// * ПодробноеОписаниеОшибки - Строка - подробное описание ошибки;
// * ОшибкаПодключенияКомпоненты - Булево - флаг ошибки подключения COM.
Результат = ОбщегоНазначенияКлиент. УстановитьВнешнееСоединениеСБазой( Параметры);
ПараметрыПодключения = ОбщегоНазначенияКлиентСервер. СтруктураПараметровДляУстановкиВнешнегоСоединения();
ПараметрыПодключения.КаталогИнформационнойБазы = СтрРазделить( СтрокаСоединенияИнформационнойБазы(), """")[1];
ПараметрыПодключения.ИмяПользователя = ПараметрыРаботыКлиентаПриЗапуске.ИмяТекущегоПользователя;
ПараметрыПодключения.ПарольПользователя = ПарольАдминистратора;
Результат = ОбщегоНазначенияКлиент. УстановитьВнешнееСоединениеСБазой( ПараметрыПодключения);
Если Результат.ОшибкаПодключенияКомпоненты Тогда
ЖурналРегистрацииКлиент. ДобавитьСообщениеДляЖурналаРегистрации(
СобытиеЖурналаРегистрации(), "Ошибка", Результат.ПодробноеОписаниеОшибки, , Истина);
КонецЕсли;
2024-06-19