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