Документы и Печать · 10 мин
Как создать бланк в 1С и настроить его вывод на печать
Как создать бланк в 1С: выбор формата, работа с макетом табличного документа, внешние печатные формы, типичные ошибки и проверка результата.
Бланк в 1С — это печатная форма документа или справочника, оформленная по заданному шаблону: счёт, акт, накладная, доверенность, приказ. Создать его можно двумя путями: через макет табличного документа в конфигураторе (для типовых и самописных конфигураций) или через механизм внешних печатных форм в режиме «Предприятие», если конфигурация построена на Библиотеке стандартных подсистем. Выбор зависит от того, есть ли у вас доступ к конфигуратору и снята ли конфигурация с поддержки.
Для большинства пользователей типовых решений (1С:Бухгалтерия, 1С:Управление торговлей, 1С:ЗУП) оптимален второй путь — внешняя печатная форма в формате .epf. Она не требует изменения конфигурации, не нарушает поддержку и легко откатывается. Первый путь — редактирование макета внутри конфигурации — нужен разработчикам и в тех случаях, когда бланк должен быть доступен всем пользователям без дополнительной регистрации.
Ниже разобраны оба способа с конкретными действиями, условиями выбора, проверкой результата и типичными ошибками. Инструкции применимы к платформе 1С:Предприятие 8.3; в более ранних версиях названия пунктов меню могут отличаться, но логика сохраняется.
Определитесь с типом бланка и способом его создания
Перед началом работы ответьте на три вопроса: кто будет пользоваться бланком (один человек или все пользователи базы), есть ли у вас доступ к конфигуратору и право изменения конфигурации, и построена ли конфигурация на БСП — тогда доступен механизм дополнительных печатных форм. От ответов зависит маршрут работы.
Встроенный макет в конфигураторе подходит, когда бланк становится частью решения: его нельзя «потерять», он обновляется вместе с конфигурацией. Внешняя печатная форма подходит для локальных доработок: фирменный бланк с логотипом, нестандартный акт для конкретного клиента, форма под требования контрагента.
Как выбрать способ
Создание макета табличного документа в конфигураторе
Откройте конфигуратор, найдите нужный объект (например, документ «Реализация товаров и услуг»), раскройте ветку «Макеты» и добавьте новый макет с типом «Табличный документ». Задайте осмысленное имя — например, «МакетАктВыполненныхРабот». Откроется редактор, похожий на электронную таблицу: ячейки объединяются, форматируются, содержат текст, параметры и шаблоны.
Ключевой принцип работы с макетом — разбиение на именованные области. Выделите строки шапки, щёлкните правой кнопкой и назначьте область «Шапка»; аналогично создайте области «СтрокаТаблицы» (шаблон одной строки табличной части) и «Подвал». При печати программа будет выводить эти области последовательно: шапку один раз, строку — для каждой позиции документа, подвал — в конце.
Ячейки бывают трёх типов заполнения: «Текст» — статичная надпись; «Параметр» — место подстановки данных, например <НомерДокумента>; «Шаблон» — смесь текста и параметров, например «Акт № [НомерДокумента] от [ДатаДокумента]». Тип задаётся в свойствах ячейки. Ошибка в типе — самая частая причина пустых полей на печати.
- 1Откройте конфигуратор и создайте резервную копию информационной базы
- 2В дереве конфигурации найдите объект, добавьте макет типа «Табличный документ»
- 3Нарисуйте бланк: шапку, табличную часть, подвал с подписями
- 4Разбейте макет на именованные области: Шапка, Строка, Подвал
- 5Настройте тип заполнения ячеек: Текст, Параметр или Шаблон
- 6В модуле менеджера объекта добавьте функцию печати, которая заполняет параметры и выводит области
- 7Обновите конфигурацию базы данных (F7) и проверьте печать на тестовом документе
Программный вывод бланка на печать
Макет сам по себе ничего не печатает — нужна процедура, которая получает макет, заполняет параметры и выводит области в результирующий табличный документ. В управляемых формах код размещают в модуле менеджера объекта: процедура ДобавитьКомандыПечати регистрирует команду, функция печати формирует документ.
Типовая логика функции печати: получить макет методом ПолучитьМакет("ИмяМакета"), в цикле по массиву документов выбрать данные запросом, заполнить параметры области шапки и вывести её методом ТабличныйДокумент.Вывести(ОбластьШапка), затем в цикле по табличной части выводить область строки, в конце — подвал. Между документами вызывайте ВывестиГоризонтальныйРазделительСтраниц(), чтобы каждый бланк начинался с новой страницы.
Проверяйте заполнение обязательных параметров до вывода: если параметр области не заполнен, на печати останется пустое место или угловые скобки. Для числовых и денежных полей используйте Формат() с нужной строкой формата, чтобы суммы выводились с разделителями разрядов и двумя знаками после запятой.
Процедура Печать(МассивОбъектов, ПечатнаяФорма) Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетАкт");
Для Каждого Ссылка Из МассивОбъектов Цикл
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Заполнить(Ссылка);
ТабДок.Вывести(ОбластьШапка);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЦикла;
КонецПроцедурыСоздание внешней печатной формы без изменения конфигурации
Если конфигурация типовая, используйте внешнюю обработку. В конфигураторе создайте новую внешнюю обработку (Файл → Новый → Внешняя обработка), в её модуле объекта опишите функцию СведенияОВнешнейОбработке(), которая возвращает структуру с видом «ПечатнаяФорма», перечнем назначений (для каких документов работает) и списком команд печати. Макет табличного документа добавьте в макеты обработки — дальше логика та же, что у встроенной формы.
Готовый файл .epf подключается в режиме «Предприятие»: раздел «Администрирование» → «Печатные формы, отчеты и обработки» → «Дополнительные отчеты и обработки». Предварительно включите сам механизм флажком в том же разделе. После добавления обработки укажите, для каких документов она доступна, и проверьте, что команда появилась в кнопке «Печать» нужного документа.
Оформление бланка: шрифты, логотип, параметры страницы
Логотип и печать организации вставляются как картинки: в макете выделите ячейку, в свойствах установите тип «Картинка» и загрузите изображение, либо выводите картинку программно через Область.Рисунки. Храните изображения в разумном разрешении — слишком большие файлы раздувают макет и замедляют формирование.
Параметры страницы задаются в свойствах макета или программно у результирующего табличного документа: ориентация (книжная/альбомная), поля, масштаб, автоподбор ширины. Для бланков с плотной шапкой полезно свойство «Повторять при печати строки» — заголовок таблицы будет дублироваться на каждой странице. Проверяйте результат именно в предварительном просмотре печати, а не только на экране: разрывы страниц на экране и на бумаге отличаются.
Проверка результата и типичные ошибки
После создания бланка проверьте его на минимум трёх документах: с одной строкой табличной части, с большим количеством строк (перенос на вторую страницу) и с длинными наименованиями (перенос текста в ячейках). Убедитесь, что итоговые суммы совпадают с документом, даты и номера выводятся в нужном формате, а подписи не «уезжают» на отдельную страницу.
Как проверить результат
Все поля заполнены данными документа
Пустые поля или текст в угловых скобках — параметр не заполнен или имя не совпадает
Строки выводятся все, подвал на последней странице, шапка таблицы повторяется
Часть строк обрезана, подвал на отдельном листе
Кнопка видна всем нужным пользователям в форме документа
Команда есть только у администратора — проверьте назначение обработки и права
Частые вопросы
Можно ли создать бланк в 1С без конфигуратора?
Да, частично. В типовых конфигурациях есть редакторы шаблонов для некоторых форм (например, редактирование макетов в разделе «Администрирование» — «Печатные формы»), а логотип, подписи и реквизиты часто настраиваются в карточке организации. Полноценный новый бланк без конфигуратора создать нельзя — нужен либо конфигуратор, либо готовая внешняя обработка .epf.
Чем внешняя печатная форма лучше изменения макета в конфигурации?
Она не затрагивает конфигурацию: поддержка и автоматические обновления сохраняются, а при ошибке достаточно отключить обработку в списке дополнительных отчетов. Встроенный макет оправдан только в собственных конфигурациях или когда форма должна работать вне механизма БСП.
Почему на печати видны угловые скобки вместо данных?
Это необработанный шаблон: ячейка имеет тип «Шаблон» или «Параметр», но параметр с таким именем не был заполнен в коде. Проверьте, что имена в макете и в процедуре печати совпадают символ в символ, включая регистр букв.
Как вывести сумму прописью в бланке?
Используйте функции работы с числами прописью из общих модулей конфигурации (в типовых — модуль работы с числами прописью БСП). Результат присвойте параметру макета как обычную строку. Самостоятельно писать склонение числительных не нужно.
Бланк печатается обрезанным справа. Что делать?
Проверьте ориентацию страницы (для широких таблиц нужна альбомная), поля и масштаб в свойствах табличного документа. Включите автоподбор ширины страницы или уменьшите ширину колонок макета. Всегда смотрите предварительный просмотр перед отправкой на принтер.
Что важно запомнить
Бланк в 1С — это макет табличного документа с именованными областями и параметрами плюс код, который его заполняет. Для типовых конфигураций используйте внешние печатные формы .epf, для собственных — макеты в конфигураторе. Перед изменениями делайте копию базы, а результат проверяйте в предварительном просмотре на документах разной длины.