Как напечатать два экземпляра документа на одной странице с пунктирной линией отреза в 1С?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При оформлении первичных документов, таких как акт об оказании услуг или товарная накладная, часто возникает задача экономии бумаги. Требуется разместить два экземпляра документа на одном листе формата А4, разделив их наглядной пунктирной линией отреза (часто с символом ножниц), чтобы сотрудникам было удобно разрезать лист ровно пополам.

Разберем, почему эту задачу невозможно решить только стандартными настройками диалога печати 1С, и подробно рассмотрим технические способы реализации такого вывода.

Ограничения стандартного механизма печати 1С

Проанализируем, как работает штатный механизм размещения нескольких страниц на одном листе. В платформе 1С предусмотрено свойство ЭкземпляровНаСтранице, а также системный диалог «Параметры печати», где можно выбрать печать двух страниц на листе. Однако этот механизм лишь пропорционально масштабирует сформированные страницы табличного документа и передает их в подсистему печати операционной системы.

Платформа 1С не добавляет никаких межстраничных декоративных элементов, колонтитулов или линий разреза при автоматическом размещении копий. В конфигурациях на обычных формах (например, «Бухгалтерия предприятия 2.0») также отсутствует возможность редактирования макетов пользователем в режиме «1С:Предприятие» с сохранением результата для будущих формирований. Таким образом, решить задачу «в один клик» через стандартные настройки 1С без программирования невозможно.

Способ 1. Создание внешней печатной формы (ВПФ) или доработка макета

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

Разберем по шагам, как устроен этот алгоритм:

  1. В макет печатной формы добавляется отдельная секция-разделитель (например, Разделитель), состоящая из одной узкой строки.
  2. Для ячеек секции-разделителя настраивается нижняя или верхняя граница с типом линии Пунктир или Штриховая. В центральную ячейку можно поместить текст с символом ножниц, например -- ✂ --------------------------------------.
  3. В коде формирования печатной формы процедура последовательно выводит в один результирующий ТабличныйДокумент секции первого экземпляра, затем секцию-разделитель, после чего секции второго экземпляра.
  4. Для управления размещением на одном листе настраиваются параметры результирующего табличного документа.

Посмотрим на пример программного кода формирования такого табличного документа:


ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АКТ_ДВА_ЭКЗЕМПЛЯРА";

// Настройка параметров для гарантированного размещения на одном листе А4
ТабДокумент.Автомасштаб = Истина;
ТабДокумент.ПоШиринеСтраницы = 1;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

Макет = ПолучитьМакет("Макет");

// 1. Выводим первый экземпляр документа
ВывестиЭкземплярАкта(ТабДокумент, Макет, СсылкаНаДокумент);

// 2. Выводим секцию-разделитель с пунктирной линией
ОбластьРазделитель = Макет.ПолучитьОбласть("Разделитель");
ТабДокумент.Вывести(ОбластьРазделитель);

// 3. Выводим второй экземпляр документа
ВывестиЭкземплярАкта(ТабДокумент, Макет, СсылкаНаДокумент);

Преимущество использования внешней печатной формы (ВПФ) заключается в том, что типовая конфигурация остается на полной поддержке без снятия с замка, а пользователи получают готовый инструмент печати через стандартное меню дополнительных отчетов и обработок.

Способ 2. Настройка параметров драйвера принтера

Если внесение изменений в конфигурацию или подключение ВПФ временно недоступны, рассмотрим аппаратные возможности драйверов печати.

Многие производители офисной техники (HP, Kyocera, Canon, Xerox) внедряют в расширенные версии драйверов (PCL6 / PostScript) функции компоновки страниц (N-Up / «Несколько страниц на листе»):

  1. Откройте свойства принтера в операционной системе или диалог настроек печати перед отправкой документа.
  2. Перейдите на вкладку компоновки макета («Расположение» или «Окончательная обработка»).
  3. Выберите режим печати: 2 страницы на листе.
  4. Найдите параметр Границы страниц (Page Border) или «Разделительная линия». В зависимости от модели принтера драйвер позволяет включить сплошную или пунктирную линию между уменьшенными страницами.

Следует учитывать особенность этого метода: если настройка задана в свойствах принтера по умолчанию, разделительная линия будет выводиться для абсолютно всех документов, отправляемых на печать, включая файлы из сторонних офисных программ.

Резюме

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

← На главную