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