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