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