Как изменить заголовок окна отчета на СКД и убрать слово «Отчет»?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

При разработке отчетов на базе системы компоновки данных (СКД) разработчики часто сталкиваются с ситуацией, когда в заголовке открытого окна отображается стандартная системная строка вида «Отчет [ИмяОтчета]» (например, «Отчет Договора»). Попытки изменить наименование через вкладку «Другие настройки» в схеме СКД не приводят к желаемому результату, поскольку этот параметр управляет исключительно текстом внутри сформированного табличного документа.

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

Почему платформа автоматически добавляет слово «Отчет»

Если у отчета нет собственной формы или используется форма по умолчанию со включенным свойством автозаголовка, платформа 1С формирует заголовок окна автоматически по правилу: "Отчет " + СинонимОтчета.

Важно различать два разных уровня настроек:

  1. Настройки схемы компоновки данных (СКД): параметр Заголовок на вкладке «Другие настройки» задает заголовок текстового блока непосредственно в сформированном отчете (табличном документе).
  2. Настройки формы (окна): свойства АвтоЗаголовок и Заголовок в палитре свойств формы управляют текстом в шапке самого окна приложения.

Рассмотрим способы управления заголовком окна отчета.

Способ 1. Настройка свойств формы отчета

Разберем стандартный интерактивный способ переопределения заголовка:

  1. В дереве метаданных конфигурации перейдем к нужному отчету и создадим основную форму отчета (если она еще не была создана).
  2. Откроем редактор формы и выделим корень формы (саму форму).
  3. В палитре свойств найдем свойство АвтоЗаголовок и снимем с него флажок (установим значение Ложь).
  4. В свойстве Заголовок укажем точное наименование, которое должно отображаться в шапке окна (например, Договора).

Способ 2. Программная установка заголовка при открытии

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


Процедура ПриОткрытии()
    // Отключаем автоматический заголовок и задаем свой текст
    ЭтаФорма.АвтоЗаголовок = Ложь;
    ЭтаФорма.Заголовок = "Договора";
КонецПроцедуры

Способ 3. Динамическая смена заголовка при выборе вариантов отчета

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


// Установка заголовка по представлению текущего варианта настройки
ВариантНастройки = СхемаКомпоновкиДанных.ВариантыНастроек.Найти(ИмяВарианта);
Если ВариантНастройки <> Неопределено Тогда
    ЭтаФорма.АвтоЗаголовок = Ложь;
    ЭтаФорма.Заголовок = ВариантНастройки.Представление;
КонецЕсли;

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

← На главную