Имя: Пароль:
1C
1С v8
Печать на Упр формах
0 art93
 
03.08.15
14:17
Создал с нуля документ и форму, макет.
Код для печати.Прописанный в Модуле менеджера. Подскажите ещё что нужно прописать и где?
(один из вопросов Нужно ли добавлять ПодменюПечати в форме?)
Заранее спасибо

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    
        КомандаПечати = КомандыПечати.Добавить();
        КомандаПечати.Идентификатор = "ПФ_ЗаказНаСопровождение";
        КомандаПечати.Представление = НСтр("ru = 'Заказ на сопровождение'");
        КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
        КомандаПечати.Порядок = 10;
        
КонецПроцедуры

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

Функция СформироватьПечатнуюФормуЗаказНаСопровождение(МассивОбъектов, ОбъектыПечати, КомплектыПечати)
    
    УстановитьПривилегированныйРежим(Истина);
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказНаСопровождение_ПФ_ЗаказНаСопровождение";        
    Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаказНаСопровождение.ПФ_ЗаказНаСопровождение");
    НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
    
    Область = Макет.ПолучитьОбласть("Шапка");
    сслыкаНаДок = МассивОбъектов[0];
    Контрагент= сслыкаНаДок.Контрагент;
    КонтактноеЛицоКонтрагента= сслыкаНаДок.КонтактноеЛицоКонтрагента;
    Номер = сслыкаНаДок.Номер;
    Дата  = Формат(Дата,"ДФ=dd.MM.yyyy");
    Автор   = сслыкаНаДок.Ответственный.Наименование;
    ДатаПередачи = Формат(сслыкаНаДок.ДатаПередачиИсполнителю,"ДФ=dd.MM.yyyy");
    ТабличныйДокумент.Вывести(Область);

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