Помогите с запросом

1. Gvendolin 26.04.18 11:05 Сейчас в теме
есть отчет по реализации, на основе построителя. выводит количество и стоимость проданной ГП. Надо приделать солонку - стоимость по выбранному типу цен.
Создаю вложенный запрос к регистру "Цены номенклатуры", соединяю по номенклатуре, начинает жутко тормозить(( Мозгов не хватает, не пойму чего не так делаю((
(( Помогите, пожалуйста...(не ругаться и не издеваться)
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Продажи.Склад КАК Склад,
	Продажи.Номенклатура КАК Номенклатура,
	Продажи.ДокументПродажи,
	Продажи.Количество КАК Количество,
	Продажи.Стоимость КАК Стоимость,
	Продажи.Регистратор КАК Регистратор,
	Продажи.Контрагент,
	БазовыйПрайс.Цена * Продажи.Количество КАК СтоимостьБазовая
{ВЫБРАТЬ
	Склад,
	Номенклатура.*,
	ДокументПродажи.*,
	Количество,
	Стоимость,
	Продажи.Регистратор.*,
	Контрагент.*,
	СтоимостьБазовая}
ИЗ
	(ВЫБРАТЬ
		ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
		ПродажиОбороты.Номенклатура КАК Номенклатура,
		ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
		ПродажиОбороты.КоличествоОборот КАК Количество,
		ПродажиОбороты.СтоимостьОборот КАК Стоимость,
		ПродажиОбороты.Регистратор КАК Регистратор,
		ПродажиОбороты.Контрагент КАК Контрагент
	{ВЫБРАТЬ
		Склад.*,
		Номенклатура.*,
		ДокументПродажи.*,
		Количество,
		Стоимость,
		Регистратор.*}
	ИЗ
		РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиОбороты
	ГДЕ
		НЕ ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияБезвозмездная
		И НЕ ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
	{ГДЕ
		ПродажиОбороты.ДокументПродажи.Склад.* КАК СкладОптовый,
		ПродажиОбороты.Номенклатура.*}
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		ПеремещениеТоваровТовары.Ссылка.СкладПолучатель,
		ПеремещениеТоваровТовары.Номенклатура,
		ПеремещениеТоваровТовары.Ссылка,
		ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.ЕдиницаИзмерения.Коэффициент,
		ПеремещениеТоваровТовары.Количество * ПеремещениеТоваровТовары.Цена,
		ПеремещениеТоваровТовары.Ссылка,
		"НТТ"
	{ВЫБРАТЬ
		Склад.*,
		Номенклатура.*,
		ДокументПродажи.*,
		Количество,
		Стоимость,
		Регистратор.*}
	ИЗ
		Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ТоварыВНТТОбороты
			ПО ПеремещениеТоваровТовары.Ссылка = ТоварыВНТТОбороты.Регистратор
	ГДЕ
		ПеремещениеТоваровТовары.Цена > 0
	{ГДЕ
		ПеремещениеТоваровТовары.Ссылка.СкладПолучатель.* КАК СкладНТТ,
		ПеремещениеТоваровТовары.Номенклатура.*}
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		"Услуги по переработке",
		ПродажиОбороты.Номенклатура,
		ПродажиОбороты.ДокументПродажи,
		ПродажиОбороты.КоличествоОборот,
		ПродажиОбороты.СтоимостьОборот,
		ПродажиОбороты.Регистратор,
		ПродажиОбороты.Контрагент
	{ВЫБРАТЬ
		Склад.*,
		Номенклатура.*,
		ДокументПродажи.*,
		Количество,
		Стоимость,
		Регистратор.*}
	ИЗ
		РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиОбороты
	ГДЕ
		ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияУслугПоПереработке
	{ГДЕ
		ПродажиОбороты.Номенклатура.*}
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		ПродажиОбороты.Регистратор.СкладОрдер,
		ПродажиОбороты.Номенклатура,
		ПродажиОбороты.ДокументПродажи,
		ПродажиОбороты.КоличествоОборот,
		ПродажиОбороты.СтоимостьОборот,
		ПродажиОбороты.Регистратор,
		ПродажиОбороты.Контрагент
	{ВЫБРАТЬ
		Склад.*,
		Номенклатура.*,
		ДокументПродажи.*,
		Количество,
		Стоимость,
		Регистратор.*}
	ИЗ
		РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиОбороты
	ГДЕ
		ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
	{ГДЕ
		ПродажиОбороты.Номенклатура.*,
		ПродажиОбороты.ДокументПродажи.СкладОрдер.* КАК СкладОптовый}) КАК Продажи
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
			ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
		ИЗ
			РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних
		{ГДЕ
			ЦеныНоменклатурыСрезПоследних.ТипЦен.*,
			ЦеныНоменклатурыСрезПоследних.Номенклатура.*}) КАК БазовыйПрайс
		ПО Продажи.Номенклатура = БазовыйПрайс.Номенклатура
{ГДЕ
	Продажи.Склад.*,
	Продажи.Номенклатура.*,
	Продажи.Контрагент.*}
{УПОРЯДОЧИТЬ ПО
	Контрагент.*,
	Склад,
	Номенклатура.*}
ИТОГИ
	СУММА(Количество),
	СУММА(Стоимость),
	СУММА(СтоимостьБазовая)
ПО
	ОБЩИЕ
{ИТОГИ ПО
	Склад,
	Номенклатура.*,
	Продажи.Регистратор.*,
	Контрагент.*}
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. bad_wag 48 26.04.18 11:42 Сейчас в теме
Ну во первых у ТипЦен нужно задавать как параметр виртуальной таблицы и я бы результат типового запроса поместил во временную таблицу, а в следующем пакете выбрал цены с отбором по номенклатуре и типу цен В ПАРАМЕТРАХ вирт. таблицы
Оставьте свое сообщение

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