Отчеты и Аналитика · 10 мин
Поле компоновки данных в 1С: что это и как с ним работать
Поле компоновки данных в 1С: что это, где используется, как добавить в отчёт СКД, настроить отбор и сортировку. Примеры настройки и типичные ошибки.
Поле компоновки данных — это именованный элемент набора данных в системе компоновки данных (СКД) платформы 1С:Предприятие, который описывает, какая информация извлекается из базы и как она будет отображаться в отчёте. По сути, это колонка будущего отчёта: сумма документа, наименование контрагента, дата операции. Каждое поле имеет путь (имя, по которому к нему обращаются), заголовок (подпись в отчёте) и тип значения.
Понимание того, что такое поле компоновки данных, нужно любому, кто дорабатывает отчёты в 1С без программирования: бухгалтеру, аналитику, администратору. Именно через поля строятся отборы, сортировки, группировки и вычисляемые выражения. Ошибка в настройке поля — самая частая причина «пустого» отчёта или неверных итогов.
Поля компоновки встречаются в нескольких местах: в конструкторе схемы компоновки данных при разработке отчёта, в настройках отчёта в пользовательском режиме, а также в динамических списках и при программной работе с СКД через встроенный язык. Ниже разобраны все сценарии с конкретными действиями.
Что такое поле компоновки данных и где оно находится
Поле компоновки данных описывается тремя ключевыми свойствами. Путь к данным — уникальное имя, по которому к полю обращаются в отборах, группировках и формулах, например Номенклатура.Наименование или СуммаОборот. Заголовок — текст, который увидит пользователь в шапке колонки. Тип значения — определяет, какие операции допустимы: числа можно суммировать, даты сравнивать по периодам, ссылки разворачивать через точку.
Физически поля появляются из наборов данных схемы компоновки. Если набор построен на запросе, список полей заполняется автоматически из секции выборки запроса: каждая колонка запроса становится полем компоновки. Дополнительно разработчик может создать вычисляемые поля — они не берутся из базы напрямую, а рассчитываются по выражению из других полей, например Сумма * 0.2 для расчёта НДС.
Где поля используются: отборы, группировки, сортировки
После того как поле определено в схеме, оно становится доступным во всех разделах настройки отчёта. На закладке «Отбор» по полю строятся условия фильтрации: «Склад = Основной», «Дата в интервале». На закладке «Сортировка» поля задают порядок строк. В структуре отчёта поля образуют группировки — уровни вложенности, например «Контрагент → Документ».
Отдельная роль — у ресурсов отчёта. Ресурс — это поле, по которому считаются итоги (сумма, количество, среднее). Если поле не добавлено в ресурсы, итог по нему в группировках и в общем итоге отчёта выводиться не будет, даже если колонка присутствует в выбранных полях. Это частая причина вопроса «почему в отчёте нет суммы по строкам».
В пользовательском режиме поля видны в форме настройки варианта отчёта: список «Поля» определяет состав колонок, а доступные для выбора поля берутся из схемы, которую подготовил разработчик. Пользователь не может добавить поле, которого нет в схеме, — только скрыть, переупорядочить или использовать в отборе существующие.
Как добавить поле в схему компоновки данных
Добавление поля выполняется в конфигураторе, в редакторе схемы компоновки данных отчёта. Последовательность зависит от того, нужно ли поле из базы или вычисляемое.
- 1Откройте отчёт в конфигураторе и перейдите к основной схеме компоновки данных
- 2На закладке «Наборы данных» откройте запрос и добавьте нужное поле в секцию выборки запроса
- 3Проверьте, что поле появилось в списке полей набора данных; при необходимости задайте заголовок
- 4Для расчётного показателя откройте закладку «Вычисляемые поля», добавьте строку, укажите путь к данным и выражение
- 5На закладке «Ресурсы» отметьте поле, если по нему нужны итоги, и выберите выражение агрегирования (Сумма, Количество)
- 6Сохраните схему и проверьте отчёт в режиме предприятия
Если поле добавляется в запрос набора данных, платформа обычно подхватывает его автоматически после нажатия «Обновить» или повторного открытия конструктора запроса. Если поле не появилось, проверьте, что у него нет синонима с точкой или спецсимволами и что тип определился корректно — поле без типа может быть недоступно в отборах.
Вычисляемое поле создаётся без изменения запроса: укажите путь (например, СуммаСНДС), выражение (Сумма + СуммаНДС) и при необходимости заголовок. Тип вычисляемого поля платформа определяет по выражению; для сложных формул с функциями тип желательно проверить, иначе сортировка и формат могут работать неожиданно.
Настройка полей в пользовательском режиме
В режиме 1С:Предприятие пользователь работает с полями через форму настроек отчёта. Типовой путь: открыть отчёт → «Ещё» → «Изменить вариант отчёта» (в некоторых конфигурациях — кнопка «Настройки» → «Расширенные»). На закладке «Поля» флажками включаются нужные колонки, порядок меняется перетаскиванием или кнопками перемещения.
На закладке «Отбор» поле перетаскивается из левого списка доступных полей в правую таблицу условий, затем задаётся вид сравнения и значение. Важно: если нужное поле отсутствует в списке доступных, значит, разработчик схемы либо не включил его в настройки по умолчанию, либо поле вообще не выведено из набора данных — тогда без доработки схемы не обойтись.
Изменённый вариант отчёта сохраняется отдельно: «Ещё» → «Сохранить вариант отчёта». Это безопасная операция — она не меняет конфигурацию и не затрагивает других пользователей, если вариант сохранён как личный.
Вычисляемые поля и выражения
Вычисляемые поля позволяют выводить в отчёт показатели, которых нет в базе в готовом виде: маржу, процент выполнения плана, отклонение, признак просрочки. Выражение пишется на языке выражений СКД — он похож на встроенный язык 1С, но ограничен: доступны арифметика, функции работы со строками и датами, условный оператор ВЫБОР ... КОГДА ... ИНАЧЕ ... КОНЕЦ.
Типичный пример — расчёт процента: ВЫБОР КОГДА План = 0 ТОГДА 0 ИНАЧЕ Факт / План * 100 КОНЕЦ. Обратите внимание на защиту от деления на ноль — без неё отчёт может завершиться ошибкой на строках с пустым планом. Для ссылочных полей в выражениях доступно обращение через точку к реквизитам, но каждый такой переход утяжеляет запрос и может замедлить формирование отчёта на больших объёмах.
Если вычисляемое поле должно участвовать в итогах, добавьте его в ресурсы и укажите агрегатное выражение. Итог по вычисляемому полю считается по выражению ресурса, а не простым суммированием строк — это даёт корректные значения для процентов и отношений.
ВЫБОР КОГДА План = 0 ТОГДА 0 ИНАЧЕ Факт / План * 100 КОНЕЦТипичные ошибки при работе с полями
Большинство проблем с полями компоновки сводится к нескольким повторяющимся сценариям. Знание их экономит часы отладки.
Отдельно стоит ошибка с типами: если поле запроса имеет составной тип (например, строка и число одновременно), сортировка и сравнение в отборах могут работать непредсказуемо. В таких случаях тип лучше привести явно в запросе функцией ВЫРАЗИТЬ(... КАК ...).
Как проверить результат после настройки
После любого изменения полей схему нужно проверить в режиме предприятия на реальных данных. Контрольные точки ниже помогают отличить корректную настройку от скрытой проблемы.
Как проверить результат
Поле выводится с заданным заголовком и заполнено значениями
Колонки нет или все ячейки пустые — проверьте набор данных и выбранные поля
По числовому полю считаются суммы на каждом уровне группировки
Итоги пустые — поле не добавлено в ресурсы схемы
После установки условия число строк меняется, данные соответствуют фильтру
Отбор не влияет на результат — поле недоступно или условие задано по другому полю
Значения совпадают с ручным пересчётом на нескольких строках
Ошибка формирования или нули — проверьте выражение и деление на ноль
Для числовых полей полезно сверить итог отчёта с независимым источником — типовым отчётом конфигурации или ручной выборкой. Расхождение почти всегда означает либо лишние связи наборов данных, либо неверное выражение ресурса.
Что важно запомнить
Поле компоновки данных — это колонка отчёта СКД с путём, заголовком и типом. Поля рождаются из запроса набора данных или создаются как вычисляемые. Итоги считаются только по полям-ресурсам. Пользователь может включать, скрывать и фильтровать поля в варианте отчёта, но добавить новое поле может только разработчик в схеме.
Частые вопросы
Чем поле компоновки данных отличается от ресурса?
Поле — любая колонка отчёта. Ресурс — это поле, по которому рассчитываются итоги в группировках и общем итоге. Одно и то же поле может быть просто полем (например, наименование) или ресурсом (сумма), если его добавили на закладку «Ресурсы» с выражением агрегирования.
Можно ли добавить поле в отчёт без конфигуратора?
Нет. В пользовательском режиме доступны только поля, уже существующие в схеме компоновки: их можно показывать, скрывать, сортировать и использовать в отборах. Новое поле из базы или вычисляемое поле добавляется только в конфигураторе через схему компоновки данных.
Почему поле есть в запросе, но недоступно в настройках отчёта?
Чаще всего список полей набора данных не обновлён после изменения запроса — откройте набор данных и обновите поля. Также проверьте, что поле не отключено в настройках схемы на закладке «Настройки» и что у него корректно определён тип значения.
Как переименовать колонку отчёта, не меняя запрос?
В схеме компоновки у поля набора данных есть свойство «Заголовок» — измените его, и новая подпись появится в отчёте. В пользовательском режиме заголовок можно переопределить в расширенных настройках выбранного поля, если конфигурация это позволяет.
Почему вычисляемое поле показывает ошибку или пустые значения?
Типичные причины — деление на ноль без проверки, обращение к полю, которое не выбрано в текущей группировке, или несовпадение типов в выражении. Проверьте формулу на строках с крайними значениями (нули, пустые ссылки) и добавьте защитные условия через ВЫБОР...КОГДА.
Влияет ли количество полей на скорость отчёта?
Да. Каждое лишнее поле в запросе увеличивает объём выбираемых данных, а обращения через точку к реквизитам ссылок добавляют соединения таблиц. Выводите в набор данных только те поля, которые реально используются в отчёте, отборах и вычисляемых выражениях.