|
СКД. Вычисление выражения по нижестоящей группировке | ☑ | ||
---|---|---|---|---|
0
vicof
14.03.14
✎
13:54
|
Пусть есть три группировки Контрагент, Договор, ПериодМесяц и ресурс ОДЗ.
Хочется на уровне группировки по договору для ОДЗ видеть значение ОДЗ по последнему периоду. Пишу так: ВычислитьВыражение("СУММА(ОДЗ)", "ПериодМесяц", "Группировка", "Последняя", "Последняя") рассчитываю это выражение для Договора. Для остальных группировок просто СУММА(ОДЗ) В результате в поле ОДЗ для Договора ничего не попадает. В чем проблема? |
|||
1
ИС-2
naïve
14.03.14
✎
14:06
|
у меня так и ничего не получилось
v8: Вычисление ресурса группировки в СКД на основании другой группировки |
|||
2
Armando
14.03.14
✎
14:07
|
(0) Может сортировку надо указать?
|
|||
3
vicof
14.03.14
✎
14:13
|
(2) Не, сортировка тут не нужна. Если для нижестоящих группировок или ПериодМесяц указывать мое выражение, то для них мое выражение считается нормально, а для вышестоящей не хочет, как у (1)
|
|||
4
vicof
14.03.14
✎
14:41
|
Призываю Железодемона и Дефендера :)
|
|||
5
fisher
14.03.14
✎
14:58
|
Проблема в том, что ВычислитьВыражение() не работает для нижестоящих группировок.
|
|||
6
vicof
14.03.14
✎
14:59
|
(5) Спасибо, тогда как можно поступить?
|
|||
7
ИС-2
naïve
14.03.14
✎
15:00
|
мне пришлось делать функцию в общем модуле и отправлять туда таблицу значений для расчета
|
|||
8
fisher
14.03.14
✎
15:04
|
(6) Честно говоря, плохо помню, чем закончились мои борения с аналогичной проблемой. Толи таки красиво решил, то ли выкрутился альтернативно. Попробуй "обернуть" это дело в формуле ресурса ВычислитьВыражениеСГруппировкойМассив(), чтобы "поднять" полученные данные на верхний уровень.
|
|||
9
fisher
14.03.14
✎
15:05
|
То бишь попробуй в формуле вычисляемого поля ВычислитьВыражение(), а в формуле ресурса по этому полю - ВычислитьВыражениеСГруппировкойМассив()
|
|||
10
vicof
14.03.14
✎
15:07
|
(9) щас, забацаю
|
|||
11
fisher
14.03.14
✎
15:08
|
Точно помню, что пробовал этот вариант. Но не могу вспомнить, успешно ли :)
|
|||
12
Necessitudo
14.03.14
✎
15:36
|
(11) Я пробовал неоднократно. Вполне успешно)
|
|||
13
Necessitudo
14.03.14
✎
15:39
|
только тут наверное нужно поднимать наверх ТЗ - ВычислитьВыражениеСГруппировкойТаблицаЗначений с колонками Период и ОДЗ - потом передавать эту тз во внешнюю функцию и там считать.
|
|||
14
vicof
14.03.14
✎
16:42
|
(13) Не хочу корежить модули.
(11) не получается. http://hkar.ru/qEbK http://hkar.ru/qEbM Ругается на то, что не может вычислить выражение Выражение не может быть вычислено "ОДЗ_ПДЗ.ОДЗ, ПериодМесяц" |
|||
15
fisher
14.03.14
✎
17:05
|
Покажи полностью выражение ресурса. И почему "рассчитывать по" стоит "ПериодМесяц"? Вроде ж по договору считать собирался? На этапе экспериментов лучше поубирай везде "Рассчитывать по" и второй ресурс, чтобы не мешались.
|
|||
16
vicof
14.03.14
✎
17:14
|
И почему "рассчитывать по" стоит "ПериодМесяц"
Это я экспериментирую :) ВычислитьВыражениеСГруппировкойМассив("Сумма(ОДЗ1)", "ПериодМесяц"), рассчитывать по ДоговорКонтрагента Остальные расчеты по ресурсам убрал, все равно также ругается, и я так подозреваю на вычисляемое поле. |
|||
17
vicof
14.03.14
✎
17:23
|
"подозреваю на вычисляемое поле."
зачеркнуть, написать без на |
|||
18
ppdisk
14.03.14
✎
17:32
|
У меня в своё время получлось так: ВычислитьВыражение("Сумма(СуммаОборот)", "", "Группировка")
|
|||
19
vicof
14.03.14
✎
17:51
|
(18) Так считает, но после этого в ВычислитьВыражениеСГруппировкойМассив("Сумма(ОДЗ1)", "ПериодМесяц") появляются три строчки с нужными суммами за три месяца, как бы мне теперь их отсортироватьи отобрать только одну
|
|||
20
vicof
14.03.14
✎
18:52
|
(19) Отсортировал. Как получить одну сроку из таблицы?, [0] не катит
|
|||
21
echo77
14.03.14
✎
19:38
|
(20) Фильтрануть? Применить функцию Максимум()?
|
|||
22
vicof
14.03.14
✎
20:30
|
не получилось, написал "периодмесяц=максимум(периодмесяц)" в параметре
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |