Как убрать слово Параметры в отчете СКД и настроить вывод параметров

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

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

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

Способ 1. Отключение автовывода и создание собственного макета шапки

Самый чистый и рекомендуемый подход в архитектуре СКД — полностью отключить системный вывод параметров и вывести нужную информацию через собственный макет группировки или заголовок отчета.

Выполним следующие настройки:

  1. Откроем схему компоновки данных на закладке Настройки.
  2. Перейдем на вкладку Параметры вывода.
  3. Найдем параметр Выводить параметры данных и установим для него значение Не выводить.
  4. Чтобы вывести значения параметров в собственном формате, перейдем на закладку Макеты и добавим Макет группировки (или макет заголовка).
  5. В созданном макете укажем ячейки с типом заполнения Параметр или Шаблон, где явно пропишем вывод нужных полей (например, [ДатаНачала] - [ДатаКонца]) без лишних служебных слов.

Способ 2. Постобработка сформированного табличного документа

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

Проанализируем пример кода для модуля объекта отчета или формы:


ОбластьПараметров = РезультатТабДок.НайтиТекст("Параметры:", , , , Истина);
Если ОбластьПараметров <> Неопределено Тогда
    ОбластьПараметров.Текст = "";
КонецЕсли;

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

Способ 3. Программное свертывание параметров и группировок

Часто в дополнение к оформлению шапки пользователи просят по умолчанию сворачивать блок параметров или итоговые группировки строк. Для этого используется метод ПоказатьУровеньГруппировокСтрок() у элемента формы или табличного документа.

Посмотрим, как свернуть все группировки до верхнего уровня:


Уровень = 0;
Форма.ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(Уровень);

Разберем более сложную ситуацию, когда необходимо свернуть только блоки шапки, а основные детализирующие данные оставить развернутыми. Для этого можно последовательно управлять уровнями группировок и вставлять обработанные области обратно в документ:


// Сворачиваем все группировки строк
Для Инд = -ДокументРезультат.КоличествоУровнейГруппировокСтрок() По 0 Цикл
    ДокументРезультат.ПоказатьУровеньГруппировокСтрок(-Инд);
КонецЦикла;

// Получаем свернутую область шапки/параметров
ВременныйТД = ДокументРезультат.ПолучитьОбласть(1, , НомерНачСтрокиДанных - 1, );
ВременнаяОбласть = ВременныйТД.Область();

// Разворачиваем основные группировки отчета
ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1);

// Вставляем свернутую область обратно
ОбластьПриемник = ДокументРезультат.Область(1, , НомерНачСтрокиДанных - 1, ); 
ДокументРезультат.ВставитьОбласть(ВременнаяОбласть, ОбластьПриемник);

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

← На главную