Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Счет") Тогда // Заполнение шапки Контрагент = ДанныеЗаполнения.Контрагент; Склад = ДанныеЗаполнения.Склад; СсылкаНаДокумент = ДанныеЗаполнения.Ссылка; //СуммаДокумента = ДанныеЗаполнения.СуммаДокумента; //!!Запрос!! //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПродажаТоваровТовары.Ссылка.Склад, | ПродажаТоваровТовары.Ссылка.СсылкаНаДокумент, | ПродажаТоваровТовары.Номенклатура, | МАКСИМУМ(ПродажаТоваровТовары.Цена) КАК Цена |ПОМЕСТИТЬ ВТДок |ИЗ | |ГДЕ Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары | ПродажаТоваровТовары.Ссылка.СсылкаНаДокумент = &СсылкаНаДокумент | |СГРУППИРОВАТЬ ПО | ПродажаТоваровТовары.Ссылка.Склад, | ПродажаТоваровТовары.Ссылка.СсылкаНаДокумент, | ПродажаТоваровТовары.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РезервыНоменклатурыОстатки.Номенклатура, | РезервыНоменклатурыОстатки.Склад, | РезервыНоменклатурыОстатки.ПоСчету, | РезервыНоменклатурыОстатки.РезервОстаток |ПОМЕСТИТЬ ВТРег |ИЗ | РегистрНакопления.РезервыНоменклатуры.Остатки( | &Момент, | (Номенклатура, Склад, ПоСчету) В | (ВЫБРАТЬ | ВТДок.Номенклатура, | ВТДок.Склад, | ВТДок.СсылкаНаДокумент | | РезервыНоменклатурыОстатки ИЗ ВТДок КАК ВТДок)) КАК |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТДок.Номенклатура КАК Номенклатура, | СУММА(ЕСТЬNULL(ВТРег.РезервОстаток, 0)) КАК КоличествоВРезерве, | ПРЕДСТАВЛЕНИЕ(ВТДок.Номенклатура) КАК НоменклатураПредставление, | ВТДок.Цена |ИЗ | ВТДок КАК ВТДок | ЛЕВОЕ СОЕДИНЕНИЕ ВТРег КАК ВТРег | ПО ВТДок.СсылкаНаДокумент = ВТРег.ПоСчету | И ВТДок.Номенклатура = ВТРег.Номенклатура | |СГРУППИРОВАТЬ ПО | ВТДок.Номенклатура, | ВТДок.Цена | |УПОРЯДОЧИТЬ ПО | Номенклатура"; Запрос.УстановитьПараметр("СсылкаНаДокумент",СсылкаНаДокумент); Запрос.УстановитьПараметр("Момент",Неопределено); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.КоличествоВРезерве>0 Тогда НоваяСтрока = Товары.Добавить(); НоваяСтрока.Количество = ВыборкаДетальныеЗаписи.КоличествоВРезерве; НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НоваяСтрока.Цена = ВыборкаДетальныеЗаписи.Цена; НоваяСтрока.Сумма = ВыборкаДетальныеЗаписи.КоличествоВрезерве*ВыборкаДетальныеЗаписи.Цена; Иначе Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "В резерве отсутствует товар "+ВыборкаДетальныеЗаписи.НоменклатураПредставление; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры