Отчеты и Аналитика · 11 мин
Как добавить пользовательские поля в отчет 1С
Как добавить пользовательские поля в отчет 1С через СКД и настройки варианта: пошаговая инструкция, примеры формул, типичные ошибки и проверка результата.
Пользовательские поля в отчетах 1С позволяют выводить данные, которых нет в типовой поставке: вычисляемые показатели, сгруппированные значения, дополнительные реквизиты справочников. В большинстве случаев доработка выполняется без изменения конфигурации — средствами системы компоновки данных (СКД) прямо в режиме предприятия или через расширение.
Существует три основных способа добавить поле в отчет: включить скрытый реквизит в настройках варианта, создать пользовательское поле с формулой на языке выражений СКД или изменить саму схему компоновки данных в конфигураторе. Выбор зависит от того, есть ли нужные данные в наборе отчета и есть ли у вас права на доработку.
Ниже разобраны все три подхода с конкретными действиями, ограничениями и способами проверки результата. Инструкции применимы к конфигурациям на управляемых формах (1С:ERP, УТ 11, КА 2, БП 3.0 и аналогичным), где отчеты построены на СКД.
Как понять, какой способ подходит
Перед доработкой определите, откуда возьмутся данные для нового поля. Если нужный реквизит уже присутствует в запросе отчета, но просто не выведен в настройках — достаточно режима предприятия. Если данных в наборе нет (например, нужен реквизит, который разработчик не включил в запрос), без изменения схемы компоновки не обойтись.
Проверить состав доступных полей можно прямо в отчете: откройте «Еще → Изменить вариант отчета» (или «Настройки → Расширенные») и разверните список полей на одноименной вкладке. Все, что там видно, можно вывести без программирования.
Как выбрать способ
Способ 1: включить скрытое поле в настройках варианта
Самый частый случай — разработчик добавил реквизит в схему, но не вывел его в настройки по умолчанию. Пользователь может включить такое поле самостоятельно, без прав администратора.
- 1Сформируйте отчет и откройте «Еще → Изменить вариант отчета» (в некоторых конфигурациях — «Настройки» с расширенным видом).
- 2Перейдите на вкладку «Поля».
- 3В левом списке найдите нужный реквизит — используйте строку поиска по подстроке.
- 4Перенесите поле в правый список двойным щелчком или кнопкой добавления, при необходимости задайте порядок кнопками вверх/вниз.
- 5Нажмите «Завершить редактирование» и сформируйте отчет заново.
- 6Сохраните вариант: «Еще → Сохранить вариант отчета», чтобы настройка не пропала.
Если поле нужно не в шапке, а внутри группировки (например, показать артикул внутри строк по номенклатуре), выделяйте в дереве настроек именно нужную группировку и добавляйте поле на ее уровень, а не в корневой узел «Отчет».
Признак правильного результата: после пересчета отчета новая колонка появляется в нужной позиции и заполнена данными. Пустая колонка обычно означает, что поле добавлено не на тот уровень группировки или у реквизита нет значений в выборке.
Способ 2: создать пользовательское поле с формулой
Пользовательские поля — это вычисляемые выражения, которые создаются в настройках варианта без изменения конфигурации. Типичные задачи: сумма с НДС, процент от итога по формуле, текстовая метка по условию, объединение нескольких реквизитов в одну строку.
Чтобы создать такое поле, откройте настройки варианта, перейдите на вкладку «Пользовательские поля» (в ряде конфигураций она доступна в расширенном режиме настроек) и нажмите «Добавить → Новое поле выражение». Задайте заголовок и введите формулу в поле «Выражение детальных записей». Для итогов по группировкам заполните «Выражение итоговых записей» — например, Сумма(ВыражениеДетальныхЗаписей).
Выбор
Когда СуммаОборот > 100000
Тогда "Крупный клиент"
Когда СуммаОборот > 10000
Тогда "Средний клиент"
Иначе "Малый клиент"
КонецФормулы пишутся на языке выражений компоновки данных. Доступны арифметика, функции Сумма, Количество, Максимум, Минимум, Среднее, конструкция Выбор ... Когда ... Тогда ... Иначе ... Конец и строковые операции. Обращение к полям набора — по имени, как в списке доступных полей.
После создания поле появляется в папке «Пользовательские поля» списка доступных полей. Дальше его добавляют в структуру отчета так же, как обычный реквизит, и сохраняют вариант.
Способ 3: доработка схемы компоновки данных
Когда нужных данных нет в наборе отчета, схему компоновки придется изменить. В конфигураторе откройте отчет, перейдите к «Основная схема компоновки данных» и откройте конструктор макета СКД. Добавить поле можно тремя путями.
Первый — дописать реквизит в текст запроса на вкладке «Наборы данных»: например, добавить Номенклатура.Артикул КАК Артикул в выборку. После этого поле появится на вкладке «Поля» схемы (иногда его нужно добавить туда вручную кнопкой «Добавить» или через «Заполнить»).
Второй путь — вычисляемое поле на вкладке «Вычисляемые поля»: укажите путь к данным, заголовок и выражение. Такие поля считаются на уровне схемы и доступны во всех вариантах отчета, в отборе и сортировке. Третий путь — ресурс с формулой итога на вкладке «Ресурсы», если нужен специфический расчет итогов.
Для типовых конфигураций на поддержке предпочтительно расширение: создайте расширение, добавьте в него отчет и доработайте схему там. Тогда обновления основной конфигурации проходят без конфликтов, а доработка остается изолированной.
Добавление дополнительных реквизитов и сведений
Отдельный частный случай — вывод в отчет дополнительных реквизитов и сведений, которые пользователи заводят через «Администрирование → Общие настройки → Дополнительные реквизиты и сведения». В типовых конфигурациях на БСП многие отчеты уже подхватывают такие реквизиты автоматически: они появляются в списке доступных полей с пометкой или в подгруппе объекта.
Если дополнительный реквизит не виден в настройках отчета, проверьте, что он привязан к нужному набору (например, к справочнику «Номенклатура», а не «Партнеры») и что отчет вообще работает с этим объектом. В самописных отчетах дополнительные реквизиты выводят через соединение с таблицей дополнительных реквизитов объекта в запросе набора данных или через характеристики в СКД.
Перед тем как лезть в схему компоновки, внимательно пролистайте список доступных полей с поиском по синонимам: разработчики часто называют поле иначе, чем оно подписано в интерфейсе. Например, «Артикул» может называться «Код поставщика», а нужный вам показатель уже считается под другим именем.
Проверка результата и типичные ошибки
После любой доработки сформируйте отчет на заведомо известных данных и сверьте значения нового поля с первоисточником — карточкой документа или справочника. Проверьте итоги: для вычисляемых полей итог по умолчанию может считаться не так, как ожидается, особенно для процентов и средних значений.
Как проверить результат
Колонка видна, заполнена, значения совпадают с источником
Колонка пустая или отсутствует — поле добавлено не на тот уровень группировки
Итог равен ожидаемой агрегации (сумма, среднее)
Итог пустой или неверный — не задано выражение итоговых записей
Поле доступно во всех вариантах (для полей СКД)
Поле есть только в вашем варианте — оно создано как пользовательское, это норма
Отчет строится за обычное время
Ошибка компоновки или резкое замедление — проверьте формулу и соединения в запросе
Ограничения и безопасные границы
Пользовательские поля в режиме предприятия не умеют обращаться к функциям общих модулей и выполнять запросы — только операции над полями набора. Сложную бизнес-логику (курсы валют на дату, остатки на произвольный момент) придется реализовывать в схеме компоновки или в коде.
Учитывайте и производительность: вычисляемые поля с вложенными условиями и соединения в запросе увеличивают время формирования. На больших базах тестируйте доработанный отчет на реальном периоде, а не на одном дне, и не выкатывайте изменения в рабочую базу без проверки на копии.
Что важно запомнить
Сначала проверьте настройки варианта — чаще всего поле уже есть в наборе. Для формул используйте пользовательские поля, для новых данных — доработку СКД через расширение. Всегда сохраняйте вариант, проверяйте итоги и делайте резервную копию перед изменением конфигурации.
Частые вопросы
Можно ли добавить поле в отчет без прав администратора?
Да, если реквизит уже есть в наборе данных отчета. Включение полей и создание пользовательских полей в настройках варианта доступно обычному пользователю с правом сохранения вариантов. Доработка схемы компоновки требует прав на конфигуратор и, как правило, роли администратора.
Почему пользовательское поле не видно в отборе?
Пользовательские поля, созданные в настройках варианта, предназначены для вывода, а не для отбора: фильтровать по ним нельзя. Если нужен отбор по вычисляемому значению, создавайте вычисляемое поле на уровне схемы компоновки данных — оно доступно и в отборах, и в сортировке.
Как вывести в отчет дополнительный реквизит номенклатуры?
В типовых конфигурациях на БСП дополнительные реквизиты обычно появляются в доступных полях автоматически — ищите их в настройках варианта по имени реквизита. Если поля нет, убедитесь, что реквизит создан для нужного набора объектов, а в самописном отчете добавьте соединение с таблицей дополнительных реквизитов в запросе СКД.
Что делать, если после обновления конфигурации доработанный отчет сломался?
Если отчет менялся напрямую в конфигурации, при обновлении доработка могла быть замещена типовой версией. Восстановите изменения из копии и перенесите их в расширение — тогда последующие обновления не затронут вашу схему. На будущее проверяйте доработанные отчеты сразу после каждого обновления.
Можно ли в формуле пользовательского поля использовать дата-функции?
В языке выражений СКД доступны функции работы с датами, например получение частей даты и добавление интервалов. Однако набор функций ограничен: сложные расчеты вроде разности дат в рабочих днях в выражении не реализовать — такую логику выносят в запрос набора данных или вычисляемые поля схемы.
Как поделиться настроенным вариантом отчета с коллегой?
При сохранении варианта отметьте его как доступный другим пользователям (если у вас есть право сохранения общих вариантов). Либо выгрузите настройки: в расширенных настройках есть возможность сохранить вариант в файл и загрузить его у другого пользователя той же конфигурации.