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