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