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

Отчеты и Аналитика · 10 мин

Как установить заголовок отчета СКД в 1С

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

Заголовок отчета, построенного на системе компоновки данных (СКД), выводится не автоматически из названия отчета, а управляется отдельным параметром вывода. Поэтому даже корректно настроенный отчет часто открывается без шапки либо с неподходящим текстом. Ниже разобраны все рабочие способы задать заголовок: в конструкторе настроек, программно и со стороны пользователя.

Под заголовком СКД понимается текст, который выводится в начале результата отчета при включенном параметре «Заголовок». Сам текст берется либо из значения этого параметра, либо из представления отчета/варианта, если значение не задано. Управление выполняется через коллекцию ЗначенияПараметровВывода компоновщика настроек.

Где в СКД хранится заголовок и как он выводится

В схеме компоновки данных заголовок не является отдельным полем макета. Это параметр вывода с именем Title (в русском интерфейсе — «Заголовок»), который присутствует в настройках отчета по умолчанию. Когда параметр включен, компоновщик выводит его значение в начало табличного документа результата.

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

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

Установка заголовка в конструкторе настроек СКД

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

Порядок действий в конструкторе
  1. 1
    Откройте отчет в конфигураторе или в режиме «Еще» → «Изменить вариант» в пользовательском режиме
  2. 2
    Перейдите в окно настроек схемы компоновки данных (закладка «Настройки» конструктора)
  3. 3
    Откройте закладку «Другие настройки» внизу окна
  4. 4
    Найдите параметр «Заголовок», установите флажок использования и введите нужный текст
  5. 5
    Сохраните вариант отчета и сформируйте отчет для проверки

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

В пользовательском режиме (если у пользователя есть право изменения вариантов) тот же параметр доступен через расширенные настройки отчета: «Еще» → «Изменить вариант» → «Дополнительные настройки». После сохранения заголовок применится ко всем, кто использует этот вариант.

Программная установка заголовка

Когда текст заголовка должен зависеть от отбора, периода или имени пользователя, его устанавливают кодом. Типичное место — обработчик ПриКомпоновкеРезультата в модуле объекта отчета либо код формы отчета перед формированием.

bsl
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	ПараметрЗаголовок = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок"));
	Если ПараметрЗаголовок <> Неопределено Тогда
		ПараметрЗаголовок.Использование = Истина;
		ПараметрЗаголовок.Значение = "Продажи за " + Формат(ТекущаяДатаСеанса(), "ДЛФ=D");
	КонецЕсли;
КонецПроцедуры

Ключевые моменты кода: параметр ищется по имени «Заголовок» через объект ПараметрКомпоновкиДанных, затем обязательно устанавливается и Использование, и Значение. Если задать только значение без включения использования, заголовок в результате не появится — это самая частая причина «неработающего» кода.

Для внешних отчетов и отчетов, формируемых из собственной формы, тот же прием применяется к настройкам, которые передаются в компоновщик макета. Убедитесь, что вы меняете именно те настройки, которые потом участвуют в компоновке, а не их копию.

Заголовок в динамических и пользовательских настройках

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

Делается это в конструкторе настроек: в списке пользовательских настроек добавьте новый элемент, выберите параметр «Заголовок» и задайте представление, например «Название отчета». После этого пользователь сможет сам менять текст перед формированием без входа в конфигуратор.

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

Способы задания заголовка

В конструкторе настроек

Подходит для постоянного текста; не требует кода; меняется только разработчиком или уполномоченным пользователем

Программно в ПриКомпоновкеРезультата

Подходит для динамического текста (период, отбор, организация); требует изменения модуля отчета

Через пользовательские настройки

Подходит, когда текст должен менять сам пользователь; требует аккуратной настройки видимости параметра

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

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

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

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

Флажок использования у параметра «Заголовок»
Норма

Флажок установлен, значение заполнено

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

Значение есть, но флажок снят — заголовок не выводится

Порядок применения настроек
Норма

Код установки заголовка выполняется до вызова компоновщика макета

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

Настройки меняются после формирования результата — изменения не попадают в отчет

Какой вариант открыт
Норма

Заголовок задан в том варианте, который реально используется

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

Текст задан в другом варианте или в основной схеме, а открывается пользовательский вариант

Типичные ошибки
01
Установлено только Значение без Использования = Истина — параметр игнорируется компоновщиком
02
Заголовок ищут по синониму вместо точного имени параметра — НайтиЗначениеПараметра возвращает Неопределено
03
Настройки изменяются в КомпоновщикНастроек.Настройки, но формируется отчет по пользовательским настройкам, где параметр переопределен
04
Текст содержит переносы строк или управляющие символы — в табличном документе появляются пустые строки или обрезка

Отдельная ситуация — отчеты, где результат формируется в фоновом задании (типовой механизм БСП). В этом случае программную установку заголовка следует выполнять в модуле объекта отчета, а не в форме, иначе код формы не выполнится в фоне.

Альтернативы: макет заголовка и оформление

Если нужен не просто текст, а оформленная шапка с логотипом, периодом и отбором, параметра «Заголовок» недостаточно. В этом случае создают собственный макет СКД: в схеме компоновки на закладке «Макеты» добавляют макет заголовка группировки или оформляют область через «Макет оформления». Там можно задать ячейки с параметрами и вывести произвольную структуру шапки.

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

Удобный шаблон заголовка для управленческих отчетов: «<Название> за <период>». Период лучше формировать из параметров данных отчета (НачалоПериода, КонецПериода), а не из текущей даты — тогда при пересмотре старого сформированного отчета заголовок останется корректным.
ПЗ
Практическое замечание

FAQ

Почему заголовок задан, но в результате отчета его нет?

Чаще всего у параметра «Заголовок» не включено свойство «Использование». Проверьте флажок в «Других настройках» или установите Использование = Истина в коде. Также убедитесь, что формируется тот вариант отчета, в котором задан текст.

Можно ли вывести заголовок в несколько строк?

Штатный параметр «Заголовок» рассчитан на однострочный текст; переносы могут отображаться некорректно. Для многострочной шапки используйте собственный макет в схеме компоновки с несколькими ячейками и параметрами.

Как подставить в заголовок выбранный период отчета?

Программно в обработчике ПриКомпоновкеРезультата прочитайте значения параметров данных (например, НачалоПериода и КонецПериода) через Настройки.ПараметрыДанных и сформируйте строку функцией Формат с нужным форматом даты.

Как скрыть заголовок полностью?

Снимите флажок использования у параметра «Заголовок» в настройках варианта или установите Использование = Ложь в коде. Если заголовок выводится из представления варианта, отключение параметра уберет и его.

Работает ли установка заголовка во внешних отчетах?

Да, механизм тот же: параметр вывода «Заголовок» присутствует в настройках любой СКД. Отличие только в том, что для внешнего отчета программную установку выполняют в его модуле объекта или в коде, который формирует отчет извне.

Почему после обновления конфигурации заголовок пропал?

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

Итог

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

Заголовок СКД — это параметр вывода «Заголовок»: задайте значение и включите использование в «Других настройках» конструктора либо программно через ПараметрыВывода. Для динамического текста используйте ПриКомпоновкеРезультата, для сложной шапки — собственный макет. Всегда проверяйте, что изменения применяются к тому варианту и тем настройкам, по которым реально формируется отчет.