Как настроить автоматическую печать копии документа с пометкой «КОПИЯ» в 1С?

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет
← На главную

Часто в процессе кадрового делопроизводства или бухгалтерского учета возникает необходимость распечатать не только оригинал приказа или другого документа, но и его копию, на которой четко указано, что это именно «КОПИЯ». Многие пользователи задаются вопросом: существует ли в настройках 1С галочка или опция, позволяющая автоматизировать этот процесс? Давайте разберемся в этом вопросе вместе.

Существует ли типовое решение?

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

Способ №1: Модификация печатной формы через макет

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

При доработке логики печати, мы можем предусмотреть следующий алгоритм действий:

  1. При вызове команды печати программа должна запускать цикл, выполняющий печать дважды.
  2. Для первой итерации выводится стандартный макет.
  3. Для второй итерации в процедуре формирования печатной формы вносится программное изменение: в ячейку макета (например, заголовок) записывается строка «КОПИЯ».

Рассмотрим пример того, как это может выглядеть в программном коде:


Процедура ПечатьКопии(Объект)
    // Формируем оригинал
    ТабДок = СформироватьПечатнуюФорму(Объект, Ложь);
    ТабДок.Напечатать();
    
    // Формируем копию
    ТабДокКопия = СформироватьПечатнуюФорму(Объект, Истина);
    ТабДокКопия.Напечатать();
КонецПроцедуры

Внутри функции СформироватьПечатнуюФорму мы используем параметр ЭтоКопия, который управляет заполнением области макета:


Если ЭтоКопия Тогда
    ОбластьЗаголовок.Параметры.ТекстЗаголовка = "Приказ (КОПИЯ)";
Иначе
    ОбластьЗаголовок.Параметры.ТекстЗаголовка = "Приказ";
КонецЕсли;

Способ №2: Использование дополнительного реквизита

Если вы не хотите сильно менять логику макетов, можно пойти по пути создания дополнительного реквизита в документе. Например, вы можете добавить реквизит с типом «Булево» или «Строка». При активации этого признака в форме документа, при печати будет срабатывать условие, которое программно выводит слово «КОПИЯ» в нужную область.

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

Способ №3: Практичные альтернативы без программирования

Если доработка конфигурации по каким-то причинам невозможна или нецелесообразна, стоит обратить внимание на методы, которые повсеместно используют бухгалтеры и кадровики:

Подводим итоги

Итак, мы проанализировали ситуацию и выяснили, что «волшебной кнопки» в настройках печати 1С нет. Основной вывод нашей работы заключается в следующем:

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

Если нужно простое и быстрое решение: используйте ручной штамп «Копия». Это сэкономит время на разработку и полностью соответствует правилам документооборота.

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

← На главную