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

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

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

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

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