|
Конвертация данных, есть особенности применения попытки исключения? |
☑ |
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) Я не стал писать "умеет, как следует".
Если правильно не умеет - значит, не умеет.
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан