|
помогите с функцией ВычислитьВыражение | ☑ | ||
---|---|---|---|---|
0
Сильф
29.09.15
✎
13:26
|
Коллеги, растолкуйте, пожалуйста, всю голову себе сломал уже.
СКД. В одной из группировок нужно выдавать значение = значение родительской группировки (неважно, какая она) * некий коэффициент. В описание функции ВычислитьВыражение говорится буквально следующее: ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка) Параметры: Выражение. Тип Строка. Содержит вычисляемое выражение; Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. То есть, чтобы указать, что вычислять нужно от родительской группировки, мне обязательно нужно задавать её имя? А если пользователь поменяет структуру отчета? (так и сделал, цифры "поехали", ага) Что делать, куды бечь? |
|||
1
MiamiVice
29.09.15
✎
13:33
|
Что-то не понял, что значит "родительская группировка". Вроде написано или явно указываешь группировку или оставляешь пустой - тогда вычисление по текущей группировке.
|
|||
2
Сильф
29.09.15
✎
13:40
|
Пример:
Подразделение +----Проект +-------День Я подразумеваю, что: "День" - текущая группировка, в ней нужно считать значение "Проект" - "родительская" группировка Если мы поменяем структуру: Проект +----Подразделение +-------День то для группировки "День" родительской будет "Подразделение", и значение должно считаться от значения в этой группировке у меня сейчас написано ВычислитьВыражение("--выражение--", "Проект") * (Коэффициент * 0.01) Пробовал убирать имя группировки - не считает тогда вообще ничего. |
|||
3
Сильф
29.09.15
✎
14:01
|
Или, может, вообще что-то другое здесь нужно?
|
|||
4
aleks_default
29.09.15
✎
14:08
|
Чтобы цифры "не ехали", нужно заполнять поля в "расчитывать по"
|
|||
5
Сильф
29.09.15
✎
14:42
|
(4) они заполнены.
|
|||
6
ЧеловекДуши
29.09.15
✎
14:50
|
(0) Может просто, слепи второй Подзапрос (Набор данных № 2) и все :)
|
|||
7
ЧеловекДуши
29.09.15
✎
14:50
|
(4) Нет, ненужно :)
|
|||
8
ЧеловекДуши
29.09.15
✎
14:51
|
+(6) С нужным отбором и группировкой
|
|||
9
Сильф
29.09.15
✎
20:33
|
В общем, кому интересно - обошёл проблему следующим образом. В процедуре "ПриКомпоновкеРезультата" выясняю, какая группировка в текущих настройках является родительской у груп-ки "День", и на лету в схеме компоновки 1. убиваю все поля итогов (ресурсы), выражения которых нужно поменять; 2. добавляю новые поля итогов, с новыми выражениями. На первый взгляд, похоже на извращение, но код достаточно компактен, хотя и не универсален.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |