Как добавить и вывести дополнительные поля и расчетные показатели в отчете на СКД?

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

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

Этап 1: Добавление новых полей в запрос и схему

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

  1. Перейдите на вкладку Наборы данных.
  2. В запросе добавьте поля, используя псевдонимы, например: 0 КАК МоеПоле2.
  3. Убедитесь, что связи между наборами данных настроены корректно в разделе Связи наборов данных. Без этого система не сможет сопоставить данные из разных источников, и вы получите ошибку Поле не найдено.

Этап 2: Использование вычисляемых полей

Если поле является расчетным, лучше всего использовать вкладку Вычисляемые поля. Это предпочтительнее, чем выполнять расчеты напрямую в тексте запроса, так как позволяет использовать функции агрегации СКД.

На этой вкладке задайте выражение, например: Сумма(Поле1) / Сумма(Поле2). После создания вычисляемого поля обязательно проверьте его наличие на вкладке Ресурсы.

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

Этап 3: Настройка ресурсов и группировок

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

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

Этап 4: Устранение ошибок отображения

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

Этап 5: Решение задачи вывода «после итогов»

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

Если стандартные настройки группировок не дают нужного визуального результата, рекомендуется следующее:

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

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

← На главную