|
во внешней ПФ открываю форму, обрабатываю данные и нужно продолжить выполнение процедур ПФ |
☑ |
0
ШурикОвёрт
23.11.22
✎
21:09
|
Вечер добрый, первые попытки в этом вопросе, раньше ПФ сразу формировалась, но теперь есть задача чтобы перед формированием ПФ выводилась произвольная форма, я это реализовал открывается форма владелец потом открываю произвольную форму и через оповещение закрытия возвращаюсь с параметрами в форму владелец, внимание вопрос, как теперь продолжить выполнение формирование печатной формы, понимаю что нужно вызвать экспортную процедуру печать() но как получить параметры которые шли на эту процедуру изначально?
|
|
1
ШурикОвёрт
23.11.22
✎
21:11
|
внешняя ПФ*
|
|
2
RomanYS
23.11.22
✎
21:15
|
(0) БСП или старые конфы на ОФ?
|
|
3
ШурикОвёрт
23.11.22
✎
21:17
|
БСП
|
|
4
ШурикОвёрт
23.11.22
✎
21:24
|
Выполняемаякоманда.Параметры?
|
|
5
ШурикОвёрт
23.11.22
✎
21:26
|
точнее просто "параметры"?
|
|
6
ШурикОвёрт
23.11.22
✎
21:36
|
и код в студию &НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
ТЧ = ЗаполнитьТЗ(ОбъектыНазначенияМассив);
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ИдентификаторКоманды", ИдентификаторКоманды);
ПараметрыФормы.Вставить("ОбъектыНазначенияМассив", ОбъектыНазначенияМассив);
ПараметрыФормы.Вставить("Отчеты", ТЧ);
ОткрытьФорму("ВнешняяОбработка.СчетНаОплатуВнешний.Форма.ФормаВыбора",ПараметрыФормы,,,,,Новый ОписаниеОповещения("ПечатьЗавершение", ЭтаФорма, ОбъектыНазначенияМассив), РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
Если Результат.Печать Тогда
ВыполняемаяКоманда = Параметры;
ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
ПараметрыОткрытия.ИсточникДанных = Параметры.ДополнительнаяОбработкаСсылка;
ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = ВыполняемаяКоманда.ИдентификаторКоманды;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("СтруктураПараметров", Результат);
ОбъектыНазначения = Новый Массив;
ОбъектыНазначения.Добавить(Результат);
//Ссылки на вызвавшие форму объекты
Для каждого ОбъектНазначения Из ВыполняемаяКоманда.ОбъектыНазначения Цикл
ОбъектыНазначения.Добавить(ОбъектНазначения);
КонецЦикла;
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = ОбъектыНазначения;
//Вывод сформированного табличного документа в штатную форму.
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
КонецЕсли;
КонецЕсли;
|
|
7
ШурикОвёрт
23.11.22
✎
21:37
|
пишет печатная форма не доступна, уже хотябы открывает=)
|
|
8
RomanYS
23.11.22
✎
21:39
|
|
|
9
RomanYS
23.11.22
✎
21:41
|
(6) по идее правильный вариант "ОткрытиеФормы", хотя можно конечно и как у тебя открыть форму из клиентского метода
|
|
10
ШурикОвёрт
23.11.22
✎
22:34
|
вроде как гуд, спасибо осталось чуть дошаманить
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший