Написал запрос по сбору веса продукции из затраченных материалов
Может у кого есть идеи для оптимизации?
У меня не больше 4 уровней вложенности, как сделать независимо от количества уровней?
Не пойму как сюда припаять рекурсию
Может у кого есть идеи для оптимизации?
У меня не больше 4 уровней вложенности, как сделать независимо от количества уровней?
Не пойму как сюда припаять рекурсию
ВЫБРАТЬ
ЭтапПроизводства2_2ВыходныеИзделия.Ссылка КАК Ссылка,
ЭтапПроизводства2_2ВыходныеИзделия.Номенклатура КАК Номенклатура,
СУММА(ЭтапПроизводства2_2ВыходныеИзделия.Количество) КАК Количество
ПОМЕСТИТЬ ВТ_ВЫПУСК
ИЗ
Документ.ЭтапПроизводства2_2.ВыходныеИзделия КАК ЭтапПроизводства2_2ВыходныеИзделия
ГДЕ
ЭтапПроизводства2_2ВыходныеИзделия.Ссылка.НаправлениеДеятельности = &НД
СГРУППИРОВАТЬ ПО
ЭтапПроизводства2_2ВыходныеИзделия.Ссылка
,ЭтапПроизводства2_2ВыходныеИзделия.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка КАК Ссылка,
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество * Ном.ВесЧислитель / ВЫБОР
КОГДА Ном.ВесЗнаменатель = 0
ТОГДА 1
ИНАЧЕ Ном.ВесЗнаменатель
КОНЕЦ * Ном.ЕдиницаИзмерения.Числитель / ВЫБОР
КОГДА Ном.ЕдиницаИзмерения.Знаменатель = 0
ТОГДА 1
ИНАЧЕ Ном.ЕдиницаИзмерения.Знаменатель
КОНЕЦ) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕСматериалы1
ИЗ
Документ.ЭтапПроизводства2_2.ОбеспечениеМатериаламиИРаботами КАК ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном
ПО (ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Номенклатура = Ном.Ссылка)
ГДЕ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка.НаправлениеДеятельности = &НД
СГРУППИРОВАТЬ ПО
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка
ИМЕЮЩИЕ
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество * Ном.ВесЧислитель / ВЫБОР
КОГДА Ном.ВесЗнаменатель = 0
ТОГДА 1
ИНАЧЕ Ном.ВесЗнаменатель
КОНЕЦ * Ном.ЕдиницаИзмерения.Числитель / ВЫБОР
КОГДА Ном.ЕдиницаИзмерения.Знаменатель = 0
ТОГДА 1
ИНАЧЕ Ном.ЕдиницаИзмерения.Знаменатель
КОНЕЦ) > 0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
//вт.Ссылка
вт.Номенклатура
,СУММА(вт.Количество)
,Сумма(втВес.ВЕС)
ПОМЕСТИТЬ ВТ_ЭтапыВЕС_Выпуск1
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы1 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
//вт.Ссылка
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка КАК Ссылка,
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество *
Ном.ВЕС/Ном.Количество) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕСматериалы2
ИЗ
Документ.ЭтапПроизводства2_2.ОбеспечениеМатериаламиИРаботами КАК ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕС_Выпуск1 КАК Ном
ПО (ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Номенклатура = Ном.Номенклатура)
ГДЕ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка.НаправлениеДеятельности = &НД
СГРУППИРОВАТЬ ПО
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка
ИМЕЮЩИЕ
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество *
Ном.Количество/Ном.ВЕС)>0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕС_Выпуск2
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы1 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ОБЪЕДИНИТЬ
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы2 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка КАК Ссылка,
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество *
Ном.ВЕС/Ном.Количество) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕСматериалы3
ИЗ
Документ.ЭтапПроизводства2_2.ОбеспечениеМатериаламиИРаботами КАК ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕС_Выпуск2 КАК Ном
ПО (ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Номенклатура = Ном.Номенклатура)
ГДЕ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка.НаправлениеДеятельности = &НД
СГРУППИРОВАТЬ ПО
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка
ИМЕЮЩИЕ
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество *
Ном.Количество/Ном.ВЕС)>0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕС_Выпуск3
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы1 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ОБЪЕДИНИТЬ
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы2 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ОБЪЕДИНИТЬ
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы3 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка КАК Ссылка,
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество *
Ном.ВЕС/Ном.Количество) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕСматериалы4
ИЗ
Документ.ЭтапПроизводства2_2.ОбеспечениеМатериаламиИРаботами КАК ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕС_Выпуск3 КАК Ном
ПО (ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Номенклатура = Ном.Номенклатура)
ГДЕ
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка.НаправлениеДеятельности = &НД
СГРУППИРОВАТЬ ПО
ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Ссылка
ИМЕЮЩИЕ
СУММА(ЭтапПроизводства2_2ОбеспечениеМатериаламиИРаботами.Количество *
Ном.Количество/Ном.ВЕС)>0
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ПОМЕСТИТЬ ВТ_ЭтапыВЕС_Выпуск4
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы1 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ОБЪЕДИНИТЬ
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы2 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ОБЪЕДИНИТЬ
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы3 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ОБЪЕДИНИТЬ
ВЫБРАТЬ
вт.Номенклатура
,Сумма(вт.Количество)
,Сумма(втВес.ВЕС) КАК ВЕС
ИЗ
ВТ_ВЫПУСК КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЭтапыВЕСматериалы4 КАК втВЕС ПО втВЕС.Ссылка=вт.Ссылка
СГРУППИРОВАТЬ ПО
вт.Номенклатура
ИМЕЮЩИЕ
Сумма(втВес.ВЕС)>0
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот