Имя: Пароль:
1C
1С v8
Запрос остатков на дату каждого документа УстановкаЦен
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
1 Пенза58
 
03.02.13
22:57
ПЕРИОДАМИ ?
2 DrShad
 
03.02.13
23:27
(1) не совсем то выйдет, он же даст остатки на начало и конец дня
3 DrShad
 
03.02.13
23:30
(0) если уж УТ 11 дописанная, то имеет смысл наверное запилить свой регистр сведений и в него при проведении установки цен писать по номенклатуре и складу остатки + старая сумма и новая сумма
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс