![]() |
|
СКД корректный расчет суммы по общему полю | ☑ | ||
---|---|---|---|---|
0
grasshoper
12.05.21
✎
14:58
|
Добрый день. Столкнулся с проблемой суммирования в СКД. К примеру: есть номенклатура заказа, её количество кг. Каждую такую номенклатуру из заказа разбиваю по рецептуре на комплектующие и их содержание в кг.
Пример: Заказ: |----------------------------| |Номенклатура |Количество кг | |-------------|--------------| |Сборка 1 |3 | |----------------------------| Рецептура (на 1000 кг номенклатуры): |----------------------------------------------------------| |Номенклатура |Комплектующее |Количество комплектующего кг | |-------------|--------------|-----------------------------| |Сборка 1 |Узел 1 |300 | | |Узел 2 |700 | |----------------------------------------------------------| Отчет: |-------------------------------------------------------------------------| |Номенклатура |Количество кг |Комплектующее |Количество комплектующего кг | |-------------|--------------|--------------|-----------------------------| |Сборка 1 |3 |Узел 1 |0,900 | |Сборка 1 |3 |Узел 2 |2,100 | |-------------|--------------|--------------|-----------------------------| |Итоги: |6 | |3,000 | |-------------------------------------------------------------------------| Должно быть 3 Сам запрос: //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Документы.Номенклатура КАК Номенклатура, Документы.КоличествоКг КАК КоличествоКг, Рецептуры.КомплектующееНоменклатура КАК КомплектующееНоменклатура, Документы.КоличествоКг * Рецептуры.КомплектующееКоличествоКг / 1000 КАК СодержаниеКомплектующегоКг ИЗ Документы КАК Документы ЛЕВОЕ СОЕДИНЕНИЕ Рецептуры КАК Рецептуры ПО (Рецептуры.Номенклатура = Документы.Номенклатура) И (Рецептуры.ДатаУтверждения В (ВЫБРАТЬ МАКСИМУМ(Рецептуры.ДатаУтверждения) ИЗ Рецептуры КАК Рецептуры ГДЕ Рецептуры.Номенклатура = Документы.Номенклатура И Рецептуры.ДатаУтверждения <= Документы.Период)) Задача: Как заставить СКД правильно суммировать "Количество кг"? |
|||
1
Ivan_495
12.05.21
✎
15:06
|
Правое напиши вместо Левое
|
|||
2
toypaul
гуру
12.05.21
✎
15:35
|
Один из вариантов сделать 2 набора данных - в первом данные по номенклатуре, во 2м данные по компонентам. Связать между собой. Суммирование будет работать правильно
Этот вариант и второй вариант решения рассматривали в курсе https://learn.programstore.ru/skd2-intensiv |
|||
3
grasshoper
12.05.21
✎
15:38
|
(2) пока решил добавлением выражения (Сумма(КоличествоКг) / Количество(КомплектующееНоменклатура)) для ресурса "Количество кг".
|
|||
4
grasshoper
12.05.21
✎
15:57
|
(2) ссылка не работает
|
|||
5
grasshoper
12.05.21
✎
16:04
|
(3) при многоуровневых группировках выражение Сумма(КоличествоКг) / Количество(КомплектующееНоменклатура) считает уже неправильно
|
|||
6
toypaul
гуру
12.05.21
✎
16:30
|
(4) у меня все работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |