Как убрать заголовки ресурсов в системе компоновки данных 1С

Программист 1С v8.3 (Управляемые формы)
← На главную

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

Способ 1. Использование системной настройки Расположение заголовков ресурсов

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

  1. Перейдем на вкладку Настройки в схеме компоновки данных.
  2. Выберем конкретный вариант отчета или отдельную группировку, для которой нужно применить изменения.
  3. Перейдем на закладку Прочие настройки.
  4. Найдем параметр Расположение заголовков ресурсов.
  5. Установим значение Нет.

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

Способ 2. Создание собственного макета заголовка

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

Рассмотрим пошагово процесс создания макета:

  1. Перейдем на закладку Макеты в конструкторе СКД.
  2. Нажмем кнопку Добавить макет и выберем тип Макет заголовка группировки.
  3. В появившемся окне укажем имя группировки, заголовки ресурсов которой мы хотим скрыть или изменить.
  4. В области редактирования табличного документа выделим ячейки, которые должны заменять стандартную шапку.
  5. Если наша цель — полностью убрать заголовки, мы можем оставить ячейки пустыми или объединить их таким образом, чтобы они соответствовали структуре данных, но не содержали лишних надписей.

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

Способ 3. Использование неразрывного пробела в заголовках полей

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

Вместо пустого значения в свойство Заголовок для нужного ресурса введем неразрывный пробел. Чтобы его ввести, необходимо зажать клавишу Alt и набрать на цифровой клавиатуре 0160 или 255. Для системы этот символ является значащим, поэтому она не будет подставлять стандартное имя ресурса, а визуально ячейка останется пустой.

Способ 4. Управление через расположение полей и группировок

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

  1. Удалим ресурсы из общего списка Выбранные поля на верхнем уровне настроек.
  2. Зайдем в настройки конкретной группировки (например, группировки колонок).
  3. Добавим ресурсы в Выбранные поля именно этой группировки.
  4. В Прочих настройках этой группировки установим параметр Расположение полей в значение Вместе.

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

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

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

Посмотрим на пример логики программного вывода:


// Сначала выполняем стандартную компоновку
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

ТабличныйДокумент = Новый ТабличныйДокумент;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);

// Выводим результат
ПроцессорВывода.Вывести(ПроцессорКомпоновки);

// Теперь анализируем шапку и удаляем ненужное
// Например, мы знаем, что шапка занимает первые 3 строки
Если ТабличныйДокумент.ВысотаТаблицы >= 3 Тогда
    ОбластьЗаголовков = ТабличныйДокумент.Область(1, , 3, );
    // Здесь можно выполнить поиск строк с именами ресурсов и очистить их
    // Или объединить ячейки программно
КонецЕсли;

Этот метод является наиболее гибким, так как позволяет динамически реагировать на состав колонок, которые пользователь мог добавить самостоятельно через настройки. Мы можем использовать метод НайтиТекст() в табличном документе, чтобы обнаружить конкретные заголовки ресурсов и очистить содержимое соответствующих ячеек.

Способ 6. Условное оформление как инструмент скрытия

Хотя Условное оформление предназначено для выделения данных, его также можно использовать для визуального «скрытия» текста. Выясним, как это применить к заголовкам ресурсов. Мы можем создать правило оформления для конкретного поля:

  1. Установить Цвет текста равным цвету фона (обычно белому).
  2. Установить Минимальную ширину и Максимальную ширину колонки, если заголовок нужно сделать невидимым.
  3. В качестве области использования указать только В заголовке.

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

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

← На главную