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