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