Обновлено: 14.02.2008
Под полями-ресурсами в системе компоновки данных подразумеваются поля, значения которых рассчитываются на основании детальных записей, входящих в группировку.
Поле считается ресурсом, если оно добавлено в список полей-ресурсов схемы компоновки данных. Во встроенном языке, поля-ресурсы схемы компоновки данных представляются свойством ПоляИтога объекта СхемаКомпоновкиДанных. В конструкторе схемы компоновки данных добавление поля в список полей-ресурсов осуществляется на закладке Ресурсы.
Для каждого поля-ресурса указывается:
Выражение - формула, по которой будет рассчитано значение поля. Например, выражение Сумма(КоличествоОборот) обозначает, что для вычисления значения поля будет использоваться агрегатная функция Сумма, применяемая для поля КоличествоОборот.
Рассчитывать по... - указывается, для группировок по каким полям будет доступен данный ресурс. В случае если свойство не заполнено, выражение ресурса будет использоваться для всех полей группировки. Если же в данном свойстве указано некоторое поле группировки, то ресурс считается доступным только в данной группировке, для остальных же группировок данный ресурс выводиться не будет.
Например, если поле КоличествоОстаток добавить в список ресурсов и указать, что данный ресурс нужно рассчитывать только по полю Номенклатура, то значение ресурса будет выводиться в отчет только в группировке Номенклатура и вложенных в нее группировках. В других же группировках данный ресурс выводиться не будет.
Номенклатура.Страна происхожд. | Количество оборот |
Номенклатура | |
Контрагент | |
Россия | |
1С:Аспект 7.7 | 8,00 |
Алекс-2002 | 3,00 |
Магазин на ул. Алексеева | 3,00 |
Эльбрус | 2,00 |
Итого |
Кроме того, в случае если в отборе отчета будет установлен отбор на поле Номенклатура с типом сравнения Равно, то значение ресурса также будет выводиться в отчет. Так, например, если в отбор добавить условие Номенклатура = "1С:Аспект 7.7", то во всем отчете будет выводиться значение данного ресурса (разумеется, при условии, что его добавили в выбранные поля настроек).
Отбор: | Номенклатура Равно "1С:Аспект 7.7" | |
Контрагент | Количество оборот | |
Алекс-2002 | 3,00 | |
Магазин на ул. Алексеева | 3,00 | |
Эльбрус | 2,00 | |
Итого | 8,00 |
Отметим, что ресурс не считается доступным для иерархических записей группировки, по которой разрешили его рассчитывать. В предыдущем примере, поле КоличествоОстаток не будет выводиться в иерархических записях группировки Номенклатура.
Номенклатура | Количество оборот |
Программное обеспечение | |
1С:Аспект 7.7 | 8,00 |
1С:Бухгалтерия 7.7 Базовая версия | 5,00 |
1С:Бухгалтерия 7.7 Стандартная версия | 2,00 |
1С:Бухгалтерия ПРОФ версия 7.7 | 6,00 |
1С:Торговля и Склад 7.7 Проф | 6,00 |
Итого |
Кроме полей группировок в свойстве Рассчитывать по... можно указывать специальную группировку ОбщийИтог. В таком случае выражение будет использоваться для вывода общего итога.
Каждое поле может присутствовать в списке ресурсов несколько раз, для различных полей группировок. Т.о. можно указать разные формулы расчета КоличествоОборот для группировок по полю Номенклатура и Контрагент. Однако указание разных выражений одного поля-ресурса для одной и той же группировки не допустимо. Т.е. нельзя указывать два выражения ресурса КоличествоОборот для поля группировки Номенклатура.
Если ресурс определен для нескольких группировок, то в отчет будут выводиться результаты выражений ресурсов, определенных для более близкой группировки.
Например, если определить различные выражение поля СуммаОборот для группировок Контрагент и Номенклатура, а в отчет выводить группировки Контрагент / Номенклатура.СтранаПроисхождения / Номенклатура / Склад, то для группировок Контрагент и Номенклатура.СтранаПроисхождения будет использоваться выражение ресурса определенное для поля Контрагент, а для группировок Номенклатура и Склад выражение определенное для поля группировки Номенклатура.