Имя: Пароль:
1C
 
во внешней ПФ открываю форму, обрабатываю данные и нужно продолжить выполнение процедур ПФ
, , ,
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
вроде как гуд, спасибо осталось чуть дошаманить