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