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



