Пакетная печать табличных документов в 1С 8.3

Здравствуйте, дорогие читатели.

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

ПакетОтображаемыхДокументов – это сам пакет, который содержит документы, которые надо напечатать или сохранить в файл, также содержит настройки печати. Для помещения документов в пакет предназначено свойство Состав, представляющее собой объект ЭлементыПакетаОтображаемыхДокументов – коллекцию
объектов ЭлементПакетаОтображаемыхДокументов.

ЭлементПакетаОтображаемыхДокументов – объект, который содержит либо адрес временного хранилища, в котором расположен табличный документ, либо объект ПакетОтображаемыхДокументов, обозначающий вложенный пакет
документов.

Настройки печати устанавливаются для всего пакета, индивидуальные настройки печати документов игнорируются.
Для доступны следующие настройки КоличествоЭкземпляров, РазборПоКопиям, ИмяПринтера, ДвусторонняяПечать, ТочностьПечати, Вывод.

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

Рассмотрим пример:

Необходимо распечатать 2 табличных документа, причем первого 3 экземпляра, а второго 2.


Пакет = Новый ПакетОтображаемыхДокументов;
// Документы, находящиеся в этом пакете, печатаются в 3 экземплярах
Пакет.КоличествоЭкземпляров = 3;
// Добавляем документы в пакет
ЭлементПакета1 = Пакет.Состав.Добавить();
ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент, УникальныйИдентификатор);

// Добавляем вложенный пакет для третьего документа
ВложенныйПакет = Новый ПакетОтображаемыхДокументов;
// Документ во вложенном пакете печатается в 2 экземплярах
ВложенныйПакет.КоличествоЭкземпляров = 2;
// Добавляем документ во вложенный пакет
ЭлементВложенногоПакета1 = ВложенныйПакет.Состав.Добавить();
ЭлементВложенногоПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент1, УникальныйИдентификатор);

ЭлементПакета2 = Пакет.Состав.Добавить();
ЭлементПакета2.Данные = ВложенныйПакет;

// Печатаем пакет сразу на принтер
Пакет.Напечатать();

//сохраняем в файл
Пакет.ЗаписатьФайлДляПечати("D:\ПакетнаяПечать.pdf");

Обработку (на управляемых формах) для демонстрации пакетного режима печати можно скачать здесь.

Популярность: 39%

Запись опубликована в рубрике Особенности работы управляемого интерфейса, Платформа 1С с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

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