ВычислитьВыражениеСГруппировкойМассив

1. Vellosity 04.07.22 13:46 Сейчас в теме
Добрый день.

Пожалуйста помогите решить вопрос.

Есть следующая схема (см. картинку). Вывод с помощью СКД.

В детальных записях с реализациями значение "Количество в заказе" содержит количество бутылок, содержащееся в заказе -> его суммировать нельзя!

Из-за этого ресурс "КоличествоВЗаказе" с выражением Сумма("КоличествоВЗаказе") выводится некорректно.

Понял, что нужно делать как-то через ВычислитьВыражениеСГруппировкойМассив, но не понял как работает данный механизм.

Попробовал написать так: Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоВЗаказе)","Номенклатура")). Эта схема работает только в том случае, если у нас один заказ под каждой номенклатурой. Если заказов > чем 1, то работать начинает не так как нужно.

Кому не сложно, помогите. Мне нужно посмотреть на один правильный пример, дальше разберусь сам. Спасибо!
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
3. Vellosity 04.07.22 16:15 Сейчас в теме
(2) Спасибо за ответ!

На вход поступает таблица данных вида (пробелы для наглядности):

Контрагент1|Номенклатура1|Заказ1|Реализация1|КоличествоЗаказВСЕГО|КоличествоРеализацияЧАСТЬЗАКАЗА
.........................
Контрагент1|Номенклатура1|Заказ1|РеализацияN|КоличествоЗаказВСЕГО|КоличествоРеализацияЧАСТЬЗАКАЗА

Далее последовательно по заказам из отбора.

Через связи наборов данных не понял как сделать.


Сделал так, может кому пригодится, всё работает
Для подсчета по заказам:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоЗаказ)","Заказ,Номенклатура,Контрагент"))


Для подсчета по реализациям:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(РеализацияКоличество)","Заказ,Номенклатура,Контрагент")))


Для подсчета недопоставки:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоЗаказ)","Заказ,Номенклатура,КаналСбыта")) - Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(РеализацияКоличество)","Заказ,Номенклатура,КаналСбыта")))


Не уверен, что это правильно с точки зрения реализации, но работает.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 04.07.22 15:06 Сейчас в теме
(1) Не пойму в чем проблема
Прикрепленные файлы:
3. Vellosity 04.07.22 16:15 Сейчас в теме
(2) Спасибо за ответ!

На вход поступает таблица данных вида (пробелы для наглядности):

Контрагент1|Номенклатура1|Заказ1|Реализация1|КоличествоЗаказВСЕГО|КоличествоРеализацияЧАСТЬЗАКАЗА
.........................
Контрагент1|Номенклатура1|Заказ1|РеализацияN|КоличествоЗаказВСЕГО|КоличествоРеализацияЧАСТЬЗАКАЗА

Далее последовательно по заказам из отбора.

Через связи наборов данных не понял как сделать.


Сделал так, может кому пригодится, всё работает
Для подсчета по заказам:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоЗаказ)","Заказ,Номенклатура,Контрагент"))


Для подсчета по реализациям:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(РеализацияКоличество)","Заказ,Номенклатура,Контрагент")))


Для подсчета недопоставки:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоЗаказ)","Заказ,Номенклатура,КаналСбыта")) - Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(РеализацияКоличество)","Заказ,Номенклатура,КаналСбыта")))


Не уверен, что это правильно с точки зрения реализации, но работает.
4. RustamZz 04.07.22 16:58 Сейчас в теме
(3) Обычно информация заказано в одном регистре, отгружено совершенно в другом, как они на входе у вас соединились не понятно. Хорошо что удалось разобраться с ВычислитьВыражениеСГруппировкой - в любом случае будет полезный опыт.
Vellosity; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот