Для подключения из 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С_Путь = Эл.Значение;
СтандартнаяОбработка = Ложь;
КонецПроцедуры