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

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 И да поможет ему господь всемогущий
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)