Добавлю свои 5 копеек. У меня список баз фиксирован, да и если использовать ИТЗ, то наверное проще так:
//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии(ФлагВостановленияНастройки)
Если ЗагрузитьВнешнююКомпоненту("1CPP.DLL") = 0 Тогда
Предупреждение("Для работы обработки необходима компонента 1С++!");
Возврат;
КонецЕсли;
Если ФлагВостановленияНастройки = 0 Тогда
НачДата = НачКвартала(ТекущаяДата());
КонДата = КонКвартала(ТекущаяДата());
КонецЕсли;
ТаблицаБаз.НоваяКолонка("ИмяБазы", "Строка",,, "Название БД", 20);
ТаблицаБаз.НоваяКолонка("Путь" , "Строка",,, "Путь", "20");
ТаблицаБаз.НоваяКолонка("Пользователь", "Строка",,,, 10);
ТаблицаБаз.НоваяКолонка("Пароль", "Строка",,,, 10);
ТаблицаБаз.НоваяКолонка("ТипБазы", "Строка",,, "Тип базы", 5);
ЗаполнитьСписокБаз();
ВидимостьРеквизитов();
ИмяФайла = КаталогИБ() + "SpisokBazOSV";
Если ФС.СуществуетФайл(ИмяФайла) = 1 Тогда
ИТЗ = СоздатьОбъект("ИндексированнаяТаблица");
ИТЗ.ИзФайла(ИмяФайла);
ИТЗ.Выгрузить(ТаблицаБаз);
КонецЕсли;
КонецПроцедуры
//******************************************************************************
// Предопределенная процедура
//
Процедура ПриЗакрытии()
ИмяФайла = КаталогИБ() + "SpisokBazOSV";
ИТЗ = СоздатьОбъект("ИндексированнаяТаблица");
ИТЗ.Загрузить(ТаблицаБаз);
ИТЗ.ВФайл(ИмяФайла);
КонецПроцедуры // ПриЗакрытии()
Показать