Имя: Пароль:
1C
 
Конвертация данных, есть особенности применения попытки исключения?
0 Бешеный заяц
 
19.10.20
17:02
Поймал глюк в "После обработки" написал в попытке исключение
Объект.Записать(РежимЗаписиДокумента.Проведение);

в исключении написал УзелОбм = ПланыОбмена.ОбменУправлениеПредприятиемУПП13.НайтиПоКоду("УПП13");

ругается на "НайтиПоКоду" выполнил тоже самое в обработке найти по коду работает, не пойму где глюк искать.

Обработчик             =  ПослеЗагрузкиОбъекта
    ОписаниеОшибки         =  Ошибка при вызове метода контекста (НайтиПоКоду): В данной транзакции уже происходили ошибки!
    ПозицияМодуля          =  (32)
    КСообщенияОбОшибках    =  21
1 Бешеный заяц
 
19.10.20
17:07
может попытка исключение возникает в самой попытке исключения конвертации? такое возможно? или влиять не должно
2 zippygrill
 
19.10.20
17:10
у тебя в предыдущих событиях тоже есть попытки и где-то ошибка. Грубо говоря ошибка у тебя где-то раньше
3 Бешеный заяц
 
19.10.20
17:13
(2) но почему НайтиПоКоду не работает? ошибка именно на шибка при вызове метода контекста (НайтиПоКоду): с указанием позиции модуля
4 ДенисЧ
 
19.10.20
17:17
Все правила конвертации, если мне наполеон не изменяет - идут в попытке.
А вложенных 1с не умеет.
5 fisher
 
19.10.20
17:27
(3) Это значит, что вся эта фигня обрамлена вышестоящей транзакцией и 1С не сможет обработать твое исключение, так как вышестоящая транзакция все равно откатится полностью (ошибки при работе с БД всегда откатывают все вышестоящие транзакции).
(4) Вложенные попытки 1С умеет. Но если в попытке меняется состояние БД, то это тоже идет как неявная транзакция и проблема сводится к предыдущей. Если без БД, то вроде без проблем вложенные попытки.
6 fisher
 
19.10.20
17:39
Хотя насчет "попытка - это неявная транзакция в случае работы с БД" я мог чушь спороть. Но тогда дело и не во вложенных попытках.
Можно попытаться в обработке исключения откатывать транзакции пока активны - но тогда надо понимать, что именно ты откатываешь. Может, КД в этот момент пачками грузит и ты всю пачку откатишь.
7 fisher
 
19.10.20
17:41
Хотя как минимум все равно откатится загрузка текущего документа. Так что не вариант.
8 mikecool
 
19.10.20
17:47
вложенные попытки 1с умеет, только чтобы понять - что произошло, исключения должны райзить их "наверх"
9 ДенисЧ
 
19.10.20
18:17
(8) Я не стал писать "умеет, как следует".
Если правильно не умеет - значит, не умеет.