← На главную
При доработке отчетов на базе системы компоновки данных (СКД) разработчики часто сталкиваются с ситуацией: текст запроса успешно отредактирован, новое поле появилось в наборе данных и даже добавлено на вкладку ресурсов, однако в сформированном отчете колонка отсутствует. Разберем подробно, почему так происходит, выясним причину отсутствия пиктограмм в структуре настроек и рассмотрим по шагам, как гарантированно вывести новое поле в отчет.
Главная причина: состав списка «Выбранные поля»
Основная и наиболее частая причина отсутствия колонки заключается в том, что поле не было включено в список Выбранные поля на вкладке Настройки. Даже если поле присутствует в наборе данных схемы компоновки, система не выведет его в результат до тех пор, пока оно явно или неявно не указано в качестве выводимого реквизита.
Рассмотрим по шагам, как проверить и настроить выводимые поля:
- Перейдем на вкладку Настройки в схеме компоновки данных.
- Выделим корневой элемент структуры с именем Отчет.
- В нижней части окна переключимся на вкладку Выбранные поля.
- Найдем наше новое поле в левом окне доступных полей и перетащим его в правый список выбранных полей отчета.
- Если отчет представляет собой сложную структуру (например, таблицу или иерархическую группировку), выделим конкретную группировку и проверим состав выбранных полей для нее.
Элемент «Автополе» и механизм наследования
Проанализируем механизм наследования состава полей между родительскими и дочерними элементами структуры отчета. По умолчанию каждая группировка отчета наследует настройки от вышестоящего уровня благодаря специальному системному элементу Автополе.
Если в подчиненной группировке (например, в строках или колонках таблицы) элемент Автополе был удален, наследование прерывается. В этом случае группировка становится автономной: добавление поля в корень отчета никак не повлияет на ее вывод. Чтобы колонка появилась, выполним одно из двух действий: либо добавим новое поле непосредственно в список выбранных полей этой конкретной группировки, либо вернем элемент Автополе из списка доступных полей обратно в список выбранных полей группировки.
Почему у добавленной колонки не хватает значка в структуре отчета
Разберем ситуацию, когда поле добавлено в структуру настроек, но отображается без привычной пиктограммы или ведет себя неожиданно. Это происходит из-за двух основных факторов:
- Путаница между группировками и показателями. Если добавить поле напрямую в ветку «Колонки» таблицы в окне структуры, СКД воспримет его как группировочное поле. В этом случае отчет попытается развернуться в ширину по всем уникальным значениям этого поля, а не просто отобразить его как отдельную числовую или текстовую колонку. Показатели (ресурсы) должны находиться не в структуре колонок таблицы, а именно на вкладке Выбранные поля.
- Индикатор переопределения настроек. В дереве структуры СКД рядом с элементом отображаются специальные значки-индикаторы. Если у группировки отключен флаг «Использовать общие настройки» (для отборов, полей или оформления), платформа отмечает элемент соответствующей пиктограммой. Если же настройки наследуются полностью, значок переопределения отсутствует.
Пользовательские настройки в режиме «1С:Предприятие»
Нередко разработчик правильно настраивает схему компоновки в конфигураторе, но при открытии отчета в режиме предприятия колонка по-прежнему не видна. Проанализируем, почему это происходит.
Платформа «1С:Предприятие» автоматически кэширует и сохраняет индивидуальные настройки отчета для каждого пользователя. Когда отчет открывается повторно, система загружает сохраненный пользовательский слепок настроек, полностью игнорируя изменения структуры и выбранных полей, сделанные в конфигураторе.
Чтобы применить внесенные изменения, сбросим пользовательские настройки:
- Запустим отчет в режиме 1С:Предприятие.
- Нажмем кнопку Еще (или кнопку командной панели отчета).
- Перейдем в подменю Прочее (или Стандартные настройки).
- Выберем команду Установить стандартные настройки.
- Заново сформируем отчет.
Проверка вкладки «Ресурсы» и условий расчета
Если добавляемое поле является числовым показателем (суммой, количеством) и должно выводиться в итогах группировок, проверим вкладку Ресурсы в схеме компоновки:
- Перейдем на вкладку Ресурсы и убедимся, что поле добавлено в список.
- В колонке Выражение проверим формулу агрегации (например,
Сумма(Количество)).
- Обратим внимание на колонку Рассчитывать по.... Если в ней указан конкретный перечень группировок, а в структуре отчета используется группировка, не вошедшая в данный список, значение ресурса для нее останется пустым. Чтобы показатель считался везде, оставим колонку «Рассчитывать по...» незаполненной.
Ограничение доступности полей и влияние макетов
Выясним еще две скрытые причины, из-за которых поле может блокироваться системой:
- Флаги ограничений на вкладке «Наборы данных». В таблице описания полей набора данных проверим свойства Ограничение поля и Ограничение реквизитов. Если для поля установлен флаг ограничения, оно становится полностью недоступным для выбора пользователем и вывода в отчет.
- Пользовательские макеты оформления. Если в отчете на вкладке Макеты задан собственный макет группировки, заголовка или поля, СКД выводит результат строго по жестко заданной разметке табличного документа. Автоматически новые поля в таком макете появиться не могут — для них потребуется вручную раздвинуть область ячеек макета и связать их с соответствующим параметром или полем компоновки.
Соблюдение правильного порядка добавления поля — от описания в запросе до включения в список Выбранные поля и сброса настроек пользователя — гарантирует корректный вывод новой колонки в любом отчете СКД.