Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Функциональные опции и права на просмотр поля в отчете
Дальше: Параметры

Ресурсы

Под полями-ресурсами в системе компоновки данных подразумеваются поля, значения которых рассчитываются на основании детальных записей, входящих в группировку. По сути ресурсы являются групповыми или общими итогами отчета. В приведенном примере в отчет выводятся ресурсы Количество и Стоимость (рис. 3.155).

Рис. 3.155. Вывод ресурсов отчета

Во встроенном языке поля-ресурсы схемы компоновки данных представляются свойством ПоляИтога объекта СхемаКомпоновкиДанных. В конструкторе схемы компоновки данных добавление поля в список полей-ресурсов осуществляется на закладке Ресурсы.

Для каждого поля-ресурса указывается:

Рис. 3.156. Ресурсы отчета

Например, в приведенном выше примере ресурс Количество отчета Продажи номенклатуры будет рассчитываться только для группировки Номенклатура и ее иерархических группировок, а также вложенных в нее группировок, для которых не задано собственное выражение данного ресурса. Для других группировок он выводиться не будет. Это свойство требуется устанавливать в случаях, когда итоги по разным группировкам или общие итоги не имеют смысла (рис. 3.157).

Рис. 3.157. Результат отчета

В результате мы видим, что ресурс Количество рассчитывается только по номенклатуре и не выводится для группировки Контрагент и в общих итогах. Дело в том, что контрагенту могут быть проданы разные виды номенклатуры, и не имеет смысла складывать количество услуг с количеством комплектующих.

Изменим вариант отчета – укажем для группировки Номенклатура тип группировки Иерархия. В результате в отчете будут выведены иерархические записи номенклатуры и для них будут посчитаны итоги по полю Количество, так как в колонке Рассчитывать по… для этого ресурса (см. рис. 3.156) были указаны группировки Номенклатура и НоменклатураИерархия (рис. 3.158).

Рис. 3.158. Результат отчета

Однако если в отборе отчета будет установлен отбор на поле Номенклатура с типом сравнения Равно, то значение ресурса будет выводиться во все группировки отчета, независимо от группировок, указанных для ресурса в колонке Рассчитывать по… (рис. 3.159).

Рис. 3.159. Результат отчета

Кроме полей группировок в свойстве Рассчитывать по... можно указывать специальную группировку ОбщийИтог. В таком случае выражение будет использоваться для вывода общего итога (см. рис. 3.160).

Каждое поле может присутствовать в списке ресурсов несколько раз, для различных полей группировок. Например, можно указать разные формулы расчета ресурса Стоимость для группировок по полю Номенклатура и Контрагент. Это требуется в случаях, когда итог подсчитывается по-разному для разных группировок (см. рис. 3.160). Однако указание различных выражений одного поля-ресурса для одной и той же группировки недопустимо.

В приведенном примере задано, что ресурс Количество будет рассчитываться только для специальной группировки Общий итог. Для ресурса Стоимость установлены различные выражения расчета: для группировки Контрагент, КонтрагентИерархия как Максимум(Стоимость) и группировок Номенклатура и Общий итог как Сумма(Стоимость), рис. 3.160.

Рис. 3.160. Установка различных выражений для расчета ресурса

В результате общее количество продаж выводится только в итоге отчета, а стоимость продаж для контрагентов рассчитывается как максимальная сумма продаж этому контрагенту. Стоимость продаж по номенклатуре и в общем итоге рассчитывается как суммарная стоимость всех продаж по данной номенклатуре или по всем записям отчета (рис. 3.161).

Рис. 3.161. Результат отчета

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

Рис. 3.162. Ресурсы отчета

Например, в общем модуле ФункцииДляОтчетов есть функция ABCКлассификация(Данные), позволяющая классифицировать контрагентов в зависимости от объема продаж. Тогда в выражении для расчета ресурса можно воспользоваться следующим выражением (листинг 3.44).

Листинг 3.44. Выражение для расчета ресурса «АВСКлассификация»

ФункцииДляОтчетов. ABCКлассификация(ГрупповаяОбработка("Сумма(Стоимость)"))

Кроме того, в данном отчете в выражениях для расчета ресурсов используются функции, вычисляющие выражения для родительских группировок, для вложенных группировок; ресурсы рассчитываются для определенного значения измерения, по заданному интервалу и т. д. Более подробно об использовании языка выражений системы компоновки данных можно прочитать в книге «1С:Предприятие 8.2. Руководство разработчика», гл. 10.3.7.2.

Для каждого числового поля-ресурса системы компоновки данных платформа автоматически рассчитывает подчиненные поля: ПроцентВИерархии, ПроцентВГруппе, ПроцентОбщий и др. Эти поля можно использовать в отчете наряду с другими доступными полями набора данных (рис. 3.163).

Рис. 3.163. Поля отчета

Так, в отчете Отчет по продажам наряду с полем Стоимость выводятся поля ПроцентВГруппе, ПроцентОбщий, отражающие для каждой группировки процент от общей стоимости продаж и процент от стоимости продаж в группе (рис. 3.164).

Рис. 3.164. Результат отчета

Назад: Функциональные опции и права на просмотр поля в отчете
Дальше: Параметры