Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не проводится документ

Не проводится документ
Я
   sergqwert
 
22.06.21 - 20:57
При проведении документа в УТ 11.4 появляется ошибка:
"Количество маркируемого товара и кодов маркировки в документе не соответствуют! так и нужно, но сам документ при этом не проводится. Что не так делаю?

Процедура ПередЗаписью
Если Не ОбменДанными.Загрузка И РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда         
        ДО_ОбщиеФункцииТабличныхЧастей.КонтрольКоличестваКМ(ЭтотОбъект.Товары,ЭтотОбъект.КМ_Товары);
        Попытка
         ЭтотОбъект.Записать(РежимЗаписи);
         Исключение
        ВызватьИсключение НСтр("ru = 'Количество маркируемого товара и кодов маркировки в документе не соответствуют!
                                     |
                                     |Проверьте, пожалуйста, коды маркировки для указанного списка товаров внизу экрана.'");    
        КонецПопытки    
        КонецЕсли;
КонецПроцедуры

Вот кусок кода:
РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = ""+ВыборкаДетальныеЗаписи.Номенклатура +" "+ ВыборкаДетальныеЗаписи.Характеристика;
        Сообщение.Поле = "";
        Сообщение.Сообщить();
    КонецЦикла;
   ДенисЧ
 
1 - 22.06.21 - 20:58
Ну есть ошибка. По логике конфигурации документ не должен проводиться.
   RomanYS
 
2 - 22.06.21 - 21:01
(0)
1.
Процедура ПередЗаписью
...
         ЭтотОбъект.Записать(РежимЗаписи);
...

По идее вообще падать должно под тяжестью рекурсивных вызовов

2. ВызватьИсключение ==>> ошибка ==>> Не проводится. Всё логично.
   PCcomCat
 
3 - 22.06.21 - 21:30
(0)ВызватьИсключение  - вызывает выход из процедуры с прерыванием дальнейших действий. Сообщение пользователю должно быть, чтобы проведение продолжилось.
   Ненавижу 1С
 
4 - 22.06.21 - 22:05
(2) кстати да

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.