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

Разработка и Конфигурация · 10 мин

Как изменить заголовок табличного документа в 1С

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

Заголовок табличного документа в 1С — это область макета, которая выводится в начале печатной формы: название документа, номер, дата, реквизиты организации. Изменить его можно двумя путями: отредактировать макет в конфигураторе или переопределить текст программно при формировании документа. Выбор зависит от того, типовая у вас конфигурация или доработанная, и нужно ли менять заголовок постоянно или только в отдельных случаях.

Прежде чем что-то менять, определите, откуда берётся заголовок в вашей печатной форме. В типовых решениях (1С:Бухгалтерия, Управление торговлей, ERP) печатные формы строятся через менеджер печати, и текст заголовка часто формируется в модуле менеджера печати документа, а не лежит статично в макете. В самописных конфигурациях заголовок обычно задан прямо в макете табличного документа.

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

Где искать заголовок: макет, модуль печати или внешняя форма

Откройте конфигуратор и найдите документ, печатную форму которого нужно изменить. В ветке объекта посмотрите раздел «Макеты». Типичные имена макетов печатных форм: «Макет», «МакетПечати», «ПФ_MXL_...» в типовых конфигурациях. Заголовок обычно оформлен как именованная область «Заголовок», «Шапка» или «ЗаголовокТаблицы».

Если в макете вместо текста вы видите параметры в квадратных скобках — например, [ТекстЗаголовка] или [НомерДокумента] — значит, содержимое подставляется из кода. Тогда нужно открыть модуль менеджера документа (процедуры печати) или модуль менеджера печати и найти, где параметру присваивается значение.

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

Маршрут решения

Как выбрать способ изменения

Конфигурация самописная или снята с поддержкиПравьте макет и модуль печати напрямую в конфигураторе
Типовая конфигурация на поддержке, обновляется автоматическиСоздайте внешнюю печатную форму — типовой код не трогайте
Заголовок должен меняться по условию (вид операции, организация)Формируйте текст программно и передавайте в параметр макета
Нужно поправить только статичный текст (название, надпись)Достаточно отредактировать ячейку области заголовка в макете

Изменение заголовка прямо в макете

Это самый простой сценарий, когда текст заголовка статичен. Откройте макет табличного документа двойным щелчком, найдите область заголовка и кликните в нужную ячейку. Текст правится прямо в ячейке или в строке формул.

Обратите внимание на свойство ячейки «Заполнение» (в палитре свойств). Если там стоит «Текст» — содержимое выводится как есть. Если «Параметр» — в ячейке указано имя параметра, и править текст в ячейке бессмысленно: он будет заменён значением из кода. Если «Шаблон» — ячейка содержит смесь текста и параметров в квадратных скобках, например: «Акт № [Номер] от [Дата]».

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

Программное изменение заголовка через параметры макета

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

Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("МакетПечати");

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьЗаголовок.Параметры.ТекстЗаголовка =

"Расходная накладная № " + НомерДокумента + " от " + Формат(ДатаДокумента, "ДЛФ=D");

ОбластьЗаголовок.Параметры.Организация = СсылкаНаДокумент.Организация;

ТабличныйДокумент.Вывести(ОбластьЗаголовок);

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

Если параметра для нужного текста в макете нет, добавьте его: в ячейке макета установите заполнение «Параметр» и укажите имя, затем в коде присвойте значение через ОбластьЗаголовок.Параметры.ИмяПараметра.

Порядок действий при программной правке
  1. 1
    Найдите процедуру печати в модуле менеджера документа или модуле менеджера печати
  2. 2
    Определите, какой параметр отвечает за заголовок (по имени области и параметров в макете)
  3. 3
    Измените формирование текста параметра или добавьте новый параметр
  4. 4
    Сохраните конфигурацию и обновите конфигурацию базы данных
  5. 5
    Сформируйте печатную форму документа и проверьте заголовок
  6. 6
    Проверьте печать документа с другими данными (другой номер, дата, организация)

Изменение заголовка в типовой конфигурации без снятия с поддержки

Правка типового модуля печати приведёт к тому, что при очередном обновлении конфигурации изменения либо будут затёрты, либо заблокируют автоматическое обновление объекта. Поэтому для типовых решений рекомендуется механизм внешних печатных форм.

Создайте внешнюю обработку (.epf) с экспортной функцией СведенияОВнешнейОбработке и процедурой Печать. Внутри скопируйте логику типовой печатной формы и измените формирование заголовка как требуется. Затем подключите обработку через «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки».

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

Заголовок при печати и колонтитулы

Отдельный случай — заголовок, который виден не в теле документа, а на печатной странице: колонтитулы и параметры страницы. У табличного документа есть свойства ВерхнийКолонтитул и НижнийКолонтитул, где можно задать текст, номер страницы, дату вывода. Это делается программно через объект ТабличныйДокумент перед выводом на печать.

ТабличныйДокумент.ВерхнийКолонтитул.ТекстСлева = "Внутренний документ";

ТабличныйДокумент.НижнийКолонтитул.ТекстВЦентре = "Стр. [&НомерСтраницы]";

ТабличныйДокумент.ВерхнийКолонтитул.Выводить = Истина;

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

Если нужно, чтобы шапка табличной части (названия колонок) повторялась на каждой странице, используйте метод ТабличныйДокумент.ПовторятьПриПечатиСтроки, указав область с заголовком таблицы. Это решает задачу «заголовок пропадает со второй страницы» без дублирования области в коде.

Проверка результата и типичные ошибки

После правок сформируйте печатную форму нескольких документов с разными данными: коротким и длинным номером, разными организациями, документом на несколько страниц. Убедитесь, что текст не обрезается, параметры подставляются, переносы строк выглядят корректно.

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

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

Текст заголовка в печатной форме
Норма

Отображается новый текст с корректным номером и датой

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

Старый текст — правили не тот макет или параметр формируется в другом месте

Формирование документа
Норма

Печатная форма открывается без ошибок

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

Ошибка «Область не найдена» или «Параметр не найден» — не совпадают имена в макете и коде

Многостраничная печать
Норма

Шапка таблицы повторяется, колонтитулы на месте

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

Заголовок таблицы есть только на первой странице

Предпросмотр перед печатью
Норма

Текст помещается в ячейку, не обрезан

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

Текст обрезан — увеличьте высоту строки или включите автоперенос

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

Часто задаваемые вопросы

Почему я изменил текст в макете, а заголовок остался прежним?

Чаще всего ячейка имеет заполнение «Параметр» или «Шаблон», и реальный текст подставляется из кода процедуры печати. Найдите в модуле печати присваивание этого параметра и правьте там. Также проверьте, что обновили конфигурацию базы данных после сохранения.

Как вывести в заголовке номер документа без лидирующих нулей?

Преобразуйте номер программно: удалите незначащие нули слева, например циклом с проверкой первого символа, или используйте функции префиксации из типовых общих модулей, если конфигурация типовая. Затем передайте результат в параметр макета.

Можно ли сделать разные заголовки для разных организаций?

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

Как изменить заголовок, не обращаясь к конфигуратору?

Если печатная форма подключена как внешняя обработка — отредактируйте её файл и переподключите. В самом пользовательском режиме табличный документ перед печатью можно править вручную, если включена защита от редактирования — нет, но это разовая правка, при следующем формировании она пропадёт.

Заголовок таблицы есть только на первой странице. Что делать?

Используйте метод ПовторятьПриПечатиСтроки у объекта ТабличныйДокумент, передав область со строками заголовка таблицы. Тогда шапка колонок будет выводиться на каждой странице при печати.

Чем опасна правка заголовка в юридически значимых документах?

Заголовок (название, номер, дата) — обязательные реквизиты первичного документа. Некорректное изменение может сделать акт, накладную или счёт-фактуру неприемлемым для контрагента или проверяющих. Согласуйте формулировки с бухгалтерией и проверьте на тестовых документах до использования в работе.

Итог

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

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