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

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

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

Главная причина: состав списка «Выбранные поля»

Основная и наиболее частая причина отсутствия колонки заключается в том, что поле не было включено в список Выбранные поля на вкладке Настройки. Даже если поле присутствует в наборе данных схемы компоновки, система не выведет его в результат до тех пор, пока оно явно или неявно не указано в качестве выводимого реквизита.

Рассмотрим по шагам, как проверить и настроить выводимые поля:

  1. Перейдем на вкладку Настройки в схеме компоновки данных.
  2. Выделим корневой элемент структуры с именем Отчет.
  3. В нижней части окна переключимся на вкладку Выбранные поля.
  4. Найдем наше новое поле в левом окне доступных полей и перетащим его в правый список выбранных полей отчета.
  5. Если отчет представляет собой сложную структуру (например, таблицу или иерархическую группировку), выделим конкретную группировку и проверим состав выбранных полей для нее.

Элемент «Автополе» и механизм наследования

Проанализируем механизм наследования состава полей между родительскими и дочерними элементами структуры отчета. По умолчанию каждая группировка отчета наследует настройки от вышестоящего уровня благодаря специальному системному элементу Автополе.

Если в подчиненной группировке (например, в строках или колонках таблицы) элемент Автополе был удален, наследование прерывается. В этом случае группировка становится автономной: добавление поля в корень отчета никак не повлияет на ее вывод. Чтобы колонка появилась, выполним одно из двух действий: либо добавим новое поле непосредственно в список выбранных полей этой конкретной группировки, либо вернем элемент Автополе из списка доступных полей обратно в список выбранных полей группировки.

Почему у добавленной колонки не хватает значка в структуре отчета

Разберем ситуацию, когда поле добавлено в структуру настроек, но отображается без привычной пиктограммы или ведет себя неожиданно. Это происходит из-за двух основных факторов:

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

Пользовательские настройки в режиме «1С:Предприятие»

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

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

Чтобы применить внесенные изменения, сбросим пользовательские настройки:

  1. Запустим отчет в режиме 1С:Предприятие.
  2. Нажмем кнопку Еще (или кнопку командной панели отчета).
  3. Перейдем в подменю Прочее (или Стандартные настройки).
  4. Выберем команду Установить стандартные настройки.
  5. Заново сформируем отчет.

Проверка вкладки «Ресурсы» и условий расчета

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

  1. Перейдем на вкладку Ресурсы и убедимся, что поле добавлено в список.
  2. В колонке Выражение проверим формулу агрегации (например, Сумма(Количество)).
  3. Обратим внимание на колонку Рассчитывать по.... Если в ней указан конкретный перечень группировок, а в структуре отчета используется группировка, не вошедшая в данный список, значение ресурса для нее останется пустым. Чтобы показатель считался везде, оставим колонку «Рассчитывать по...» незаполненной.

Ограничение доступности полей и влияние макетов

Выясним еще две скрытые причины, из-за которых поле может блокироваться системой:

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

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

← На главную