Работа с печатными формами в 1С:Предприятие часто становится головной болью для пользователей, особенно когда документ «не влазит» на страницу или выводится с обрезанными полями. Проблема кроется в неверно настроенной области печати — параметре, который определяет, какая часть макета будет перенесена на бумагу или в PDF. В этой статье разберём все способы корректировки области печати: от стандартных инструментов платформы до ручного редактирования макетов и программного управления через 1С:Enterprise.
Важно понимать, что настройки области печати зависят от трёх ключевых факторов: версии платформы 1С (8.3 или 8.2), типа документа (счёт, накладная, акт) и драйвера принтера. Например, в 1С:Бухгалтерия 3.0 алгоритм настройки печатной формы счёта-фактуры будет отличаться от процесса в 1С:Управление торговлей 11. Мы рассмотрим универсальные методы, применимые к большинству конфигураций, а также укажем на «подводные камни», которые могут возникнуть при работе с нестандартными макетами.
Если вы никогда не сталкивались с редактированием печатных форм, не пугайтесь: большая часть операций выполняется через графический интерфейс без программирования. Однако для сложных случаев (например, динамического изменения области печати в зависимости от количества строк в таблице) потребуется знание языка 1С или помощь разработчика. Готовы разобраться? Начнём с базовых понятий.
Что такое область печати в 1С и почему её нужно настраивать
Область печати — это виртуальный прямоугольник, который определяет границы содержимого документа при выводе на печать. Все элементы макета (текст, таблицы, логотипы), попадающие в эту область, будут напечатаны, а остальные — обрезаны. Проблемы возникают, когда:
- 📄 Документ выводится с «пустыми» полями справа или снизу (область печати меньше реального содержимого).
- 🖨️ Часть текста или таблицы обрезается (область печати не охватывает все элементы).
- 📏 Поля страницы слишком широкие, из-за чего документ растягивается на несколько листов.
- 🔄 При печати в PDF макет «съезжает» или искажается.
В 1С область печати настраивается на двух уровнях:
- Глобальные параметры страницы (поля, ориентация, масштаб) — задаются в настройках принтера или в диалоге печати.
- Локальные настройки макета — редактируются непосредственно в шаблоне печатной формы (через
Конфигураторили1С:Предприятие).
Чаще всего пользователи сталкиваются с необходимостью изменить область печати из-за:
- 📋 Нестандартных размеров бланков (например, А5 вместо А4).
- 📊 Динамического содержимого (количество строк в таблице варьируется).
- 🖼️ Добавления логотипов или водяных знаков, которые «вылезают» за границы.
- 📱 Печати на термопринтерах с ограниченной шириной ленты (например, 58 мм или 80 мм).
Способ 1: Изменение области печати через диалог печати
Самый простой метод — корректировка параметров непосредственно перед выводом документа на печать. Этот способ не требует прав доступа к конфигуратору и подходит для разовых изменений. Алгоритм действий:
- Откройте документ (например, счёт на оплату) и нажмите
Печать → Печать(илиФайл → Печатьв зависимости от конфигурации). - В открывшемся диалоговом окне выберите принтер (или
Microsoft Print to PDFдля сохранения в файл). - Нажмите
Свойства(илиПараметры) рядом с названием принтера. - Перейдите на вкладку
МакетилиБумага/Качество(название зависит от драйвера). - Найдите параметры:
- 📏 Поля (верхнее, нижнее, левое, правое) — уменьшите их, если документ обрезается.
- 🔄 Ориентация (книжная/альбомная).
- 📄 Размер бумаги (А4, А5, пользовательский).
- 🔍 Масштаб (например, 90% для уменьшения макета).
Печать.⚠️ Внимание: Некоторые драйверы принтеров (особенно виртуальных, как CutePDF или Dopdf) игнорируют настройки полей из 1С. В этом случае придётся редактировать макет документа напрямую.
Убедиться, что выбран правильный принтер|
Проверить ориентацию страницы (книжная/альбомная)|
Уменьшить поля до минимальных значений (2-5 мм)|
Отключить опцию "Подогнать под размер страницы"|
Сохранить настройки как профиль (если принтер поддерживает)
-->
Если после изменения параметров документ всё равно печатается некорректно, проблема кроется в самом макете. Переходим к следующему способу.
Способ 2: Редактирование макета печатной формы в 1С
Когда стандартные настройки принтера не помогают, необходимо откорректировать шаблон печатной формы непосредственно в 1С. Этот метод требует прав на редактирование конфигурации (или хотя бы на изменение макетов). Рассмотрим процесс на примере 1С:Бухгалтерия 3.0:
- Откройте документ (например,
Счёт на оплату) и перейдите в режим редактирования макета:Печать → Изменить форму (или "Настроить печатную форму")Если такой опции нет, зайдите через
Все функции → Печатные формы → Редактировать макет. - В открывшемся редакторе вы увидите структуру макета. Область печати обычно выделена пунктирной рамкой или обозначена как
ОбластьПечати. - Чтобы изменить границы:
- 🖱️ Перетащите маркеры рамки мышью (если редактор поддерживает визуальное изменение).
- 📏 Введите точные координаты в свойствах области (например,
Лево=0,Верх=0,Ширина=210,Высота=297для А4 в мм).
Таблица → Свойства → АвтоШиринаКолонок = Истина
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Зарплата и Управление Персоналом) макеты печатных форм защищены от редактирования. В этом случае потребуется:
- Создать копию макета через
Конфигуратор(разделОбщие → Макеты). - Привязать новый макет к документу через
Процедуры и функциимодуля. - 📏 Единицы измерения: в 1С размеры указываются в миллиметрах (1 мм = 1 единица).
- 🔄 Динамический расчёт: высота области должна учитывать не только строки таблицы, но и заголовки, подвалы, отступы.
- 📄 Ограничения принтера: максимальная высота области печати зависит от размера бумаги за вычетом полей.
Как найти скрытые макеты в 1С?
В некоторых конфигурациях макеты печатных форм хранятся не в очевидных местах. Чтобы их найти:
1. Откройте Конфигуратор (Файл → Конфигуратор).
2. Перейдите в Объекты конфигурации → Документы → [ВашДокумент] → Печатные формы.
3. Если макетов нет, проверьте Общие → Макеты или модули объектов (код может генерировать макет динамически).
4. В крайнем случае используйте поиск по тексту: Ctrl+Shift+F → ищите ключевые слова вроде "ПечатнаяФорма" или "Макет".
Для сложных документов (например, актов с большим количеством таблиц) может потребоваться разбиение области печати на несколько страниц. Это делается через свойство РазбиватьПоСтраницам или путём ручного добавления разрывов:
ОбластьПечати.РазбиватьПоСтраницам = Истина;
Способ 3: Программное изменение области печати (для разработчиков)
Если вам нужно динамически менять область печати в зависимости от данных документа (например, увеличивать высоту при большом количестве строк), потребуется редактировать модуль печатной формы. Рассмотрим пример на языке 1С:
Допустим, у нас есть печатная форма счёта, где таблица с товарами может занимать разное количество строк. Чтобы область печати автоматически подстраивалась под содержимое, добавим следующий код в процедуру формирования макета:
Процедура Печать(ТаблицаДокумента)
// Получаем количество строк в таблице товаров
КоличествоСтрок = ТаблицаДокумента.ВысотаТаблицы();
// Рассчитываем высоту области печати (исходя из высоты строки 5 мм)
НоваяВысота = 50 + (КоличествоСтрок * 5); // 50 мм - запас под шапку
// Меняем размер области печати
ОбластьПечати.Высота = НоваяВысота;
// Если высота превышает лимит страницы, включаем разбиение
Если НоваяВысота > 280 Тогда
ОбластьПечати.РазбиватьПоСтраницам = Истина;
КонецЕсли;
КонецПроцедуры
Ключевые моменты:
⚠️ Внимание: При программном изменении области печати учитывайте, что некоторые принтеры (особенно термические) имеют аппаратные ограничения на ширину печати. Например, чековые принтеры с шириной ленты 58 мм не смогут напечатать документ шире 48 мм (с учётом полей). В таких случаях придётся либо уменьшать масштаб, либо адаптировать макет под конкретное устройство.
Если вы не уверены в коде, сначала протестируйте изменения на копии базы. Для этого создайте резервную копию через Администрирование → Выгрузить информационную базу.
Таблица: Стандартные размеры областей печати для разных форматов
При настройке области печати важно учитывать стандартные размеры бумаги и минимальные поля, которые требуются для большинства принтеров. Ниже приведена таблица с рекомендуемыми параметрами:
| Формат бумаги | Ширина (мм) | Высота (мм) | Минимальные поля (мм) | Рекомендуемая область печати (ширина × высота) |
|---|---|---|---|---|
| A4 | 210 | 297 | 5 (со всех сторон) | 200 × 287 |
| A5 | 148 | 210 | 4 (со всех сторон) | 140 × 202 |
| Чековая лента (58 мм) | 58 | — | 2 (слева/справа), 1 (сверху/снизу) | 54 × — |
| Чековая лента (80 мм) | 80 | — | 3 (слева/справа), 2 (сверху/снизу) | 74 × — |
| Конверт C4 | 229 | 324 | 10 (слева), 15 (сверху) | 219 × 309 |
✅ Совет: Если вы печатаете на термопринтере, всегда проверяйте настройки в его драйвере. Например, для принтеров Atol или Штрих-М может потребоваться указать Тип носителя = Чековая лента и отключить опцию Печать графики, если логотип «съезжает».
Распространённые ошибки и их решения
Даже опытные пользователи 1С сталкиваются с типичными проблемами при настройке области печати. Разберём самые частые из них и способы их устранения:
- 🔴 Проблема: Документ обрезается справа, хотя поля установлены минимальные.
Решение: Проверьте ширину колонок таблицы в макете. Если суммарная ширина превышает ширину области печати, включите опциюПереносить по словамили уменьшите шрифт. Также убедитесь, что в настройках принтера не стоит галочкаУменьшить до размера бумаги. - 🔴 Проблема: При печати в PDF документ отображается корректно, но на бумаге «съезжает».
Решение: Это связано с различиями в драйверах виртуального и физического принтеров. Попробуйте:- В настройках физического принтера установите
Режим печати = Точное соответствие размеру. - Сохраните документ в PDF, а затем распечатайте его через Adobe Acrobat Reader с опцией
Реальный размер.
- В настройках физического принтера установите
- 🔴 Проблема: Область печати не сохраняется после изменения.
Решение: Убедитесь, что у вас есть права на редактирование макетов. Если работаете в1С:Предприятие, попробуйте сохранить макет черезКонфигуратор(разделОбщие → Макеты). Также проверьте, не сбрасываются ли настройки из-за обновлений конфигурации. - 🔴 Проблема: При печати на термопринтере текст накладывается друг на друга.
Решение: Уменьшите межстрочный интервал в макете или установите в драйвере принтера опциюКачество печати = Черновое(это увеличит скорость и уменьшит наложение). - Откройте
Панель управления → Устройства и принтеры. - Найдите ваш фискальный регистратор, кликните правой кнопкой →
Настройки печати. - Перейдите на вкладку
Формат чекаи настройте ширину символов (обычно 40 или 48 знаков).
💡 Критическая информация: Если вы работаете с 1С:Розница и печатаете чеки на фискальных регистраторах (например, АТОЛ 90Ф или Штрих-ФР-К), область печати настраивается не в макете, а в драйвере ККТ. Для этого:
Особенности настройки для разных конфигураций 1С
Алгоритм изменения области печати может отличаться в зависимости от конфигурации. Рассмотрим ключевые нюансы для популярных решений:
| Конфигурация | Особенности настройки | Типичные проблемы |
|---|---|---|
| 1С:Бухгалтерия 3.0 |
|
При печати актов обрезается таблица с НДС (решается увеличением высоты области). |
| 1С:Управление торговлей 11 |
|
В накладных не помещаются штрихкоды (нужно уменьшить масштаб или ширину колонок). |
| 1С:Зарплата и Управление Персоналом |
|
При печати расчётных листков обрезается подвал с подписями. |
| 1С:Розница |
|
На термопринтерах съезжает логотип (решается отключением графики в драйвере). |
⚠️ Внимание: В облачных версиях 1С (например, 1С:Фреш) возможности редактирования макетов ограничены. Для изменения области печати может потребоваться:
- Обратиться в техническую поддержку.
- Использовать внешние обработки (если функционал разрешён тарифом).
- Экспортировать документ в
ExcelилиWordи печатать оттуда. - Откройте
Конфигуратор(права администратора). - Перейдите в
Общие → Макеты. - Найдите макеты с именами вроде
ПечатнаяФормаСчётНаОплатуилиШапкаДокумента. - Отредактируйте область печати в каждом макете и сохраните конфигурацию.
- Используйте родной экспорт в PDF из 1С (если поддерживается конфигурацией).
- В настройках виртуального принтера (например, Microsoft Print to PDF) установите
Размер бумаги = А4иПоля = 0 мм. - Печатайте через Adobe Acrobat с опцией
Как изображение. - Условное форматирование в макете (например, проверка имени принтера через
ПолучениеИмениПринтера()). - Несколько версий макета с привязкой к конкретным устройствам.
- Настройки драйвера (например, для термопринтера и лазерного принтера создаются отдельные профили).
- Включите в макете опцию
РазбиватьПоСтраницам = Истина. - Добавьте ручной разрыв страницы через элемент
РазрывСтраницыв нужном месте макета. - Уменьшите масштаб печати в настройках принтера (например, 90%).
- Разбейте документ на два отдельных (например, шапку и таблицу) и печатайте их поочерёдно.
- В файле обработки (расширение
.epfили.erf). - В базе данных в таблице
v8extfiles(для файлового варианта). - В каталоге шаблонов (например,
C:\Program Files\1cv8\tmplts\). - Откройте внешнюю обработку в
Конфигураторе. - Перейдите в раздел
Макеты. - Отредактируйте нужный макет и сохраните обработку.
Перед редактированием макетов в типовой конфигурации обязательно создайте резервную копию. Изменения могут повлиять на обновляемость базы!
FAQ: Частые вопросы по настройке области печати в 1С
Как изменить область печати для всех документов сразу?
Для массового изменения макетов:
⚠️ После массовых изменений проверьте печать всех типов документов — некоторые макеты могут ссылаться на общие шаблоны.
Почему при печати в PDF область печати сдвигается?
Это связано с особенностями виртуальных принтеров. Решения:
Можно ли настроить разные области печати для разных принтеров?
Да, это реализуется через:
Пример кода для динамической смены макета:
Если ТекущийПринтер = "Atol_58мм" Тогда
Макет = ПолучитьМакет("ПечатнаяФормаЧекУзкая");
Иначе
Макет = ПолучитьМакет("ПечатнаяФормаА4");
КонецЕсли;
Как печатать документ на двух страницах, если он не помещается на одну?
Варианты решения:
Где хранятся настройки области печати для внешних печатных форм?
Внешние печатные формы (подключаемые через Дополнения) хранят макеты:
Чтобы изменить область печати: