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