Документы и Печать · 12 мин
Как изменить печатную форму счета в 1С
Как изменить печатную форму счета в 1С: редактирование макета через конфигуратор и внешние печатные формы, добавление логотипа, реквизитов и проверка результата.
Печатная форма счета на оплату в 1С формируется по макету — шаблону, который определяет расположение реквизитов, таблицы товаров, итогов и подписей. Изменить её можно двумя принципиально разными способами: правкой встроенного макета в конфигураторе или подключением внешней печатной формы. Выбор зависит от того, на поддержке ли конфигурация, есть ли у вас доступ к конфигуратору и как часто обновляется программа.
Самый безопасный путь для типовых конфигураций («Бухгалтерия предприятия», «Управление торговлей», «Управление нашей фирмой») — механизм внешних печатных форм. Он позволяет добавить собственный вариант счета, не снимая конфигурацию с поддержки и не рискуя потерять изменения при обновлении. Правка встроенного макета в конфигураторе даёт больше свободы, но требует осторожности: при обновлении релиза изменённый макет может быть заменён типовым.
Ниже разобраны оба подхода, типичные задачи (логотип, подпись, дополнительные реквизиты, изменение таблицы), а также способы проверить результат до того, как счёт уйдёт контрагенту.
Определите, какой способ редактирования вам подходит
Прежде чем открывать конфигуратор, ответьте на три вопроса. Первый — находится ли конфигурация на полной поддержке: если да, любое изменение встроенного макета потребует снятия объекта с поддержки, что усложнит обновления. Второй — есть ли у вас навыки работы с конфигуратором и языком 1С: внешняя печатная форма тоже требует программирования, но её проще отладить и отключить. Третий — насколько сильно меняется форма: добавление логотипа и пары строк решается просто, а полная переработка структуры счёта — это уже разработка.
Для простых косметических правок в некоторых конфигурациях есть и третий путь — встроенные настройки. Например, логотип и подпись в счёте часто подтягиваются из карточки организации, а состав колонок иногда регулируется настройками печати без всякого программирования. Всегда проверяйте эти возможности первыми.
Как выбрать способ
Проверьте настройки, которые не требуют программирования
Значительная часть «изменений печатной формы» на практике сводится к данным, которые 1С подставляет автоматически. Откройте карточку организации (раздел «Главное → Реквизиты организации» или «Справочники → Организации» в зависимости от конфигурации) и проверьте: полное и сокращённое наименование, ИНН, КПП, юридический адрес, банковские реквизиты. Ошибки в счёте чаще всего происходят именно отсюда, а не из макета.
Логотип и факсимиле в типовых конфигурациях обычно прикрепляются к карточке организации как файлы изображений. Если логотип не выводится на печать, убедитесь, что файл добавлен именно как логотип (а не просто присоединённый файл) и что в используемом макете предусмотрена область для него — не все типовые макеты выводят изображения.
Также посмотрите настройки самой печатной формы: в ряде конфигураций при выводе счёта доступны параметры вроде «выводить коды товаров», «показывать скидку» или выбор между счётом с НДС и без. Эти переключатели решают задачу без единой строки кода.
Изменение макета счета через конфигуратор
Если настройки не решают задачу, откройте конфигуратор. Макет печатной формы счёта в типовых конфигурациях обычно находится в ветке «Общие → Макеты» либо привязан к документу «Счет на оплату покупателю» (вкладка «Макеты»). Имена макетов различаются между конфигурациями и версиями — ищите по словам «Счет», «СчетЗаказ», «ПФ_MXL». Точное расположение проще всего найти через поиск по конфигурации (Ctrl+Shift+F) по фрагменту текста из печатной формы, например по слову «Поставщик» или «Внимание! Оплата данного счета».
Макет в 1С — это табличный документ, разбитый на именованные области: шапка, строка таблицы, подвал, итоги. Ячейки содержат либо фиксированный текст, либо параметры в квадратных скобках (например, [ПредставлениеПоставщика]), либо шаблоны — смесь текста и параметров. Чтобы изменить текст, отредактируйте ячейку. Чтобы добавить поле, которого нет, недостаточно вписать параметр в макет — его нужно ещё и заполнить в программном коде, который формирует печатную форму.
Код формирования счёта в типовых конфигурациях находится в модуле менеджера документа (процедуры вида «Печать», «ДобавитьКомандуПечати», «СформироватьПечатнуюФорму») или в общих модулях печати. Там же формируется запрос к данным и заполняются параметры макета. Добавляя новый параметр, внесите его и в запрос, и в строку заполнения области.
- 1Сделайте резервную копию базы и убедитесь, что пользователи не работают
- 2Откройте конфигуратор, найдите макет счета через глобальный поиск по тексту печатной формы
- 3Сохраните копию исходного макета (экспорт в файл или копия объекта с другим именем)
- 4Внесите изменения в ячейки: текст, параметры, оформление, области
- 5При необходимости дополните модуль менеджера документа новыми параметрами и запросом
- 6Обновите конфигурацию базы данных и проверьте печать на тестовом счете
- 7Сравните результат с исходной формой: итоги, количество строк, переносы страниц
Внешняя печатная форма: безопасная альтернатива
Внешняя печатная форма — это файл с расширением .epf, который подключается к типовой конфигурации без её изменения. Механизм включается в разделе «Администрирование → Печатные формы, отчеты и обработки» флажком «Дополнительные отчеты и обработки». После этого в справочнике дополнительных обработок можно зарегистрировать свой файл, указать, к какому документу он относится, и назначить его вместо типовой формы или рядом с ней.
Создать внешнюю печатную форму проще всего на основе типовой: скопируйте макет и код формирования из конфигурации в новую внешнюю обработку, добавьте обязательную экспортную функцию «СведенияОВнешнейОбработке», которая сообщает 1С название формы, версию и назначение, и измените макет по своей задаче. В интернете и в типовых поставках встречаются готовые шаблоны таких обработок, но любой скачанный файл проверяйте на тестовой базе.
Главное преимущество подхода — устойчивость к обновлениям: типовой релиз не затрагивает внешние обработки. Недостаток — если в новом релизе изменится структура данных документа или состав параметров, внешняя форма может потребовать доработки, и ошибка проявится только при печати.
Сравнение подходов
Подходит для реквизитов, логотипа, подписей. Не требует навыков, но возможности ограничены типовыми настройками
Полный контроль над формой, но требует снятия с поддержки и аккуратности при обновлениях
Не затрагивает конфигурацию и переживает обновления, но требует разработки и контроля совместимости с релизами
Типовые задачи: логотип, подписи, колонки, текст условий
Добавление логотипа в макет делается через картинку в табличном документе: в конфигураторе в макете используйте вставку рисунка или область с типом «Картинка», а в коде заполните её из двоичных данных, хранящихся в карточке организации. Учтите, что крупное изображение увеличит высоту шапки и может сдвинуть разрывы страниц — проверьте печать счёта на несколько страниц.
Изменение состава колонок таблицы (например, добавить артикул или убрать код товара) требует правки трёх областей макета: шапки таблицы, строки и, при наличии, итоговой строки. Ширины колонок должны совпадать во всех трёх областях, иначе таблица «поедет». Если добавляете поле, которого нет в запросе, дополните текст запроса и структуру выборки в модуле формирования.
Текстовые блоки — условия оплаты, примечания, строка «счёт действителен до» — обычно являются фиксированным текстом или шаблоном в области подвала. Их можно править прямо в ячейках. Если текст должен меняться в зависимости от договора или организации, выносите его в параметр и заполняйте в коде, а не зашивайте в макет.
Проверка результата перед отправкой контрагенту
Проверяйте изменённую форму минимум на трёх документах: счёте с одной строкой, счёте с большим количеством строк (чтобы увидеть перенос на вторую страницу) и счёте с длинными наименованиями товаров и контрагента. Именно длинные тексты выявляют проблемы с высотой строк и обрезанием содержимого ячеек.
Используйте предварительный просмотр перед печатью и при необходимости сохраните форму в PDF — так проще сравнить «до» и «после». Сверьте ключевые данные с документом: номер и дату счёта, реквизиты обеих сторон, итоговую сумму, сумму НДС и количество позиций. Печатная форма не пересчитывает документ — она лишь отображает данные, поэтому расхождение сумм почти всегда означает ошибку в запросе или параметрах макета.
Как проверить результат
Совпадают с данными документа
Суммы отличаются или пустые — ошибка в запросе или параметрах
Шапка таблицы повторяется, итоги на последней странице
Таблица обрывается, итоги теряются или дублируются
Текст переносится, строки не обрезаются
Часть текста скрыта или налезает на соседние ячейки
ИНН, КПП, адреса и банк соответствуют карточкам
Устаревшие или пустые реквизиты — проверьте источник данных
Ограничения и когда привлекать специалиста
Самостоятельная правка оправдана, когда речь идёт о тексте, оформлении, логотипе и небольших изменениях состава полей — при условии резервной копии и тестовой проверки. Граница безопасной самостоятельной работы проходит там, где начинается изменение запросов к данным, условного формирования областей и работы с несколькими валютами или единицами измерения: ошибка в этих местах может исказить суммы на официальном документе.
Отдельный случай — конфигурации, где печатные формы формируются через сложные общие механизмы (например, единые процедуры печати для десятков документов). Правка такого кода влияет сразу на множество форм, и без понимания архитектуры легко сломать печать других документов. В такой ситуации внешняя печатная форма или помощь разработчика 1С — более надёжный путь.
Часто задаваемые вопросы
Пропадут ли мои изменения печатной формы при обновлении 1С?
Изменения, внесённые в типовой макет конфигурации, могут быть заменены при обновлении, если объект находится на поддержке — обновление вернёт типовое состояние либо потребует ручного сравнения. Внешние печатные формы (.epf) обновление не затрагивает, поэтому для типовых конфигураций они предпочтительнее.
Можно ли изменить форму счета без конфигуратора?
Частично — да. Реквизиты, логотип и подпись обычно редактируются в карточке организации, а некоторые параметры формы доступны в настройках печати. Полноценное изменение структуры макета без конфигуратора или внешней обработки невозможно.
Как добавить в счет поле, которого нет в типовой форме?
Нужно выполнить три шага: добавить параметр в ячейку макета, дополнить запрос к данным в модуле формирования печатной формы и добавить строку заполнения этого параметра. Если поле отсутствует в самих данных документа, потребуется ещё и реквизит документа либо дополнительный реквизит.
Почему после правки макета на печати пустое место вместо нового поля?
Наиболее частая причина — параметр добавлен в макет, но не заполняется в коде процедуры печати. Вторая причина — имя параметра в макете не совпадает с именем в коде с точностью до символа. Проверьте оба места и убедитесь, что в данных документа это поле вообще заполнено.
Можно ли сделать разные формы счета для разных организаций или договоров?
Да. Внешние печатные формы можно зарегистрировать несколько штук и выбирать нужную при печати, а внутри кода формы — реализовать условия: по организации, договору или виду операции подставлять разные макеты или тексты. Это стандартная практика для компаний с несколькими юрлицами.
Чем отличается макет от печатной формы в 1С?
Макет — это шаблон табличного документа с областями и параметрами, хранящийся в конфигурации. Печатная форма — это результат: конкретный документ, сформированный программой путём заполнения макета данными. Изменяя макет, вы меняете все будущие печатные формы, но не уже выведенные на экран.