К статье
Практический материал

Документы и Печать · 10 мин

Как исправить макет в 1С

Как исправить макет печатной формы в 1С: где хранятся макеты, как изменить их в конфигураторе и в режиме предприятия, типичные ошибки и проверка результата.

Макет в 1С — это шаблон, по которому программа формирует печатную форму документа, отчёта или этикетки. Ошибки в макете проявляются по-разному: текст обрезается, поля «наползают» друг на друга, не выводятся нужные реквизиты, ломается таблица или документ печатается не на том листе. Причины тоже разные: макет устарел после обновления конфигурации, его случайно изменили, в данных попали слишком длинные значения или шаблон изначально не рассчитан на ваши условия.

Способ исправления зависит от того, где хранится макет. В типовых конфигурациях макеты печатных форм обычно встроены в конфигурацию и редактируются через конфигуратор, но многие решения поддерживают и пользовательские макеты, которые меняются прямо в режиме «Предприятие» без снятия конфигурации с поддержки. Сначала нужно определить, с каким типом макета вы имеете дело, и только потом вносить правки.

Определите, какой макет нужно исправить

В 1С существует несколько видов макетов, и их нельзя путать. Табличный макет — самый распространённый: он похож на лист Excel и используется для счетов, накладных, актов. Макет СКД (системы компоновки данных) применяется в отчётах. Также встречаются макеты активных документов, графических схем и географических карт, но с ними пользователи сталкиваются редко.

Отдельный случай — внешние печатные формы, подключённые через механизм дополнительных отчётов и обработок. Если печатная форма подключена из файла .epf, встроенный макет конфигурации не используется: править нужно сам файл обработки в конфигураторе. Проверить это можно в разделе «Дополнительные отчеты и обработки» — если ваша форма есть в списке, значит, источник макета именно там.

Форма печатается, но с ошибкамиПроблема в макете или данных

Проверьте, повторяется ли ошибка на другом документе

Кнопка печати выводит не ту формуПодключена внешняя обработка

Откройте список дополнительных отчетов и обработок

Ошибка появилась после обновленияМакет заменён типовым

Сравните текущий макет с копией до обновления

Ошибка только у одного пользователяПерсональные настройки или права

Проверьте печать под другим пользователем

Исправление пользовательского макета в режиме «Предприятие»

Самый безопасный путь — править макет без конфигуратора. В типовых конфигурациях на базе БСП (Библиотека стандартных подсистем) перейдите в «Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм». Откроется список макетов, сгруппированных по объектам: найдите нужный документ и его печатную форму.

Откройте макет двойным щелчком — он загрузится в табличный редактор, похожий на Excel. Здесь можно менять текст, шрифты, границы ячеек, ширину колонок и высоту строк. Параметры в макете выглядят как имена в квадратных скобках или угловых скобках, например [НомерДокумента] — их не переименовывайте, иначе программа не сможет подставить данные.

Порядок действий в режиме «Предприятие»
  1. 1
    Откройте «Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм»
  2. 2
    Найдите нужный макет и перед правкой сохраните его копию на диск кнопкой экспорта
  3. 3
    Внесите изменения в табличном редакторе, не трогая имена параметров
  4. 4
    Сохраните макет и сформируйте печатную форму на тестовом документе
  5. 5
    Проверьте форму на документе с длинным наименованием контрагента и большой табличной частью

После сохранения пользовательский макет начинает использоваться вместо типового. Это удобно, но имеет обратную сторону: при обновлении конфигурации типовой макет может измениться, а ваша версия останется старой. Если после обновления форма начала работать с ошибками, первым делом попробуйте вернуться к типовому макету кнопкой «Использовать стандартный макет» — часто это сразу решает проблему.

Исправление макета в конфигураторе

Если макет встроен в конфигурацию и пользовательского редактирования не предусмотрено, потребуется конфигуратор. Откройте нужную информационную базу в режиме «Конфигуратор», найдите объект в дереве метаданных: для печатной формы документа это «Документы — ИмяДокумента — Макеты», для общих форм — «Общие — Общие макеты».

Двойной щелчок по макету открывает табличный редактор. Обратите внимание на области макета — горизонтальные полосы с именами слева (Шапка, Строка, Подвал). Модуль печати обращается к областям по именам, поэтому удалять или переименовывать области нельзя, если вы не готовы править и код. Ячейки с параметрами имеют свойство «Заполнение = Параметр» — проверить его можно через палитру свойств.

После правки обновите конфигурацию базы данных (F7) и проверьте печать. Если макет используется в управляемом приложении, помните, что изменения видны всем пользователям сразу — на рабочей базе правки лучше тестировать в копии.

Исправление макета отчёта на СКД

Отчёты на системе компоновки данных хранят макет иначе: оформление задаётся не табличным шаблоном, а настройками отчёта. Если отчёт выводится криво — съехали колонки, нет итогов, лишние группировки — сначала откройте «Ещё — Изменить вариант» или кнопку настроек в самом отчёте. Часто проблема решается правкой структуры: удалением лишней группировки или изменением порядка полей.

Если нужен полностью свой внешний вид, в конфигураторе у отчёта можно создать собственный макет СКД с именованными областями и привязкой полей. Это уже задача уровня разработчика: ошибки в макете СКД приводят к тому, что отчёт либо не формируется, либо выводит пустые значения.

Типичные проблемы макетов и их решения

Обрезанный текст в ячейке — следствие фиксированной высоты строки. В табличном редакторе выделите строку и в свойствах установите автоподбор высоты или увеличьте высоту вручную. Если текст длинный, проверьте свойство ячейки «Размещение текста»: значение «Переносить» позволит вывести содержимое в несколько строк.

Форма не помещается на лист — настройте параметры страницы. В конфигураторе это делается через «Макет — Параметры страницы» (ориентация, поля, масштаб), в режиме «Предприятие» — через предварительный просмотр и настройки печати. Также проверьте, не задана ли у макета фиксированная ширина колонок, превышающая ширину листа.

Пустые значения вместо данных означают, что параметр в макете назван иначе, чем в коде, или запрос не заполняет это поле. Сравните имя параметра в ячейке с тем, что передаётся из модуля. Если правили только макет, а код не трогали — восстановите исходное имя параметра.

Типичные ошибки
01
Переименование параметра в макете — печатная форма выводит пустые значения, потому что код заполняет старое имя
02
Удаление области макета — модуль печати завершается с ошибкой «область не найдена»
03
Правка макета без копии — после неудачного изменения нечего откатить
04
Редактирование типового макета в конфигураторе при наличии механизма пользовательских макетов — лишнее снятие с поддержки
05
Забытый пользовательский макет после обновления — форма работает по старому шаблону и конфликтует с новым кодом

Проверка результата после исправления

Одного визуального просмотра недостаточно. Сформируйте печатную форму минимум на двух документах: обычном и «экстремальном» — с длинными наименованиями, большим числом строк и максимальным количеством знаков после запятой. Именно на таких данных всплывают проблемы с переносом текста и высотой строк.

Проверьте печать на принтере или хотя бы в предварительном просмотре с реальным размером листа: макет, который хорошо выглядит на экране, может разъезжаться при печати из-за полей и масштаба. Если формой пользуются несколько сотрудников, убедитесь, что результат одинаков у всех — различия укажут на персональные настройки или локальный файл макета.

Контрольные точки

Как проверить результат

Заполнение данных
Норма

Все поля выводятся, значения соответствуют документу

Тревожный признак

Пустые ячейки или текст вида <ИмяПараметра>

Вёрстка
Норма

Текст не обрезан, таблица не выходит за поля листа

Тревожный признак

Обрезанные строки, наложение текста, лишние пустые страницы

Стабильность
Норма

Форма корректна на разных документах и у разных пользователей

Тревожный признак

Ошибка только на длинных данных или у отдельных сотрудников

Итог

Что важно запомнить

Сначала определите тип макета и место его хранения, затем правьте: пользовательский — в режиме «Предприятие», встроенный — в конфигураторе. Не меняйте имена параметров и областей, делайте копии перед правкой и проверяйте результат на документах с длинными данными.

Частые вопросы

Можно ли исправить макет без конфигуратора?

Да, если конфигурация построена на БСП: пользовательские макеты редактируются в разделе «Администрирование — Макеты печатных форм» прямо в режиме «Предприятие». Это предпочтительный способ, так как он не затрагивает поддержку конфигурации.

После обновления конфигурации печатная форма сломалась. Что делать?

Сначала проверьте, не используется ли пользовательский макет: вернитесь к стандартному и сравните результат. Если форма типовая и ошибка в ней — проверьте наличие исправлений в следующих релизах или подключите временную внешнюю печатную форму.

Как вернуть исходный макет, если правки всё испортили?

Для пользовательского макета нажмите «Использовать стандартный макет» — типовая версия восстановится из конфигурации. Для макета, изменённого в конфигураторе, потребуется загрузка макета из файла поставки или из резервной копии базы.

Почему в макете текст на месте, а при печати ячейка пустая?

Обычно имя параметра в ячейке не совпадает с именем, которое передаёт код модуля печати, либо свойство «Заполнение» ячейки сброшено. Откройте палитру свойств ячейки и сверьте параметр с модулем печати.

Как изменить макет внешней печатной формы (.epf)?

Откройте файл обработки в конфигураторе через «Файл — Открыть», найдите макет в структуре обработки, внесите правки и сохраните файл. Затем замените обработку в списке дополнительных отчётов и обработок или просто перезапишите файл, если он подключён по пути.

Влияет ли правка макета на другие документы?

Макет привязан к конкретному объекту и печатной форме, поэтому правка затрагивает только её. Исключение — общие макеты в ветке «Общие — Общие макеты»: они могут использоваться несколькими объектами, и изменение отразится на всех формах, которые к ним обращаются.