Печать табличного документа через типовой механизм печати БСП (3.0) ОбщаяФорма.ПечатьДокументов


Для чего нужна: у вас есть табличный документ и вы хотите его вывести точно так же ,как и выводите любую печатную форму, т.е. через форму «Печать документов. Обработка позволяет, используя штатные механизмы печати, выводить любой табличный документ, по такому же механизму.

1. Для вывода на печать используется типовой механизм:

ЭлементКоллекцииДляПечати = Новый Структура;
Для Каждого ИмяКолонки Из УправлениеПечатьюКлиентСервер.ИменаПолейКоллекцииПечатныхФорм() Цикл
ЭлементКоллекцииДляПечати.Вставить(ИмяКолонки);
КонецЦикла;

//эл. коллекции заполняется данными и передается в коллекцию печатных форм

КоллекцияПечатныхФорм = Новый Массив;
КоллекцияПечатныхФорм.Добавить(ЭлементКоллекцииДляПечати);

ПараметрыОткрытия = Новый Структура("КоллекцияПечатныхФорм,ИсточникДанных,ПараметрыПечати");
ПараметрыОткрытия.КоллекцияПечатныхФорм = КоллекцияПечатныхФорм;
ПараметрыОткрытия.ИсточникДанных = КоллекцияПечатныхФорм;
ПараметрыОткрытия.ПараметрыПечати  = ПараметрыПечати;

ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ЭтаФорма, Строка(Новый УникальныйИдентификатор));

а. формируется табличный документ

б. передается через ПараметрыОткрытия

Используются Стандартные Подсистемы 3.0.

Проверялась на БП 3.0.73, ЗУП 3.1.11, УТ 11.4.9, КА 2.4.9

6 Comments

  1. stein13

    а как другие дополнительные параметры из документа (или регистра) подтянуть в печ форму?

    Reply
  2. leosoft

    Ничего не понял. Приведите пример.

    Reply
  3. stein13

    я правильно понимаю, обработка предназначена для того, чтобы «нарисовать» свой макет печатной формы на основании какого либо объекта (справочника, документа)?

    Если да, то каким образом можно вытащить данные из этого объекта (контрагента, номенклатуру и т.д.)?

    Reply
  4. IncomeGroup

    (3) Обработка выводит любой переданный табличный документ через типовую форму «ОбщаяФорма.ПечатьДокументов». Была задача вывести таб. документ не через ТабДок.Показать(), а в так же как она выводится через меню Печать в любом документе, собственно обработка это и делает.

    Reply
  5. IncomeGroup

    У вас есть таб. документ, его нужно показать пользователю, но непросто так, а как и любой другую печатную форму. так что бы можно было удобно распечатать, отправить по почте.

    Reply
  6. AlX0id

    Все чуть проще:

     ТабДок = Чотатам();
    
    КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(«Здесь ваше имя ПФ»);
    КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
    УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм);
    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *