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 Тогда
Сообщить("Косяк выполнения");
КонецЕсли;
//ДокумОбъект = База.Документы.Получить(ВидДока).СоздатьДокумент();
Сообщить("Документ " + ДокумОбъект);
ДокумОбъект.Дата = ТекущаяДата();
ДокумОбъект.УстановитьВремя();
ДокумОбъект.УстановитьНовыйНомер();
ДокумОбъект.Записать();
КонецПроцедуры
|
|