В типовых конфигурациях, таких как 1С:Управление производственным предприятием (УПП) ред. 1.3, многие отчеты (например, «Товары на складах») построены с использованием технологии ПостроительОтчетов. По умолчанию система выводит аналитические разрезы, такие как номенклатура и характеристики, в виде иерархических группировок (одна под другой). Однако для детального анализа или выгрузки в Excel пользователям часто требуется табличный вид, где характеристика отображается в соседней колонке от номенклатуры.
В рамках данной статьи мы разберем, как изменить структуру отчета стандартными средствами настройки, не прибегая к программированию и изменению кода конфигурации.
Разберем ситуацию: когда мы добавляем поле ХарактеристикаНоменклатуры в список группировок строк, ПостроительОтчетов автоматически создает новый уровень вложенности. Это удобно для итогов, но неудобно для линейного восприятия данных. Использование механизма «Дополнительные поля» часто кажется очевидным решением, но при стандартном подходе характеристика все равно может «прилипать» к номенклатуре в одной ячейке или выводиться отдельной строкой. Выясним, как добиться именно колоночного расположения.
Рассмотрим алгоритм действий, который позволит нам трансформировать отчет:
Номенклатура и ХарактеристикаНоменклатуры из списка активных группировок. Это критически важный шаг: пока поле находится в группировках, оно будет стремиться занять отдельную строку.Номенклатура, затем ХарактеристикаНоменклатуры.Проанализируем ситуацию с иерархией. Если мы полностью убираем номенклатуру из группировок и оставляем её только в дополнительных полях, отчет перестает выводить иерархию справочника (папки/группы номенклатуры). Если вам жизненно необходимо сохранить структуру папок, но видеть характеристики сбоку, попробуйте следующий вариант:
Оставьте группировку по Номенклатура (с типом «Иерархия»), но для самой детальной записи используйте дополнительные поля. Однако стоит помнить, что ПостроительОтчетов в этом плане менее гибок, чем современная СистемаКомпоновкиДанных (СКД).
В 1С:УПП не для всех товаров может вестись учет по характеристикам. При выводе отдельной колонкой вы можете столкнуться с тем, что в строках товаров без характеристик будет пусто или отобразится надпись <Объект не найден>. Рассмотрим, как это минимизировать:
<Объект не найден>, это может свидетельствовать о битых ссылках в базе, и рекомендуется выполнить тестирование и исправление.Важно помнить, что когда мы переносим поля из группировок в «Дополнительные поля», стандартная сортировка может нарушиться. Чтобы отчет выглядел логично, выполните следующие действия:
Перейдите на закладку «Сортировка» и добавьте туда поля Номенклатура.Наименование (или Артикул) и ХарактеристикаНоменклатуры.Наименование. Это гарантирует, что товары будут идти по алфавиту, а внутри одного товара характеристики также будут упорядочены.
Если типовой отчет «Товары на складах» не поддается нужной настройке, вспомните о существовании «Универсального отчета» (меню Отчеты -> Универсальный отчет). Он позволяет строить отчеты напрямую по регистрам (в данном случае — регистр накопления ТоварыНаСкладах).
В Универсальном отчете работа с дополнительными полями реализована более прозрачно. Разберем, как это сделать там:
Склад.Номенклатура и Характеристика.Этот метод часто оказывается быстрее и надежнее для получения простых плоских таблиц.
Если вы решите реализовать это программно, то работа с ПостроительОтчетов будет выглядеть примерно так (фрагмент для понимания логики настройки программного вывода):
// Пример настройки построителя программно
ПостроительОтчета.ВыводитьДетальныеЗаписи = Истина;
НовоеПоле = ПостроительОтчета.ВыбранныеПоля.Добавить("Номенклатура");
НовоеПоле = ПостроительОтчета.ВыбранныеПоля.Добавить("ХарактеристикаНоменклатуры");
// Настройка размещения доп. полей
ПостроительОтчета.РазмещениеДополнительныхПолей = РазмещениеТекстаРезультатаПостроителяОтчета.ВОтдельныхКолонках;
Таким образом, мы выяснили, что даже в старой доброй УПП на базе Построителя отчетов можно добиться современного табличного представления данных, если правильно использовать комбинацию «Дополнительных полей» и режима «Детальных записей».