| 2
    
        Vadik_62   21.02.12✎ 17:27 | 
        Процедура ПолучитьСписокИБ() 
 Попытка
 ScrptCtrl=Новый COMObject("MSScriptControl.ScriptControl");
 ScrptCtrl.Language="vbscript";
 ScrptCtrl.AddCode("
 |Function Get1CV77Titles()
 |    const HKEY_CURRENT_USER = &H80000001
 |    Set oReg=GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"")
 |    strKeyPath = ""Software\1C\1Cv7\7.7\Titles""
 |    oReg.EnumValues HKEY_CURRENT_USER, strKeyPath, arrValues
 |    strInfo=vbNullString
 |   Get1CV77Titles = strInfo
 |    On Error Resume Next
 |    For i = LBound(arrValues) To UBound(arrValues)
 |        call oReg.GetStringValue(HKEY_CURRENT_USER,strKeyPath,arrValues(i),Value)
 |        strInfo=strInfo & arrValues(i) & vbTab & Value & vbCrLf
 |    Next
 |     Get1CV77Titles = strInfo
 |End Function
 |");
 Текст=СокрЛП(ScrptCtrl.Run("Get1CV77Titles"));
 Исключение
 Сообщить(ОписаниеОшибки());
 Возврат;
 КонецПопытки;
 
 ТаблицаПути.Очистить();
 
 Если НЕ ЗначениеЗаполнено(Текст) Тогда
 Возврат;
 КонецЕсли;
 
 Для Ном=1 По СтрЧислоСтрок(Текст) Цикл
 СтрБазы=СтрПолучитьСтроку(Текст,Ном);
 Разд=Найти(СтрБазы,Символы.Таб);
 Путь=Лев(СтрБазы,Разд-1);
 Название=Прав(СтрБазы,СтрДлина(СтрБазы)-Разд);
 
 НоваяСтрока = ТаблицаПути.Добавить();
 НоваяСтрока.Имя = Название;
 НоваяСтрока.Путь = Путь;
 КонецЦикла;
 
 ТаблицаПути.Сортировать("Имя");
 
 КонецПроцедуры //ПолучитьСписокИБ
 |  | 
    
        | 4
    
        andrewks   21.02.12✎ 17:32 | 
        параметр ShowIBsAsTree
 
 если тупо лень разбирать - можно в лоб заменить текст
 ",""ShowIBsAsTree"","+Символы.ПС+"{""B"",0}"
 на
 ",""ShowIBsAsTree"","+Символы.ПС+"{""B"",1}"
 
 кодировка utf-8
 |  |