Имя: Пароль:
1C
1С v8
УФ печатная форма с формой
, , , ,
0 APXi
 
27.03.14
08:47
Добрый день.
БП 3.0
Нужна внешняя печатная форма с доп. формой для ввода доп. данных, но чтобы результат формировался в стандартной форме "ПечатьДокументов".
Сделал внешнюю обработку, прописал все процедуры по канонам БСП, команда вида "ОткрытиеФормы", с этим проблем нет, все открывается, форма заполняется и формирует ТД может даже показать, но вот как результат формирования засунуть в стандартную форм "ПечатьДокументов" не пойму.
Пробовал вместо формирования печ. формы вызывать


    МассивОбъектов = новый Массив;    
    Для Каждого Строка из Параметры.ОбъектыНазначения Цикл
         МассивОбъектов.Добавить(Строка);    
    КонецЦикла;
    
    СтандартнаяОбработка = Истина;
    
    ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы(
        МассивОбъектов, СтандартнаяОбработка);
        
    Отказ = Ложь;
    Если СтандартнаяОбработка И Не УправлениеПечатьюКлиент.ПроверитьДокументыПроведены(МассивОбъектов) Тогда
        Отказ = Истина;
    КонецЕсли;
    
    Если Не Отказ Тогда
        ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
        ПараметрыОткрытия.ИсточникДанных     = Параметры.ДополнительнаяОбработкаСсылка;
        ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
        ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = Параметры.ИдентификаторКоманды;
        ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения    = МассивОбъектов;
        
        ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
    КонецЕсли;


Перенес процедуру формирования ТД из модуля формы в модуль объекта, но тогда как получить данные которые были введены на форме?
Вопрос. Как открыть общую форму "ПечатьДокументов" с результатом формирования внешней печатной формы с дополнительной формой ввода данных?
1 APXi
 
27.03.14
09:22
Никто данный вопрос не решал?
В демо БСП тоже не нашел примера такой формы.
2 bedrikd
 
27.03.14
09:23
я использовал УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию
3 APXi
 
27.03.14
09:38
(2) Данная процедура используется в модуле объекта ВПФ в процедуре "Печать", после открытия формы "ПечатьДокументов" из (0)

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт    
    НужноПечататьМакет = УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Заказ");
    Если НужноПечататьМакет Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Заказ",
                            "Доп. печатная форма", СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати));
    КонецЕсли;
КонецПроцедуры

Но т.к. это находится в модуле объекта я не могу получить данные с формы что бы сформировать печатную форму.

Вопрос открыт.
4 toypaul
 
гуру
27.03.14
09:39
ОткрытиеФормы это неправильный вариант. он не вызывает ПечатьДокументов
5 toypaul
 
гуру
27.03.14
09:41
и ВызовКлиентскогоМетода тоже не подойдет. он тоже не вызывает ПечатьДокументов
6 APXi
 
27.03.14
09:43
(4) А как тогда лучше сделать?
7 toypaul
 
гуру
27.03.14
09:46
нужен ВызовСерверногоМетода с модификатором ПечатьMXL это вызовет ПечатьДокументов

придется доработать ПечатьДокументов, чтобы она открыла форму обработки и только потом вызвала то, что вызвает при создании на сервере.

в принципе твой подход тоже годится. даже лучше - меньше изменений. через ПараметрыОткрытия можно передать доп. параметры для печати.
8 APXi
 
27.03.14
09:50
(7) не могу менять конфигурацию, запрещено, еще и базовые есть.
Другого выхода нет?
Может только сделать доп форму в ВПФ в которую выводить результат с выбором копий и кнопкой "Печать"
9 toypaul
 
гуру
27.03.14
09:52
другой выход. открыть форму, сохранить параметры в хранилище, в методе Печать достать параметры из хранлища.
10 APXi
 
27.03.14
09:54
(9) Тоже выход. Попробую. Спасибо!