К статье
Практический материал

Документы и Печать · 9 мин

Как настроить печать двух актов на одной странице в 1С

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

Задача вывести два акта на одном листе возникает, когда документ короткий — например, акт выполненных работ на пару строк — и половина страницы остаётся пустой. Это увеличивает расход бумаги и время подписания. В 1С проблема решается несколькими способами: от простой настройки принтера до доработки макета печатной формы.

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

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

Способ 1: печать двух страниц на одном листе через настройки принтера

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

Порядок действий: откройте акт в 1С, нажмите «Печать» и в диалоге печати перейдите к свойствам принтера. В большинстве драйверов (HP, Canon, Kyocera и др.) есть параметр «Страниц на листе» или «Pages per sheet». Установите значение 2. Принтер уменьшит изображение и разместит две страницы на одном листе — как правило, в альбомной ориентации.

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

Способ 2: вывод двух экземпляров акта в одном табличном документе

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

В типовых конфигурациях процедура печати акта обычно находится в модуле менеджера документа (например, «АктВыполненныхРабот») или в общем модуле печати. Внутри процедуры есть цикл по документам, где макет выводится в табличный документ, после чего вызывается ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц().

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

bsl
Для НомерЭкземпляра = 1 По 2 Цикл
    ТабличныйДокумент.Вывести(ОбластьШапка);
    ТабличныйДокумент.Вывести(ОбластьСтроки);
    ТабличныйДокумент.Вывести(ОбластьПодвал);
КонецЦикла;
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

После такой доработки проверьте высоту: если один экземпляр акта занимает больше половины листа А4, вторая копия «уедет» на следующую страницу. В этом случае макет нужно сначала ужать — об этом следующий раздел.

Как уменьшить высоту макета, чтобы акт помещался дважды

Макет печатной формы хранится в конфигурации: для типовых решений это макет документа или общий макет (например, «МакетАкта», «ПФ_MXL_Акт»). Откройте конфигуратор, найдите макет и оцените его высоту. На листе А4 с полями по 10 мм помещается примерно 270 мм полезной высоты, то есть каждый экземпляр должен занимать не более ~130 мм.

Что можно сократить без потери смысла: уменьшить высоту пустых строк-отступов, убрать дублирующие надписи, сократить блок подписей (оставить по одной строке на подпись вместо двух-трёх), уменьшить шрифт с 10–12 до 8–9 пунктов, сузить межстрочные интервалы в свойствах ячеек макета.

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

Способ 3: внешняя печатная форма без изменения конфигурации

Если конфигурация находится на полной поддержке или изменять её нельзя по политике компании, используйте механизм внешних печатных форм. В типовых конфигурациях он доступен через «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки».

Внешняя печатная форма — это файл .epf с собственным макетом и модулем, в котором вы реализуете вывод двух экземпляров на страницу. Конфигурация при этом не меняется, обновления проходят штатно, а новая кнопка печати появляется в документе рядом со стандартными.

Порядок создания внешней печатной формы
  1. 1
    Создайте в конфигураторе новую внешнюю обработку и добавьте в неё макет табличного документа
  2. 2
    Скопируйте в макет области типового акта и уменьшите их высоту до половины страницы
  3. 3
    В модуле обработки реализуйте функцию Печать(), выводящую макет дважды без разрыва страницы
  4. 4
    Зарегистрируйте обработку через «Дополнительные отчеты и обработки», указав документ «Акт» как объект назначения
  5. 5
    Откройте акт, нажмите «Печать» и проверьте, что оба экземпляра помещаются на одном листе

Минус подхода — разработка требует навыков программирования на встроенном языке 1С. Если таких навыков нет, задачу лучше поручить специалисту: типовая доработка такого рода занимает у опытного разработчика немного времени.

Настройка полей и ориентации страницы

Независимо от выбранного способа проверьте параметры страницы табличного документа. В 1С они задаются программно (свойства ТабличныйДокумент.ПолеСверху, ПолеСнизу и т.д.) или в диалоге «Файл → Параметры страницы» при предпросмотре.

Для размещения двух актов вертикально один под другим используйте книжную ориентацию и поля 8–10 мм. Слишком большие поля «съедают» высоту, и второй экземпляр перестаёт помещаться. Если акты размещаются бок о бок (редкий вариант для узких форм), потребуется альбомная ориентация.

Контрольные точки

Как проверить результат

Предпросмотр перед печатью
Норма

На одной странице видны два полных акта с подписями

Тревожный признак

Второй акт обрезан или перенесён на следующий лист

Читаемость текста
Норма

Шрифт не меньше 7–8 пунктов, реквизиты различимы

Тревожный признак

Текст мелкий, подписи сливаются

Разрыв между документами
Норма

Разные документы начинаются с новой страницы

Тревожный признак

Акт другого документа допечатался на тот же лист

Типичные ошибки и как их избежать

Чаще всего проблемы возникают не с самим выводом, а с деталями: обрезанный низ второго акта, «плавающий» результат на разных принтерах, смешение экземпляров разных документов на одном листе. Большинство из них ловится простым предпросмотром перед отправкой на печать.

Типичные ошибки
01
Убрали разделитель страниц полностью — акты разных документов печатаются вперемешку на одном листе; разделитель должен остаться между документами
02
Не учли высоту табличной части — при большом числе строк второй экземпляр обрывается; добавьте проверку количества строк
03
Изменили типовой макет без копии — после обновления конфигурации доработка затёрлась; используйте расширение или внешнюю печатную форму
04
Ориентируются на экран, а не на печать — на предпросмотре всё помещается, а принтер обрезает низ из-за непечатаемой области; проверяйте пробным листом

Часто задаваемые вопросы

Можно ли напечатать два разных акта на одной странице?

Штатно — нет: механизмы печати 1С формируют отдельный табличный документ на каждый документ и разделяют их разрывом страницы. Теоретически это реализуется программно, объединяя вывод двух документов в один табличный документ, но на практике так делают редко: документы с разными номерами на одном листе неудобно подшивать и подписывать.

Разрешено ли печатать акт в уменьшенном виде — не возникнет ли проблем с контрагентами?

Законодательство не регламентирует размер шрифта первичных документов, но текст должен быть читаемым, а все обязательные реквизиты — присутствовать. На практике шрифт меньше 7 пунктов и обрезанные подписи часто вызывают вопросы у контрагентов и проверяющих, поэтому чрезмерно уменьшать форму не стоит.

Сохранится ли доработанная печатная форма после обновления конфигурации?

Если вы изменили типовой макет напрямую в конфигурации — скорее всего, нет: при обновлении типовые объекты заменяются. Чтобы доработка переживала обновления, реализуйте её через расширение конфигурации или как внешнюю печатную форму.

Почему на предпросмотре два акта помещаются, а принтер печатает их на разных листах?

У принтеров есть непечатаемая область по краям листа, обычно 3–5 мм. Если поля табличного документа заданы меньше этого значения, реальная высота страницы уменьшается и низ второго акта уходит на следующий лист. Увеличьте нижнее поле до 10–12 мм и повторите печать.

Нужно ли программирование, чтобы поставить два акта на страницу?

Для разовой задачи — нет: достаточно настройки «2 страницы на листе» в драйвере принтера. Для постоянного и аккуратного решения с двумя экземплярами на листе потребуется доработка макета и модуля печати, то есть базовые навыки работы в конфигураторе или помощь специалиста.

Как вернуть стандартную печать, если доработка не подошла?

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

Итог

Что важно запомнить

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