|
Как правильно составить выражение для ресурса СКД? |
☑ |
0
al_zzz
13.10.22
✎
20:57
|
Суть задачи в следующем: необходимо для подчиненной группировки распределить значение из ресурса старшей группировки.
Например, склад - группировка 1-ого уровня, а номенклатура - ей подчинена. Мне требуется взять значение ресурса "Остаток" из группировки "Склад" и заполнить колонку "Распределение" следующим образом:
Склад/номенклатура | Количество | Остаток | Распределение
Склад1 10 7 0
Номенклатура1 2 0 2
Номенклатура2 2 0 2
Номенклатура3 4 0 4
Номенклатура4 3 0 2
Номенклатура5 2 0 0
.....................................................
Т.е., чтоб остаток 7 распределился на сколько хватит строк вниз по строкам группировки "Номенклатура".
Можно ли как-то задать такое выражение в ресурсе? Как, если можно?
Заранее спасибо!
|
|
1
al_zzz
13.10.22
✎
20:58
|
Только таблицу исходную неправильно сделал.
Склад/номенклатура | Количество | Остаток | Распределение
Склад1 13 7 0
Номенклатура1 2 0 2
Номенклатура2 2 0 2
Номенклатура3 4 0 3
Номенклатура4 3 0 0
Номенклатура5 2 0 0
|
|
2
Мультук
гуру
13.10.22
✎
22:58
|
(1)
Нюансы
1) Не знаю откуда берется 7 -- у меня это некий максимум
2) Если в первой строке вместо 2 будет 8, то считает неправильно, но мне уже лень
3) Наверняка можно проще, но я не знаю как :-)
Скриншот
https://pastenow.ru/09f8ee62c3c0a407e21c88b11bf47277
Статья
https://infostart.ru/1c/articles/1101676/
Обработка
https://dropmefiles.com/ioJqk
|
|
3
al_zzz
14.10.22
✎
06:27
|
(2) Спасибо большое! Мысль понял. Дальше докручу, как нужно.
|
|
4
toypaul
гуру
14.10.22
✎
08:17
|
Сумма(Количество) * ВычислитьВыражение("Сумма(Остаток)/Сумма(Количество)","Склад")
|
|
5
al_zzz
14.10.22
✎
08:59
|
(4) Не, не. Мне не надо пропорционально делить.
|
|
6
toypaul
гуру
14.10.22
✎
09:31
|
(5) ой. понял
|
|
7
toypaul
гуру
14.10.22
✎
09:35
|
Тогда так
ВЫБОР
КОГДА ВычислитьВыражение("Сумма(Количество)",,"Начало","Предыдущая") < ВычислитьВыражение("Сумма(Остаток)","Склад") ТОГДА 0
КОГДА ВычислитьВыражение("Сумма(Количество)",,"Начало","Текущая") < ВычислитьВыражение("Сумма(Остаток)","Склад") ТОГДА Сумма(Количество)
ИНАЧЕ ВычислитьВыражение("Сумма(Количество)",,"Начало","Текущая") - ВычислитьВыражение("Сумма(Остаток)","Склад")
КОНЕЦ
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший