|
v7: Из 77 по OLE в другую 77 - получить обратно параметр из обработки |
☑ |
0
dk
13.04.16
✎
13:51
|
Исходные
База1 77
База2 77
Цепляюсь из База1 в база2, запускаю в База2 отчет с переданными параметрами, хочу получить обратно результаты выполнения отчета
БазаТорг = СоздатьОбъект("V77.Application");
ПутьТорг = """******""";
ПользовательТорг = """******""";
ПарольТорг = """********""";
Открыта = БазаТорг.Initialize(БазаТорг.RMTrade,"/d"+ПутьТорг+" /N" + ПользовательТорг+ "/P" +ПарольТорг,"NO_SPLASH_SHOW");
Если Открыта=0 Тогда
Если глПользователь.Автопилот = 1 Тогда
ЗаписьЖурналаРегистрации("Не удалось подключиться к торговой базе!");
Иначе
Предупреждение("Ошибка открытия торговой базы!", 60);
КонецЕсли;
КонецЕсли;
Пар = БазаТорг.CreateObject("СписокЗначений");
//Пар = СоздатьОбъект("СписокЗначений");
Пар.ДобавитьЗначение("D:\Настройки.txt", "Настройки");
Пар.ДобавитьЗначение(ДобавитьМесяц(ВыбДата,-1), "ДатаНач");
Пар.ДобавитьЗначение(ВыбДата, "ДатаКон");
БазаТорг.ОткрытьФормуМодально("Отчет", Пар, "C:\Users\******\Desktop\отчет.ert");
Сообщить(БазаТорг.ValueToStringInternal(Пар));
Проблема
Внутри база2 в обработке параметр переназначается
Форма.Параметр = ВремРезультат;
Я это в отладчике вижу
но в База1 результат отчета не могу получить - в Пар находится начальный список значений
Без оле такая схема работает на других отчетах
|
|
1
dk
13.04.16
✎
13:52
|
можно вернуть результат через временный файл, но интересно почему этот вариант не робит
|
|
2
Serginio1
13.04.16
✎
13:58
|
Так работает
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр)=0 Тогда
Форма.Параметр=Форма.Параметр+" привет из V7";
КонецЕсли;
КонецПроцедуры // ПриОткрытии
И вызов
Ссылка="123";
База1с77.ОткрытьФормуМодально("Отчет",Ссылка,ФайлВнешнейОбработки);
Сообщить(Ссылка);
|
|
3
Serginio1
13.04.16
✎
14:01
|
Я часто использую
пар=Форма.Параметр;
Пар.Установить("Результат",ЧтотоТам);
|
|
4
пипец
13.04.16
✎
14:03
|
ОЛЕ передает число, строку, дату - на этом всйо !
|
|
5
dk
13.04.16
✎
14:04
|
(4) Давай, до свидания! ))
|
|
6
Ёпрст
гуру
13.04.16
✎
14:07
|
(0) пихай в массив, элементом которого будет СЗ
|
|
7
dk
13.04.16
✎
14:46
|
(3) Спб, помогло
Форма.Параметр.ДобавитьЗначение(ВремРезультат, "Результат");
(6) массив не получилось передать - плохой тип переменной
|
|