Запрет на проведения при отрицательном и нулевом остатке

1. user1522392 22.01.21 11:02 Сейчас в теме
Добрый день, подскажите как мне поставить контроль в документ продажа товара. Там нужно что бы при минусовом или нулевом остатке во время проведения выходило сообщение и документ не проводился. Но проблема в том что он проводится в этих случаях и ни какого сообщения не выходит.

Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр ТоварыНаСкладах Расход
    Движения.ТоварыНаСкладах.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Движение = Движения.ТоварыНаСкладах.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТовары.Товар;
        Движение.Склад = Склад;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Сумма = ТекСтрокаТовары.Сумма;
    КонецЦикла;

    // регистр Взаиморасчет Приход
    Движения.Взаиморасчет.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Движение = Движения.Взаиморасчет.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.Контрагент = Контрагент;
        Движение.Договор = Договор;
        Движение.Сумма = ТекСтрокаТовары.Сумма;
    КонецЦикла;

     Движения.Записать();
            
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ПродажаТовараТовары.Товар КАК Товар
        |ПОМЕСТИТЬ ДокументТЧ
        |ИЗ
        |    Документ.ПродажаТовара.Товары КАК ПродажаТовараТовары
        |ГДЕ
        |    ПродажаТовараТовары.Ссылка = &Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |    ТоварыНаСкладахОстатки.Товар.Представление КАК ТоварПредставление,
        |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
        |ИЗ
        |    РегистрНакопления.ТоварыНаСкладах.Остатки(
        |            &Граница,
        |            Товар В
        |                    (ВЫБРАТЬ
        |                        ДокументТЧ.Товар КАК Товар
        |                    ИЗ
        |                        ДокументТЧ КАК ДокументТЧ)
        |                И Склад = &Склад) КАК ТоварыНаСкладахОстатки
        |ГДЕ
        |    ТоварыНаСкладахОстатки.КоличествоОстаток < 0";
    
    Запрос.УстановитьПараметр("Граница", Новый Граница(МоментВремени(),ВидГраницы.Включая));
    Запрос.УстановитьПараметр("Склад", Склад);
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Количество() < 0 Тогда      
        
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщить ("Недостаточно товара" + ВыборкаДетальныеЗаписи.ТоварПредставление +"! не хватает "+(-ВыборкаДетальныеЗаписи.КоличествоОстаток)+"шт.");
    КонецЦикла;
     Отказ = Истина;
    КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. aezdakov 5 22.01.21 11:22 Сейчас в теме
2. platonov.e 158 22.01.21 11:11 Сейчас в теме
3. FatPanzer 22.01.21 11:17 Сейчас в теме
Если ВыборкаДетальныеЗаписи.Количество() < 0 Тогда
Моя жизнь никогда не будет прежней...
user1522392; darkultro37; pr_idler; retr0; user705522_constantin_h; +5 Ответить
6. user1522392 22.01.21 11:54 Сейчас в теме
(3) Знак тоже менял не помогало тоже самое было
7. FatPanzer 22.01.21 11:59 Сейчас в теме
(6) Ага, то есть не опечатка, а осознанный подбор вариантов "а вдруг прокатит"...
5. rintik 19 22.01.21 11:39 Сейчас в теме
(3) Ну очепятался человек. Знак поменяет, будет норм.
8. FatPanzer 22.01.21 12:00 Сейчас в теме
(5) Да нет. Говорит, пробовал и так и сяк - не помогает. То есть не опечатка, а осознанный выбор.
9. ilnur75 22.01.21 12:44 Сейчас в теме
убрать скобки " () " уж точно не пробовал, наверно и мысли такой не допускал.
10. retr0 22.01.21 12:48 Сейчас в теме
(9) Ну и толку, что он уберет скобки)))
11. FatPanzer 22.01.21 12:57 Сейчас в теме
(10) Толк возможно будет. Выскочит ошибка, которая может натолкнуть на мысль. Ну а вдруг!
12. retr0 22.01.21 13:08 Сейчас в теме
(11) xD И да поможет ему господь всемогущий
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот