Обновлено: 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
Итого  

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

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

Если ресурс определен для нескольких группировок, то в отчет будут выводиться результаты выражений ресурсов, определенных для более близкой группировки.

Например, если определить различные выражение поля СуммаОборот для группировок Контрагент и Номенклатура, а в отчет выводить группировки Контрагент / Номенклатура.СтранаПроисхождения / Номенклатура / Склад, то для группировок Контрагент и Номенклатура.СтранаПроисхождения будет использоваться выражение ресурса определенное для поля Контрагент, а для группировок Номенклатура и Склад выражение определенное для поля группировки Номенклатура.