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