Приклад роботи з зовнішніми з'єднаннями використовуючи БСП 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