![]() |
|
СКД. Расчет ресурсов | ☑ | ||
---|---|---|---|---|
0
SeiOkami
28.12.15
✎
17:01
|
Здравия всем!
Такой вопрос. Кучи раз сталкиваюсь с тем, что нужно настроить расчет ресурсов так, чтобы не было "замножений". Например, результат запроса: Документ, СуммаДокумента, Номенклатура, СуммаНоменклатуры Документ1 , 100 р. , Номенлкатура1, 33р. Документ1 , 100 р. , Номенклатура2, 12р. Итоги должны быть такие: Документ1 , 100 р. , 35 р. Решается это разными путями. И разбивкой на два набора данных. И добавлений хитрых функций в расчетах ресурса. Например: Сумма(Массив(ТаблицаЗначений(Различные Документ, СуммаДокумента))) Однако разного рода хитрые ресурсы либо заметно замедляют вывод, либо могут косячить при играх с отборами. А разбиение единого запроса на несколько наборов данных иногда так же является неоптимальным повторным выбором одних и тех же данных из базы. Неужели нет нормального адекватного способа? Вроде какой-нить галочки. |
|||
1
SeiOkami
28.12.15
✎
17:01
|
Пардон,
Итоги должны быть такие: Документ1 , 100 р. , 45 р. |
|||
2
SeiOkami
28.12.15
✎
17:04
|
Догадываюсь, что это я просто не знаю какой-то банальщины...
|
|||
3
FIXXXL
28.12.15
✎
17:07
|
мож тебе внутри документа по его сумме какой-нить МАКСИМУМ вместо СУММА сделать?
|
|||
4
SeiOkami
28.12.15
✎
17:11
|
(3), да, думал о том, чтобы как-то сделать разную логику расчета ресурсов для разных группировок. Но проблема в том, что когда для группировки по документу делаешь о один расчет (можно даже без функций - просто СуммаДокумента), а для общих итогов другой Сумма(СуммаДокумента), то по группировке по документу все хорошо, а вот итоговые суммы опять множатся. Потому что расчет ресурса для итогов происходит не путем сложения значений ресурса из вложенных группировок, а путем пересчета всех группировок по новой заданной формуле.
|
|||
5
YAGolova
28.12.15
✎
17:24
|
(4) я делаю через вычислитьвыражениесгруппировкоймассив, но к сожалению со всеми описанными проблемами тоже сталкивался
|
|||
6
YAGolova
28.12.15
✎
17:26
|
раньше когда этой великолепной функции не было я бил сумму пропорционально других сумм (или количеству строк), а в ресурсах просто складывал. Работают в этом случае и отборы и все прочее, но геморроя при написании отчета в разы больше))))))
|
|||
7
Nuobu
28.12.15
✎
17:59
|
(6) Тоже так делал, потом стал делать два набора, ну а потом вычислитьвыражениесгруппировкоймассив
|
|||
8
echo77
28.12.15
✎
18:39
|
(0) Нельзя требовать от программы одновременно универсальности и повышенной функциональности.
Все описанные вами приемы имеют место быть и лучше подходят для каждой конкретной ситуации. Но, ИМХО использование двойной агрегации с помощью функции вычислитьвыражениесгруппировкоймассив - это решение через одно место |
|||
9
SeiOkami
29.12.15
✎
07:46
|
(5),(7), а как выглядеть будет функция с использованием вычислитьвыражениесгруппировкоймассив для примера в (0) ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |