Как вывести группировки в разных колонках в Универсальном отчете 1С:Управление торговлей 10.3?

Программист 1С v8.3 (Обычные формы) Управленческий учет Торговля и дистрибуция
← На главную

При работе с типовыми конфигурациями на «обычных формах», такими как 1С:Управление торговлей 10.3, пользователи часто сталкиваются с проблемой визуального оформления отчетов. Одной из самых популярных задач является разделение группировок (например, «Менеджер» и «Адрес доставки») по разным колонкам таблицы. По умолчанию «Универсальный отчет» выводит их в виде дерева в одной колонке, что не всегда удобно для анализа или экспорта в Excel.

В этой статье мы разберем, почему это происходит, в чем заключается фундаментальная разница между старым и новым движками отчетности 1С, и какими способами можно добиться желаемого результата.

Почему группировки объединяются в одну колонку?

Для начала проанализируем ситуацию с технической стороны. В современных конфигурациях (УТ 11, ERP, БП 3.0) большинство отчетов строится на Системе компоновки данных (СКД). В СКД существует простая настройка: Расположение полей группировок — «Отдельно» или «Вместе».

Однако в УТ 10.3 «Универсальный отчет» базируется на более старой технологии — Построителе отчета. В архитектуре «Построителя» заложено иерархическое отображение группировок в одной колонке (так называемая «колонка иерархии»). Это сделано для экономии места по горизонтали, но программный код типового Универсального отчета жестко фиксирует это поведение, не давая пользователю возможности изменить его через стандартный интерфейс.

Решение №1: Использование «Дополнительных полей» и детальных записей

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

  1. Откроем настройки отчета (кнопка «Настройка» в верхней панели).
  2. Перейдем на закладку Группировки строк. Оставим здесь только самую верхнюю группировку, например, Менеджер. Вторую искомую группировку (например, Адрес доставки) отсюда нужно удалить.
  3. Перейдем на закладку Дополнительные поля.
  4. Добавим в список поле Адрес доставки.
  5. В колонке Размещение выберем значение «В отдельной колонке».
  6. В колонке Положение укажем «Вместо группировок» или «После группировок».
  7. Критически важный шаг: чтобы данные по адресу вывелись, нам необходимо включить вывод детальных записей. Если в отчете будут выводиться только итоги по менеджеру, дополнительные поля останутся пустыми, так как они привязаны к конкретным записям регистра.

После таких настроек мы получим следующую структуру: в первой колонке будет «Менеджер», а во второй (в строках детальных записей) — его «Адреса доставки».

Решение №2: Программное изменение свойств Построителя отчета

Если вы обладаете навыками программирования или имеете доступ к конфигуратору, можно изменить поведение отчета через код. У объекта ПостроительОтчета есть свойство РазмещениеГруппировок.

Посмотрим на пример кода, который управляет этим свойством:


// Пример настройки размещения группировок в Построителе отчета
ПостроительОтчета.РазмещениеГруппировок = РазмещениеГруппировокПостроителяОтчета.ВОтдельныхКолонках;
// Другие варианты:
// .ВОднойКолонке - стандартное поведение дерева
// .ВОтдельныхКолонкахИерархически - раздельно, но с сохранением иерархических отступов

В типовом Универсальном отчете это свойство часто переопределяется внутри модуля обработки. Чтобы внести изменения, придется создать внешнюю копию отчета и модифицировать процедуру формирования табличного документа.

Решение №3: Использование консоли отчетов на СКД

Рано или поздно возможности Универсального отчета в УТ 10.3 станут недостаточными. В этом случае мы рекомендуем использовать Консоль системы компоновки данных. Это мощный инструмент, который позволяет:

Рассмотрим подробнее, где найти эту настройку в конструкторе СКД:

  1. Откроем схему компоновки данных (или настройки отчета в пользовательском режиме, если отчет на СКД).
  2. Перейдем на вкладку Настройки, затем на вложенную вкладку Другие настройки.
  3. Найдем параметр Расположение полей группировок.
  4. Установим значение «Отдельно».

В этом случае Менеджер будет в первой колонке, а Адрес доставки — во второй, при этом иерархия и итоги сохранятся в полном объеме.

Выясним причины неудач при настройке

Почему у многих пользователей не получается сделать это с первого раза? Проанализируем типичные ошибки:

  1. Смешивание понятий: Пользователи ищут вкладку «Другие настройки» (характерную для СКД) в «Универсальном отчете», где ее нет. Вместо этого они пытаются использовать вкладку «Дополнительные поля», которая работает по иным принципам.
  2. Отсутствие детальных записей: Как уже упоминалось, при использовании «Дополнительных полей» в Универсальном отчете без вывода детальных записей данные просто не отображаются в колонках группировок.
  3. Ограниченность движка: Построитель отчета проектировался для быстрого получения данных, а не для сложного форматирования. Попытки заставить его работать как Excel-таблица часто упираются в «зашитую» логику формирования макета в типовых решениях 1С.

Подведем итог: если вам нужно быстро разделить колонки в УТ 10.3 без программирования — используйте «Дополнительные поля» с включенными детальными записями. Если же отчет должен быть профессиональным, красивым и сложным — лучшим выходом будет создание нового отчета на базе Системы компоновки данных (СКД).

← На главную