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