| 0
    
        sanek_kop   26.07.12✎ 13:19 | 
        Столкнулся с такой проблемой. Есть вид документа в переменке ВидДок, необходимо создать документ по ОЛЕ из 7.7 в 8.2 данного вида. Знаю что это делается так База82.Документы[ВидДок].СоздатьДокумент(, но 7.7 ругается на конструкцию Документы[ВидДок]. Есть какие-нибудь варианты, кроме указывания всех документов в конфигурации через "если тогда"?     |  | 
    
        | 1
    
        sanek_kop   26.07.12✎ 15:21 | 
        Нашел ответ своими силами, хотя немного извратный. Если вдруг кто-то столкнется с похожей проблемой. Решил по средствам компоненты RainBow 
 
 Перем База;
 Перем ДокумОбъект;
 //*******************************************
 Процедура Сформировать()
 
 v8 = СоздатьОбъект("V82.ComConnector");
 
 База = v8.Connect("File="""+СокрЛП("D:\base82")+""";Usr=""" + СокрЛП("Юз") + """;Pwd =""" + СокрЛП("Пор")  + """;");
 Если База = 0 Тогда
 Сообщить("Не удалось инициализировать базу бухгалтерии!","!");
 Возврат;
 КонецЕсли;
 
 Если глУстановитьВК("rainbow.dll") = 0 Тогда
 
 //завершим робота...
 Сообщить("Косяк Компоненты!");
 Возврат;
 
 КонецЕсли;
 
 Класс = СоздатьОбъект("ClassContext");
 Класс.AssignContext(Контекст);
 ВидДока    = "ПриходнаяНакладная";
 ДокумОбъект = "";
 КодДляВыполнения    = "ДокумОбъект = База.Документы." + ВидДока + ".СоздатьДокумент();";
 
 Класс.AssignSource(КодДляВыполнения);
 
 Если Класс.Compile() = 0 Тогда
 Сообщить("Косяк компиляции");
 ИначеЕсли Класс.Execute() = 0 Тогда
 Сообщить("Косяк выполнения");
 КонецЕсли;
 
 //ДокумОбъект    = База.Документы.Получить(ВидДока).СоздатьДокумент();
 Сообщить("Документ " + ДокумОбъект);
 
 ДокумОбъект.Дата    = ТекущаяДата();
 ДокумОбъект.УстановитьВремя();
 ДокумОбъект.УстановитьНовыйНомер();
 
 ДокумОбъект.Записать();
 КонецПроцедуры
 |  |