УНФ 1.6 Затык в Функция ТекстЗапросаПечатьСпецификации()

1. lastrain 1 30.01.23 23:32 Сейчас в теме
Не могу в запросе вытащить итого кол-во/цену/сумму полуфабриката, сложив данные строк материалов.
Подскажите, пожалуйста, как это можно реализовать?
 Запрос = "ВЫБРАТЬ
              |	Спецификации.Ссылка КАК Ссылка,
              |	Спецификации.Наименование КАК Наименование,
              |	Спецификации.Владелец КАК Номенклатура,
              |	Спецификации.ХарактеристикаПродукции КАК Характеристика,
              |	Спецификации.Владелец.Артикул КАК Артикул,
              |	Спецификации.Заказ КАК Заказ,
              |	ВЫБОР
              |		КОГДА Спецификации.Заказ = НЕОПРЕДЕЛЕНО
              |			ТОГДА ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
              |		ИНАЧЕ Спецификации.Заказ.Организация
              |	КОНЕЦ КАК Организация,
              |	Спецификации.Состав.(
              |		ВЫБОР
              |			КОГДА Спецификации.ВидПроизводства = ЗНАЧЕНИЕ(Справочник.ВидыПроизводства.ПустаяСсылка)
              |				ТОГДА 1
              |			ИНАЧЕ 2
              |		КОНЕЦ КАК Уровень,
              |		0 КАК Порядок,
              |		ЛОЖЬ КАК Обработано,
              |		НомерСтроки КАК НомерСтроки,
              |		ТипСтрокиСостава КАК ТипСтрокиСостава,
              |		Номенклатура КАК Номенклатура,
              |		Номенклатура.Артикул КАК Артикул,
              |		Характеристика КАК Характеристика,
              |		ЕдиницаИзмерения КАК ЕдиницаИзмерения,
              |		ВЫБОР
              |			КОГДА Спецификации.Состав.ЕдиницаИзмерения ССЫЛКА Справочник.ЕдиницыИзмерения
              |				ТОГДА Спецификации.Состав.ЕдиницаИзмерения.Коэффициент
              |			ИНАЧЕ 1
              |		КОНЕЦ КАК Коэффициент,
              |		Спецификация КАК Спецификация,
              |		Количество КАК Количество,
              |		КоличествоПродукции КАК КоличествоПродукции,
              |		ВЫБОР
              |			КОГДА Спецификации.ВидПроизводства = ЗНАЧЕНИЕ(Справочник.ВидыПроизводства.ПустаяСсылка)
              |				ТОГДА ЗНАЧЕНИЕ(Справочник.ЭтапыПроизводства.ПустаяСсылка)
              |			ИНАЧЕ Спецификации.Состав.Этап
              |		КОНЕЦ КАК Этап,
              |		ФормулаНоменклатура КАК ФормулаНоменклатура,
              |		ФормулаКоличество КАК ФормулаКоличество,
              |		ИспользуетсяСопоставление КАК ИспользуетсяСопоставление,
              |		Описание КАК Описание,
              |		ВЫБОР
              |			КОГДА Спецификации.ВидПроизводства <> ЗНАЧЕНИЕ(Справочник.ВидыПроизводства.ПустаяСсылка)
              |				ТОГДА ЕСТЬNULL(ВложенныйЗапрос.Цена, 0) * ЕСТЬNULL(Спецификации.Состав.Количество, 0)
              |			ИНАЧЕ 0
              |		КОНЕЦ КАК Сумма,
              |		ВЫБОР
              |			КОГДА Спецификации.ВидПроизводства <> ЗНАЧЕНИЕ(Справочник.ВидыПроизводства.ПустаяСсылка)
              |				ТОГДА ЕСТЬNULL(ВложенныйЗапрос.Цена, 0)
              |			ИНАЧЕ 0
              |		КОНЕЦ КАК Цена
              |	) КАК Состав,
              |	Спецификации.Операции.(
              |		0 КАК Порядок,
              |		НомерСтроки КАК НомерСтроки,
              |		Операция КАК Операция,
              |		НормаВремени КАК НормаВремени,
              |		Количество КАК Количество,
              |		КоличествоПродукции КАК КоличествоПродукции,
              |		ВЫБОР
              |			КОГДА Спецификации.ВидПроизводства = ЗНАЧЕНИЕ(Справочник.ВидыПроизводства.ПустаяСсылка)
              |				ТОГДА ЗНАЧЕНИЕ(Справочник.ЭтапыПроизводства.ПустаяСсылка)
              |			ИНАЧЕ Спецификации.Операции.Этап
              |		КОНЕЦ КАК Этап,
              |		ФормулаОперация КАК ФормулаОперация,
              |		ФормулаКоличество КАК ФормулаКоличество,
              |		ФормулаНормаВремени КАК ФормулаНормаВремени,
              |		ИспользуетсяСопоставление КАК ИспользуетсяСопоставление,
              |		Описание КАК Описание
              |	) КАК Операции,
              |	Спецификации.ВидПроизводства КАК ВидПроизводства,
              |	Спецификации.ВидПроизводства.Этапы.(
              |		НомерСтроки КАК НомерСтроки,
              |		Этап КАК Этап
              |	) КАК Этапы,
              |	ЕСТЬNULL(Спецификации.Заказ.Контрагент, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК Контрагент,
              |	ВложенныйЗапрос.ТипЦен КАК ТипЦен,
              |	ВложенныйЗапрос.Сумма КАК Сумма,
              |	ВложенныйЗапрос.Цена КАК Цена
              |ИЗ
              |	Справочник.Спецификации КАК Спецификации
              |		ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
              |			СпецификацииСостав.Ссылка КАК Ссылка,
              |			ЦеныНоменклатурыСрезПоследних.ВидЦен КАК ТипЦен,
              |			ВЫБОР
              |				КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
              |					ТОГДА 0
              |				ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
              |			КОНЕЦ КАК Цена,
              |			СУММА(ВЫБОР
              |					КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
              |						ТОГДА 0
              |					ИНАЧЕ СпецификацииСостав.Количество * ЦеныНоменклатурыСрезПоследних.Цена
              |				КОНЕЦ) КАК Сумма,
              |			СпецификацииСостав.Количество КАК Количество,
              |			ЕСТЬNULL(СУММА(СпецификацииСостав.Количество), 0) КАК КоличествоИТОГО,
              |			ЕСТЬNULL(СУММА(ЕСТЬNULL(СпецификацииСостав.Количество, 0) * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)), 0) КАК СуммаИТОГО
              |		ИЗ
              |			Справочник.Спецификации.Состав КАК СпецификацииСостав
              |				ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
              |				ПО СпецификацииСостав.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
              |		ГДЕ
              |			ЦеныНоменклатурыСрезПоследних.ВидЦен = &ТипЦен
              |		
              |		СГРУППИРОВАТЬ ПО
              |			СпецификацииСостав.Ссылка,
              |			ЦеныНоменклатурыСрезПоследних.ВидЦен,
              |			СпецификацииСостав.Количество,
              |			ВЫБОР
              |				КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
              |					ТОГДА 0
              |				ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
              |			КОНЕЦ) КАК ВложенныйЗапрос
              |		ПО Спецификации.Ссылка = ВложенныйЗапрос.Ссылка
              |ГДЕ
              |	Спецификации.Ссылка В(&МассивОбъектов)
              |ИТОГИ ПО
              |	ОБЩИЕ";
  
    
        Возврат Запрос;
Показать
Прикрепленные файлы:
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

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