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