Каталог решений - Получение в 1С82 списка баз 1С77 на сервере (управляемые формы)

Получение в 1С82 списка баз 1С77 на сервере (управляемые формы)

Получение в 1С82 списка баз 1С77 на сервере (управляемые формы)

В наличии

Получение в 1С82 списка баз 1С77 на сервере (управляемые формы) для подключения к 1С77 через OLE.

Категория:

Описание

Для подключения из 1С82 к 1С77 через OLE необходим путь к базе 1С77. Данный путь можно получить разными способами, как правило, заводится реквизит на форме, где администратор и прописывает данную настройку. Но можно пойти другим путем… Дать пользователю самому выбрать к какой из баз 1С77 подключиться. Базы пользователя 1С77 хранятся в реестре. Если процедуру подключения выполнять на клиенте, то мы получим список баз 1С77 с которыми работает текущий пользователь на локальном компьютере, если же процедуру выполнять в контексте сервера, то мы получим список баз 1С77 которые зарегистрированы у той учетной записи, под которой выполняется служба 1С:Сервер предприятий. Ниже пример кода получения списка баз 1С77 и организация выбора нужной базы.

&НаСервере
Функция ПолучитьСписокБазНаСервере()
 Перем Параметры, Значения, Значение;
 HKCU = 2147483649;
 ПутьКлюча = «Software\1C\1Cv7\7.7\Titles»;
 Reg = ПолучитьCOMОбъект(«winmgmts:{impersonationLevel=impersonate}!\\» +
  ИмяКомпьютера() + «\root\default:StdRegProv»);
 Reg.EnumValues(HKCU, ПутьКлюча, Параметры, Значения);
 Базы1С = Новый Массив;
 Для Каждого Параметр Из Параметры Цикл
  Reg.GetStringValue(HKCU, ПутьКлюча, Параметр, Значение);
  База1С = Новый Массив;
  База1С.Добавить(Параметр);
  База1С.Добавить(Значение);
  Базы1С.Добавить(База1С);
 КонецЦикла;
 
 Возврат Базы1С;
КонецФункции

&НаКлиенте
Процедура База1СНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
 Базы1С = ПолучитьСписокБазНаСервере();
 Элемент.СписокВыбора.Очистить();
 Для Каждого База1С Из Базы1С Цикл
  Элемент.СписокВыбора.Добавить(База1С[0], База1С[1]);
 КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура База1СОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
 Эл = Элемент.СписокВыбора.НайтиПоЗначению(ВыбранноеЗначение);
 Объект.База1С = Эл.Представление;
 Объект.База1С_Путь = Эл.Значение;
 СтандартнаяОбработка = Ложь;
КонецПроцедуры

has been added to your cart:
Оформление заказа