Разработка и Конфигурация · 13 мин
Для чего нужен макет в 1С и как с ним работать
Зачем нужен макет в 1С: печатные формы, табличные документы, схемы компоновки. Виды макетов, настройка, типичные ошибки и проверка результата.
Макет в 1С — это шаблон, который определяет, как данные из информационной базы будут выглядеть при выводе: на печать, на экран или в файл. Без макета программа «знает» данные (номенклатуру, суммы, контрагентов), но не знает, в каком виде их показать пользователю. Макет задаёт структуру документа: где расположить шапку, как оформить таблицу товаров, куда подставить итоги и подписи.
Чаще всего с макетами сталкиваются при работе с печатными формами: счёт на оплату, ТОРГ-12, акт выполненных работ, расходная накладная. Каждая такая форма построена на макете — табличном документе с заранее размеченными областями и параметрами. Когда пользователь нажимает кнопку «Печать», программа берёт макет, заполняет его данными конкретного документа и выводит готовый результат.
Понимание устройства макетов важно не только разработчикам. Бухгалтеру или менеджеру это помогает объяснить, почему печатная форма выглядит именно так и что можно в ней изменить. Администратору — оценить, где заканчивается типовая настройка и начинается доработка конфигурации. Ниже разберём, какие задачи решает макет, какие виды существуют и как безопасно его изменить.
Какие задачи решает макет в 1С
Основная задача макета — отделить данные от их представления. В базе хранятся только значения: дата, номер, список товаров, суммы. Макет описывает, как эти значения оформить: шрифты, границы ячеек, порядок колонок, объединённые ячейки, подписи руководителей. Благодаря такому разделению одни и те же данные можно выводить в разных формах — например, полная накладная для клиента и сокращённая для внутреннего учёта.
Вторая задача — стандартизация. Печатные формы первичных документов должны соответствовать установленным образцам и внутренним требованиям компании. Макет фиксирует утверждённый вид формы: все сотрудники печатают одинаковые документы, а изменения вносятся централизованно, в одном месте конфигурации.
Третья задача — автоматизация заполнения. В макете размещаются параметры (например, НомерДокумента, Контрагент), которые программа заполняет автоматически при формировании. Пользователю не нужно вручную переносить данные в Word или Excel — это снижает количество ошибок и ускоряет выпуск документов.
Виды макетов и где они применяются
В платформе 1С:Предприятие существует несколько типов макетов, и выбор зависит от задачи. Наиболее распространённый — табличный документ: он подходит для печатных форм, потому что позволяет точно разметить ячейки, границы и оформление, как в электронной таблице.
Другие типы решают более специализированные задачи. Схема компоновки данных лежит в основе большинства современных отчётов, макет оформления компоновки управляет внешним видом её результата. Текстовый, HTML- и XML-макеты используются для обменов и выгрузок. Географическая схема и графическая схема применяются в специализированных решениях.
| Тип макета | Основное назначение | Типичный пример |
|---|---|---|
| Табличный документ | Печатные формы документов | Счёт, ТОРГ-12, акт |
| Схема компоновки данных | Источник данных и структура отчётов | Отчёт по продажам |
| Макет оформления компоновки | Внешний вид результата отчёта | Цветовое оформление строк |
| Текстовый / HTML / XML | Выгрузки, обмены, письма | Шаблон письма клиенту |
| Двоичные данные, Active Document | Внешние шаблоны (Word, Excel) | Договор в формате DOCX |
Для большинства прикладных задач — «поправить счёт», «добавить колонку в накладную» — работа идёт именно с табличным документом. Остальные типы встречаются реже и обычно требуют участия разработчика.
Как устроен табличный макет: области и параметры
Табличный макет состоит из именованных областей — фрагментов, которые программа выводит по отдельности. Типовая печатная форма обычно включает области «Шапка», «СтрокаТаблицы» (или «Товар»), «Итого», «Подвал». При формировании документа код последовательно получает области, заполняет их параметры и выводит в итоговый табличный документ.
Внутри ячеек макета находятся три вида содержимого. Статичный текст выводится как есть — например, надпись «Поставщик:». Параметр (в ячейке указано имя, например ПредставлениеПоставщика, а в свойстве ячейки установлено заполнение «Параметр») заменяется значением из базы. Шаблон — комбинация текста и параметров в квадратных скобках, например: Счёт № [Номер] от [Дата].
Понимание этой структуры помогает быстро находить нужное место для правки. Если нужно изменить формулировку в шапке — ищется область «Шапка» и статичный текст. Если добавить новое поле — нужно не только вставить параметр в макет, но и убедиться, что код формирования заполняет его значением.
Найдите статичный текст в нужной области и исправьте его
Проверьте имя параметра в ячейке и его заполнение в модуле формирования
Потребуется добавить параметр в макет и заполнение в процедуре печати
Проверьте имена областей в макете и в вызовах ПолучитьОбласть
Где хранятся макеты и как их найти
Макеты в конфигураторе располагаются в нескольких местах. Общие макеты находятся в ветке «Общие → Макеты» дерева конфигурации — там обычно лежат шаблоны, используемые несколькими объектами. Кроме того, макет может храниться внутри конкретного объекта: у документа «РеализацияТоваровУслуг», справочника или отчёта есть своя вкладка «Макеты».
В типовых конфигурациях печатные формы нередко вынесены во внешние печатные формы или подключаются через механизм дополнительных отчётов и обработок (в режиме предприятия: «Администрирование → Печатные формы, отчёты и обработки»). В этом случае макет находится внутри файла обработки, а не в основной конфигурации.
Простой способ найти нужный макет — посмотреть в модуль менеджера объекта (например, процедуру печати в модуле менеджера документа) и найти вызов вида ПолучитьМакет("ИмяМакета"). По имени макет легко находится через поиск по дереву конфигурации.
- 1Откройте конфигуратор и найдите документ, чья форма печатается
- 2Откройте модуль менеджера объекта и найдите процедуру формирования печатной формы
- 3Найдите вызов ПолучитьМакет и запомните имя макета
- 4Найдите макет в ветке «Общие → Макеты» или во вкладке «Макеты» самого объекта
- 5Откройте макет и сопоставьте области с тем, что видите на печати
Как безопасно изменить макет
Простейшие правки — изменение статичного текста, ширины колонок, шрифта — выполняются прямо в редакторе макета: двойной щелчок по ячейке открывает редактирование текста, свойства ячейки меняются через палитру свойств. Такие изменения не требуют правки кода и относительно безопасны.
Главное правило безопасности: перед изменением сделайте копию. Если конфигурация на поддержке, прямая правка типового макета усложнит обновление — при обновлении изменения могут быть затёрты. Предпочтительные варианты: внешняя печатная форма (макет живёт отдельно от конфигурации) или расширение конфигурации, если оно поддерживает нужный сценарий.
После правки обязательно сформируйте печатную форму на тестовых данных и проверьте результат. Особое внимание — на длинные значения: если название организации или номенклатуры не помещается в ячейку, текст может обрезаться или «ломать» вёрстку. В свойствах ячейки проверьте параметры размещения текста и автовысоту строки.
Как выбрать способ изменения формы
Типичные ошибки при работе с макетами
Самая частая ошибка — добавить параметр в макет, но забыть заполнить его в коде. Форма формируется, но поле остаётся пустым, и пользователь считает, что «программа сломалась». Обратная ситуация: код заполняет параметр, которого нет в макете, — в зависимости от настроек это может вызвать ошибку при формировании.
Вторая группа ошибок связана с областями. Если переименовать область в макете, а вызов ПолучитьОбласть("СтароеИмя") в коде не исправить, печать завершится ошибкой. То же происходит при случайном удалении границ области — именованные области задаются через выделение строк и команду «Именованные области».
Третья типичная проблема — игнорирование реальных данных при проверке. На коротких тестовых значениях форма выглядит идеально, а на рабочих данных длинное наименование контрагента разрушает вёрстку. Проверять нужно на самых «тяжёлых» документах: с длинными названиями, большим числом строк, копейками в суммах.
Проверка результата после изменения макета
После любой правки сформируйте печатную форму минимум на трёх документах: простом (одна строка, короткие названия), типичном и максимально сложном (много строк, длинные наименования). Сравните результат с прежней версией формы — все обязательные реквизиты должны остаться на месте.
Проверьте вывод в разных форматах, если они используются: печать на принтер, сохранение в PDF, отправка по электронной почте. Иногда форма корректно выглядит на экране, но при экспорте в PDF съезжают границы или обрезается текст — это повод настроить параметры страницы макета (поля, ориентацию, масштаб).
Как проверить результат
Каждое поле содержит данные из документа
Пустые поля или имена параметров вместо значений
Текст переносится, строки увеличивают высоту, ничего не обрезано
Текст наезжает на соседние ячейки или исчезает
Шапка таблицы повторяется, итоги на последней странице
Таблица обрывается без итогов, колонтитулы теряются
Файл совпадает с экранной версией
Съехавшие границы, обрезанный текст
Перед правкой макета сфотографируйте или сохраните в PDF текущую версию печатной формы. Это даст эталон для сравнения и упростит разговор с пользователями, если после изменения возникнут вопросы «а как было раньше».
Частые вопросы о макетах в 1С
Можно ли изменить печатную форму без конфигуратора?
Частично да. В типовых конфигурациях макеты внешних печатных форм редактируются в режиме предприятия: форма открывается как табличный документ, и в нём можно править текст и оформление. Также в некоторых решениях есть встроенный редактор макетов в пользовательском режиме. Но добавление новых параметров и изменение логики заполнения всегда требует конфигуратора или доработки обработки.
Чем макет отличается от печатной формы?
Макет — это шаблон, заготовка с разметкой и параметрами. Печатная форма — результат, который получается, когда программа заполняет макет данными конкретного документа. Один макет порождает неограниченное число печатных форм для разных документов.
Почему после обновления конфигурации мои изменения в макете пропали?
Если макет был изменён прямо в типовой конфигурации, при обновлении механизм сравнения мог заменить его версией из поставки. Чтобы этого не происходило, изменения выносят во внешние печатные формы или расширения — они не затрагиваются обновлением основной конфигурации.
Что делать, если при печати появляется ошибка «Область не найдена»?
Ошибка означает, что код обращается к области, которой нет в макете. Откройте макет и проверьте список имён областей (меню «Таблица → Имена → Именованные области»), затем сравните с именами в вызовах ПолучитьОбласть в модуле формирования. Чаще всего причина — переименование области или опечатка в имени.
Можно ли использовать шаблон Word или Excel вместо табличного макета?
Да, платформа поддерживает макеты типа «Двоичные данные» и «Active Document», куда загружаются файлы DOCX или XLSX с закладками-параметрами. Такой подход удобен, когда форму часто правят пользователи, привыкшие к Word. Минус — более сложная настройка и зависимость от установленного офисного пакета при выводе.
Кто должен заниматься правкой макетов — бухгалтер или программист?
Косметические правки (текст, шрифты, ширина колонок) при наличии доступа может делать продвинутый пользователь. Добавление новых полей, изменение областей и логики заполнения — задача разработчика, потому что требует правки кода и понимания структуры данных. Граница простая: если нужно трогать параметры — зовите разработчика.
Что важно запомнить
Макет в 1С — шаблон, отделяющий данные от их оформления: на нём строятся печатные формы и отчёты. Правки делайте на копии, предпочитая внешние печатные формы и расширения прямой правке конфигурации. После изменения проверяйте форму на реальных «тяжёлых» документах и в экспорте в PDF.