Не получается в СКД соединение табличной части документа с регистром "Закупки"

1. kgn2011 5 11.08.17 17:24 Сейчас в теме
Не получается Левое соединение табличной части документа с регистром "Закупки" -оборотный регистр.
В прикр.таблице [..xls показано как должно быть.
Конфигурация УТ 10.2 не типовая.
Надо в запросе по док-м Готовая продукция(похож на ОтчетПроизводстваЗаСмену) за период получить Кол-во выпущенной продукции c материалами.
По табл.части "Материалы" достать последнюю цену на конец периода из регистра "Закупки".

Цены достаю правильно.Проблема в том,что если нет этого материала в регистре,то в результате запроса эта строчка материала исчезает.
Вот запрос...подскажите

ВЫБРАТЬ
	ВложенныйЗапрос.Материал1 КАК Материал1,
	ВложенныйЗапрос.ХарактеристикаМатериала1 КАК ХарактеристикаМатериала1,
	ВложенныйЗапрос.ЕдиницаИзмеренияМат1 КАК ЕдиницаИзмеренияМат1,
	СУММА(ВложенныйЗапрос.КоличествоМат1) КАК КоличествоМат1,
	ВложенныйЗапрос.НоменклатураБазоваяЕдиницаИзмерения1 КАК НоменклатураБазоваяЕдиницаИзмерения1,
	СУММА(ВложенныйЗапрос.КоличествоМатЕдОтч1) КАК КоличествоМатЕдОтч1,
	МИНИМУМ(ВложенныйЗапрос.НомерСтроки1) КАК НомерСтроки1,
	ВложенныйЗапрос.Ссылка1 КАК Ссылка1,
	ВложенныйЗапрос.Продукция1 КАК Продукция1,
	ВложенныйЗапрос.ХарактеристикаПродукции1 КАК ХарактеристикаПродукции1,
	ВложенныйЗапрос.ЕдиницаИзмерения1 КАК ЕдиницаИзмерения1,
	СУММА(ВложенныйЗапрос.КоличествоПрод1) КАК КоличествоПрод1,
	СУММА(ВЫБОР
			КОГДА ЗакупкиОбороты.КоличествоОборот <> 0
				ТОГДА ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот
			ИНАЧЕ 0
		КОНЕЦ) КАК ЦенаЗакупки1
{ВЫБРАТЬ
	Материал1.*,
	ХарактеристикаМатериала1.*,
	ЕдиницаИзмеренияМат1.*,
	КоличествоМат1,
	НоменклатураБазоваяЕдиницаИзмерения1.*,
	КоличествоМатЕдОтч1,
	НомерСтроки1,
	Ссылка1.*,
	Продукция1.*,
	ХарактеристикаПродукции1.*,
	ЕдиницаИзмерения1.*,
	КоличествоПрод1,
	ЦенаЗакупки1}
ИЗ
	(ВЫБРАТЬ
		ВложенныйЗапрос1.Материал1 КАК Материал1,
		ВложенныйЗапрос1.ХарактеристикаМатериала1 КАК ХарактеристикаМатериала1,
		ВложенныйЗапрос1.НоменклатураБазоваяЕдиницаИзмерения1 КАК НоменклатураБазоваяЕдиницаИзмерения1,
		ВложенныйЗапрос1.ЕдиницаИзмеренияМат1 КАК ЕдиницаИзмеренияМат1,
		СУММА(ВложенныйЗапрос1.КоличествоМат1) КАК КоличествоМат1,
		СУММА(ВложенныйЗапрос1.КоличествоМатЕдОтч1) КАК КоличествоМатЕдОтч1,
		СУММА(ВложенныйЗапрос1.НомерСтроки1) КАК НомерСтроки1,
		ГотоваяПродукцияПродукция.Ссылка КАК Ссылка1,
		ГотоваяПродукцияПродукция.Номенклатура КАК Продукция1,
		ГотоваяПродукцияПродукция.ХарактеристикаПродукции КАК ХарактеристикаПродукции1,
		ГотоваяПродукцияПродукция.ЕдиницаИзмерения КАК ЕдиницаИзмерения1,
		СУММА(ГотоваяПродукцияПродукция.Количество) КАК КоличествоПрод1
	{ВЫБРАТЬ
		НомерСтроки1,
		Материал1.*,
		ХарактеристикаМатериала1.*,
		НоменклатураБазоваяЕдиницаИзмерения1.*,
		ЕдиницаИзмеренияМат1.*,
		КоличествоМат1,
		КоличествоМатЕдОтч1,
		Ссылка1.*,
		Продукция1.*,
		ХарактеристикаПродукции1.*,
		ЕдиницаИзмерения1.*,
		КоличествоПрод1}
	ИЗ
		(ВЫБРАТЬ
			МИНИМУМ(ГотоваяПродукцияМатериалы.НомерСтроки) КАК НомерСтроки1,
			ГотоваяПродукцияМатериалы.Номенклатура КАК Материал1,
			ГотоваяПродукцияМатериалы.ХарактеристикаНоменклатуры КАК ХарактеристикаМатериала1,
			СУММА(ГотоваяПродукцияМатериалы.Количество * ГотоваяПродукцияМатериалы.Коэффициент) КАК КоличествоМат1,
			ГотоваяПродукцияМатериалы.Коэффициент КАК Коэффициент,
			ГотоваяПродукцияМатериалы.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения1,
			ГотоваяПродукцияМатериалы.ЕдиницаИзмерения КАК ЕдиницаИзмеренияМат1,
			СУММА(ВЫБОР
					КОГДА ГотоваяПродукцияМатериалы.Коэффициент = 1
						ТОГДА ГотоваяПродукцияМатериалы.Количество / ГотоваяПродукцияМатериалы.Номенклатура.ЕдиницаДляОтчетов.Коэффициент
					ИНАЧЕ ГотоваяПродукцияМатериалы.Количество
				КОНЕЦ) КАК КоличествоМатЕдОтч1,
			ГотоваяПродукцияМатериалы.Ссылка КАК Ссылка1
		ИЗ
			Документ.ГотоваяПродукция.Материалы КАК ГотоваяПродукцияМатериалы
		ГДЕ
			ГотоваяПродукцияМатериалы.Ссылка.Проведен = ИСТИНА
			И ГотоваяПродукцияМатериалы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
		
		СГРУППИРОВАТЬ ПО
			ГотоваяПродукцияМатериалы.ЕдиницаИзмерения,
			ГотоваяПродукцияМатериалы.Номенклатура,
			ГотоваяПродукцияМатериалы.ХарактеристикаНоменклатуры,
			ГотоваяПродукцияМатериалы.Номенклатура.БазоваяЕдиницаИзмерения,
			ГотоваяПродукцияМатериалы.Коэффициент,
			ГотоваяПродукцияМатериалы.Ссылка) КАК ВложенныйЗапрос1
			ЛЕВОЕ СОЕДИНЕНИЕ Документ.ГотоваяПродукция.Продукция КАК ГотоваяПродукцияПродукция
			ПО ВложенныйЗапрос1.Ссылка1 = ГотоваяПродукцияПродукция.Ссылка
	ГДЕ
		ГотоваяПродукцияПродукция.Ссылка.Проведен = ИСТИНА
		И ГотоваяПродукцияПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
	{ГДЕ
		ВложенныйЗапрос1.НомерСтроки1,
		ВложенныйЗапрос1.Материал1.*,
		ВложенныйЗапрос1.ХарактеристикаМатериала1.*,
		ВложенныйЗапрос1.НоменклатураБазоваяЕдиницаИзмерения1.*,
		ВложенныйЗапрос1.ЕдиницаИзмеренияМат1.*,
		ВложенныйЗапрос1.КоличествоМат1,
		ВложенныйЗапрос1.КоличествоМатЕдОтч1,
		ГотоваяПродукцияПродукция.Ссылка.* КАК Ссылка1,
		ГотоваяПродукцияПродукция.Номенклатура.* КАК Продукция1,
		ГотоваяПродукцияПродукция.ХарактеристикаПродукции.* КАК ХарактеристикаПродукции1,
		ГотоваяПродукцияПродукция.ЕдиницаИзмерения.* КАК ЕдиницаИзмерения1,
		ГотоваяПродукцияПродукция.Количество КАК КоличествоПрод1}
	
	СГРУППИРОВАТЬ ПО
		ВложенныйЗапрос1.Материал1,
		ВложенныйЗапрос1.НоменклатураБазоваяЕдиницаИзмерения1,
		ГотоваяПродукцияПродукция.Номенклатура,
		ВложенныйЗапрос1.ЕдиницаИзмеренияМат1,
		ВложенныйЗапрос1.ХарактеристикаМатериала1,
		ГотоваяПродукцияПродукция.ХарактеристикаПродукции,
		ГотоваяПродукцияПродукция.Ссылка,
		ГотоваяПродукцияПродукция.ЕдиницаИзмерения) КАК ВложенныйЗапрос
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(, &ДатаКон, Регистратор, ) КАК ЗакупкиОбороты
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
				МАКСИМУМ(ЗакупкиОбороты.Период) КАК Период,
				ЗакупкиОбороты.Номенклатура КАК Номенклатура,
				ЗакупкиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
			ИЗ
				РегистрНакопления.Закупки.Обороты(, &ДатаКон, Регистратор, ) КАК ЗакупкиОбороты
			ГДЕ
				ЗакупкиОбороты.Период <= &ДатаКонца
				И ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
				И ЗакупкиОбороты.Регистратор.Организация = &Организация
			
			СГРУППИРОВАТЬ ПО
				ЗакупкиОбороты.Номенклатура,
				ЗакупкиОбороты.ХарактеристикаНоменклатуры) КАК ПослДокЗакупки
			ПО (ПослДокЗакупки.Период = ЗакупкиОбороты.Период)
				И (ПослДокЗакупки.Номенклатура = ЗакупкиОбороты.Номенклатура)
				И (ПослДокЗакупки.ХарактеристикаНоменклатуры = ЗакупкиОбороты.ХарактеристикаНоменклатуры)
		ПО ВложенныйЗапрос.ХарактеристикаМатериала1 = ЗакупкиОбороты.ХарактеристикаНоменклатуры
			И ВложенныйЗапрос.Материал1 = ЗакупкиОбороты.Номенклатура
ГДЕ
	ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
{ГДЕ
	ВложенныйЗапрос.Материал1.*,
	ВложенныйЗапрос.ХарактеристикаМатериала1.*,
	ВложенныйЗапрос.ЕдиницаИзмеренияМат1.*,
	ВложенныйЗапрос.КоличествоМат1,
	ВложенныйЗапрос.НоменклатураБазоваяЕдиницаИзмерения1.*,
	ВложенныйЗапрос.КоличествоМатЕдОтч1,
	ВложенныйЗапрос.НомерСтроки1,
	ВложенныйЗапрос.Ссылка1.*,
	ВложенныйЗапрос.Продукция1.*,
	ВложенныйЗапрос.ХарактеристикаПродукции1.*,
	ВложенныйЗапрос.ЕдиницаИзмерения1.*,
	ВложенныйЗапрос.КоличествоПрод1,
	(ВЫБОР
			КОГДА ЗакупкиОбороты.КоличествоОборот <> 0
				ТОГДА ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот
			ИНАЧЕ 0
		КОНЕЦ) КАК ЦенаЗакупки1}

СГРУППИРОВАТЬ ПО
	ВложенныйЗапрос.ХарактеристикаМатериала1,
	ВложенныйЗапрос.ЕдиницаИзмеренияМат1,
	ВложенныйЗапрос.НоменклатураБазоваяЕдиницаИзмерения1,
	ВложенныйЗапрос.Ссылка1,
	ВложенныйЗапрос.Продукция1,
	ВложенныйЗапрос.ХарактеристикаПродукции1,
	ВложенныйЗапрос.ЕдиницаИзмерения1,
	ВложенныйЗапрос.Материал1

ИМЕЮЩИЕ
	МАКСИМУМ(ЗакупкиОбороты.Период) <= &ДатаКонца
Показать
Прикрепленные файлы:
Образец.xlsx
По теме из базы знаний
Найденные решения
5. kgn2011 5 12.08.17 15:23 Сейчас в теме
Напишите ваше сообщение
(2)Выбрать различные не подходит,т к в табл части может быть одинаковая номенклатура и кол-во ее нужно в запросе учесть Мне только с этом куске на СКД нужно решение
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. starjevschik 12.08.17 10:05 Сейчас в теме
(1) позволю себе пару занудных советов...
1) забудь про СКД. Консоль запросов - наше все.
2) в консоли напиши простой запрос. Только важное, ничего лишнего. Получится что-то типа такого
Выбрать ТЧ.Материал, естьNULL(Регистр.СтоимостьМатериала, 0)
Из Документ.МойДокумент.ТабличнаяЧасть КАК ТЧ
ЛЕВОЕ Соединение Регистр.МойРегистр КАК ТаблицаРегистра

наверное там еще будут какие-то группировки и еще что-то необходимое. Этот запрос отладишь, чтобы он полностью правильно работал и показывал именно то, что нужно. Потом к нему можно будет добавлять нужные поля, потом - в самом конце! - засунуть его в СКД, если это так уж необходимо.
Да, и 3) никогда не используй имена вида ВложенныйЗапрос, ВложенныйЗапрос1 и тп. Имя должно быть осмысленным, чтобы по нему можно было понять, что за ним стоит. Для упрощения понимания лучше делать временные таблицы вместо вложенных запросов, с ними проще разбираться и отлаживаться.
KEV8383; EvgenAEY; +2 Ответить
4. kgn2011 5 12.08.17 15:18 Сейчас в теме
(3) Мне нужно на СКД. Я взяла лишь пятую часть запроса( законченный кусок),в котором проблема.
вложенныйЗапрос переименую...
2. VmvLer 11.08.17 17:33 Сейчас в теме
не читая все

1. Сделать пакетный запрос
2. Первым пакетом из Табличных Частей собрать все возможные материалы в ВтМатериалы
что-то типа

Выбрать Различные
МатериалыТабличнаяЧасть.Материал КАК Материал
Поместь ВтМатериалы
Из ...

Потом эту ВТ соединять с регистром и еще раз с табличными частями если в ней не все данные

это устранит
Проблема в том,что если нет этого материала в регистре,то в результате запроса эта строчка материала исчезает
5. kgn2011 5 12.08.17 15:23 Сейчас в теме
Напишите ваше сообщение
(2)Выбрать различные не подходит,т к в табл части может быть одинаковая номенклатура и кол-во ее нужно в запросе учесть Мне только с этом куске на СКД нужно решение
6. kgn2011 5 18.08.17 09:40 Сейчас в теме
ВТ помогли.Тема закрыта.
Оставьте свое сообщение

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