Доброго времени суток! Может кто то знает как получить состав измерений группировки СКД? Допустим, есть отчет с группировками Организация/Контрагент/Склад/Номенклатура/ДитальныеЗаписи, и я хочу вызвать функцию из общего модуля которая рассчитывает какое либо значение в зависимости от группировки в которой рассчитывается итог, т.е. на вкладке "Ресурсы" макета компоновки данных в колонке "Выражение" я прописываю функцию из общего модуля, и вот тут то, мне нужно как то понять по каким измерениям мне нужно выполнить расчеты. К примеру нужно рассчитать остатки по регистру накопления в зависимости от группировки (расчеты гораздо сложнее, такой пример привел для простоты понимания) - если итог рассчитывается в группировке Организация/Контрагент/Склад/Номенклатура, то получить остатки в разрезе Организация, Контрагент, Склад, Номенклатура, если итог рассчитывается в группировке Организация/Контрагент/Склад, то получить остатки в разрезе Организация, Контрагент, Склад, и т.д. Что то не могу понять как такое сделать :( Заранее спасибо!
---
Спасибо за подсказку. Решил проблему следующим образом:
в выражении ресурса указал

```1c
    ОбщийМодуль.ОстаткиПоРазрезам(ВычислитьВыражение("Организация", "Организация"), ВычислитьВыражение("Склад", "Склад"), ВычислитьВыражение("Номенклатура", "Номенклатура"))
```

И если расчет ведется в группировке Организация/Склад/Номенклатура, то все 3 параметра приходят заполненными, если же расчет происходит в группировке Организация/Склад, параметр Номенклатура равен Null, и таким образом я понимаю в какой группировке нахожусь. Кроме того, в моем случае изменение группировки в отчете никак не повлияет на расчеты, т.к. по сути мне нужен состав разрезов, а их последовательность в группировке отчета не важна.
---
Еще интереснее будет когда пользователь поменяет группировку в отчете. Вообще в ресурсах можно настроить по каким группировкам их рассчитывать и это можно использовать. Хотя ваша идея мне не по душе. Слишком сложно все выглядит в первом приближении.
---
Да, забыл упомянуть, что группировку действительно могут изменить, к примеру поменять местами группировку Склад/Номенклатура, Номенклатура/Склад. Поэтому и нужно как то понять в какой группировке я нахожусь
---
я создавал макет поля и в его расшифровку помещал нужные поля

```1c
    Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
    СтандартнаяОбработка = Ложь;
    ПоляРасшифровки = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
    Если ПоляРасшифровки.Количество() = 5 Тогда
    //здесь мы получили поля и делаем с ними что хотим
    // Для каждого Поле Из ПоляРасшифровки Цикл
    // Поле.Поле = Поле.Значение;
    // КонецЦикла;
    КонецЕсли;
    КонецПроцедуры
```
---
Интересно, сейчас попробую "переварить"...
---
ВычислитьВыражение("Сумма(Сумма)", "Поставщик", ,"Предыдущая", "Текущая")
тут
---
Какое совпадение - только что смотрел данную публикацию, надеялся решить данную проблему с помощью функций СКД, но не могу понять как в моем случае пользоваться функцией ВычислитьВыражение
---
Спасибо за подсказку. Решил проблему следующим образом:
в выражении ресурса указал

```1c
    ОбщийМодуль.ОстаткиПоРазрезам(ВычислитьВыражение("Организация", "Организация"), ВычислитьВыражение("Склад", "Склад"), ВычислитьВыражение("Номенклатура", "Номенклатура"))
```

И если расчет ведется в группировке Организация/Склад/Номенклатура, то все 3 параметра приходят заполненными, если же расчет происходит в группировке Организация/Склад, параметр Номенклатура равен Null, и таким образом я понимаю в какой группировке нахожусь. Кроме того, в моем случае изменение группировки в отчете никак не повлияет на расчеты, т.к. по сути мне нужен состав разрезов, а их последовательность в группировке отчета не важна.
---
До написания вопроса на форуме я рассчитывал на тот же результат вызывая функцию без "прогона" через ВычислитьВыражение:

```1c
    ОбщийМодуль.ОстаткиПоРазрезам(Организация, Склад, Номенклатура)
```

но в этом случае все параметры, всегда были заполнены, во всех группировках, причем каким то хаотическим образом, а функция ВычислитьВыражение все поставила на свои места
---
Может с помощью функций СКД можно как-то получить имя текущей и выше стоящих группировок?
---
Всем спасибо! Решил проблему с помощью функции СКД ВычислитьВыражение (см. выше), этот вариант мне показался самым простым.