0
Double_Medved
03.02.13
✎
22:44
|
Подскажите плиз, наверно вопрос не совсем простой. УТ11, дописанная. Нужен отчет,в котором выбираются ДатаНач и ДатаКон, Склад и ВидЦены. Он должен вывести те позиции на складе, которые были в документе УстановкиЦен (например датадок - 15.00) и были в ДатуДок (15.00) на складе, и на какую сумму изменилась цена товаров на складе из-за этого документа, и так по всем документам за период. То есть нужно брать остатки на складе на дату каждого документа. Вот накатал запрос просто с датаНач и датаКон, показывает изменение цен за этот период, но берет остатки только на ДатаНач, и например если потом было поступление, а потом установка цен, то тогда данные будут некорректные. Основной вопрос - как в запросе брать остатки на каждую дату документа?
ВЫБРАТЬ
ТоварыНаСкладах.Номенклатура,
ТоварыНаСкладах.Склад,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) КАК Цена2,
ТоварыНаСкладах.ВНаличииОстаток КАК Количество,
ВЫРАЗИТЬ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) - ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК ЧИСЛО(15, 2)) КАК Разница,
ВЫРАЗИТЬ(ТоварыНаСкладах.ВНаличииОстаток * (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) - ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК ЧИСЛО(15, 2)) КАК Сумма
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних
ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата2, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних2
ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних2.Номенклатура
ГДЕ
(ВЫРАЗИТЬ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) - ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК ЧИСЛО(15, 2))) <> 0
|
|