0
Solitar
15.01.14
✎
11:00
|
Всем привет !
Стоит задача распределить текущие остатки по определенным складам и связать их с последними перемещениями на эти склады. Т.е. брать все последние перемещения, пока количество товара из них не будет равно остатку на складе.
Можно ли это сделать через запрос или же придется кодом в выборке анализировать какое перемещение брать?
ВЫБРАТЬ
ТоварыНаСкладахОбороты.КоличествоПриход,
ТоварыНаСкладахОбороты.Номенклатура,
ТоварыНаСкладахОбороты.СерияНоменклатуры,
ТоварыНаСкладахОбороты.Склад,
ТоварыНаСкладахОбороты.Период,
ТоварыНаСкладахОбороты.Регистратор
ПОМЕСТИТЬ ВТ_Перемещения_1
ИЗ
РегистрНакопления.ТоварыНаСкладах.Обороты(, &КонецПериода, Регистратор, ) КАК ТоварыНаСкладахОбороты
ГДЕ
ТоварыНаСкладахОбороты.Регистратор.СкладПолучатель В ИЕРАРХИИ(&ВнешниеСклады)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварыНаСкладахОбороты.Склад,
ТоварыНаСкладахОбороты.Номенклатура,
ТоварыНаСкладахОбороты.СерияНоменклатуры,
ТоварыНаСкладахОбороты.КоличествоПриход,
ТоварыНаСкладахОбороты.Период
ПОМЕСТИТЬ ВТ_Перемещения_2
ИЗ
РегистрНакопления.ТоварыНаСкладах.Обороты(, &КонецПериода, Регистратор, ) КАК ТоварыНаСкладахОбороты
ГДЕ
ТоварыНаСкладахОбороты.Регистратор.СкладПолучатель В ИЕРАРХИИ(&ВнешниеСклады)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОстатокНаСкладе,
ВТ_Перемещения_1.КоличествоПриход КАК КоличествоТовараИзПеремещения,
ВТ_Перемещения_1.Регистратор КАК ДокументПеремещения,
ВТ_Перемещения_1.Период КАК Период,
СУММА(ВТ_Перемещения_2.КоличествоПриход) КАК НарастающийИтогПоПеремещениям
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&КонецПериода, Склад В ИЕРАРХИИ (&ВнешниеСклады)) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Перемещения_1 КАК ВТ_Перемещения_1
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Перемещения_2 КАК ВТ_Перемещения_2
ПО ВТ_Перемещения_1.Период >= ВТ_Перемещения_2.Период
И ВТ_Перемещения_1.Номенклатура >= ВТ_Перемещения_2.Номенклатура
И ВТ_Перемещения_1.Склад = ВТ_Перемещения_2.Склад
И ВТ_Перемещения_1.СерияНоменклатуры = ВТ_Перемещения_2.СерияНоменклатуры
ПО ТоварыНаСкладахОстатки.Склад = ВТ_Перемещения_1.Склад
И ТоварыНаСкладахОстатки.Номенклатура = ВТ_Перемещения_1.Номенклатура
И ТоварыНаСкладахОстатки.СерияНоменклатуры = ВТ_Перемещения_1.СерияНоменклатуры
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.СерияНоменклатуры,
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.КоличествоОстаток,
ВТ_Перемещения_1.КоличествоПриход,
ВТ_Перемещения_1.Регистратор,
ВТ_Перемещения_1.Период
УПОРЯДОЧИТЬ ПО
Номенклатура,
СерияНоменклатуры,
Период УБЫВ
|
|