Почему группировка СКД есть в конфигураторе, но не отображается в 1С:Предприятие?

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

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

1. Сохраненные пользовательские настройки или варианты отчета

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

Рассмотрим по шагам, как это исправить:

  1. В режиме 1С:Предприятие на форме отчета нажмите кнопку «Еще» (или «Настройки») и выберите пункт «Установить стандартные настройки».
  2. Если сброс настроек не помог, откройте меню управления хранилищем настроек и удалите сохраненный вариант отчета для текущего пользователя.
  3. В режиме разработчика (в конфигураторе) можно изменить свойство КлючВарианта схемы компоновки данных или создать новый вариант отчета, чтобы сбросить сохраненные настройки у всех пользователей.

2. Ограничения прав доступа (RLS) и функциональные опции

Выясним причину, связанную с правами и настройками системы. Если у текущего пользователя нет прав на просмотр полей, входящих в группировку (например, настроен RLS или ограничены права на реквизит), платформа 1С автоматически исключает такую группировку из итогового отчета.

Также видимость группировок может регулироваться функциональными опциями системы. Если реквизиты, по которым строится группировка, отключены функциональными опциями, группировка перестает выводиться в режиме 1С:Предприятие.

Проверим следующие моменты:

  1. Проверьте права текущего пользователя на объекты и поля, по которым выполняется группировка.
  2. Убедитесь, что реквизиты объекта не привязаны к функциональным опциям, которые выключены в текущей информационной базе.
  3. Проверьте, есть ли реальные данные и движения по объектам, участвующим в отчете. Если по полю нет данных в текущей выборке, в некоторых случаях иерархические группировки могут скрываться платформой.

3. Флаги использования и настройки элементов СКД

Разберем настройки самой схемы СКД непосредственно в конфигураторе:

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

4. Программная модификация настроек в коде модуля

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

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

Рассмотрим пример кода в модуле объекта отчета:


Процедура ПриКомпоновкеРезультата(ИзменительМакета, СхемаКомпоновки, Настройки, ИсполнительМакета)
    // Если в коде выполняется сброс или ручная сборка структуры:
    // Настройки.Структура.Очистить();
    // Это приведет к тому, что группировки из СКД не отобразятся в режиме предприятия.
КонецПроцедуры

5. Пользовательские макеты оформления

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

Посмотрим на вкладку «Макеты» в СКД и убедимся, что для всех созданных группировок корректно назначены правила оформления.

← На главную