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