Остаток -> Резерв. Проверка остатков в регистре накоплений - 1С

Версия для печатиPDF-версия

Платформа:

Доброго времени суток!
Есть форма документа и два поля ввода прикрепленных к реквизитам Бумага, МассаБлок и КолвоПечатныхЛистов, их поля заполняются данными из справочника. Допустим при нажатии кнопки система должна проверить количество товара (<Бумага> и <МассаБлокиз> - параметр Измерения) и (<КолвоПечатныхЛистов> - параметр Ресурсы) из регистра накопления БумагаЦифра.

Я создал код запроса с обработкой результата, получился вот такой код:

Код:
////{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    //// Данный фрагмент построен конструктором.
    //// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

    Сообщить("Проверка остатков материала");

количество материала должно сравниваться не с 0, а с данными в поле Объект.КолвоПечатныхЛистов (тип данных Число)

Ошибка в запросе 

Реквизит в документе есть, называется точно так же. Может проще вернуть количества материала в процедуру и там уже с ней манипулировать. 
Если бумага в регистре есть, то запрос возвращает ее количество в процедуру, там я уже сравниваю и высчитываю. А если такой бумаги нет, то выдается сообщение "Данного материала на складе НЕТ! Оформить заказ на доставку? ДА / НЕТ"

Я думаю это проще будет, критерии запроса Бумага и Масса.

Добавлено через 10 часов 23 минуты
При любых раскладах, запрос возвращается пустой! Пишет, что все ОК!

Может дело в регистре накоплений, так он сейчас выглядит вот так:

Данные регистра накопления 
Да, я понимаю что допустим выбранной бумаги там нет, но он же должен выдавать сообщение что ее нет.

Лучше сделать в запросе проверку остатка на превышение требуемого количества. Т.е.:

        |ГДЕ
        |    БумагаЦифраОстатки.ОстатокРезервОстаток >= &КолвоПечатныхЛистов";

И установить параметр КолвоПечатныхЛистов:

Запрос.УстановитьПараметр("КолвоПечатныхЛистов", Объект.КолвоПечатныхЛистов);

Тогда если результат выполнения запроса пустой, значит бумаги недостаточно на складе.

При нынешнем условии результат будет пустой, если остаток = 0. Т.е. если по какой-то бумаге не было ни одного движения в регистре, то результат пустой, а ваша обработка расценивает это как знак того, что бумага есть в наличии.