|
Попытка-исключение в транзакции | ☑ | ||
---|---|---|---|---|
0
BigHarry
30.08.12
✎
11:55
|
По следам этой темы v8: Использование Попыток в коде
Кто-нить может проверить, в 8.2.14 обработка исключения в транзакции проведения (или записи) документа-справочника - приводит к отмене транзакции? Ну типа в модуль вставить простейший код на подобии: Попытка а=1/0; Исключение КонецПопытки; Сам платформу пока выкачать не могу, тырнет слишком тягучий, да и надо понять - есть-ли смысл откатываться назад на эту платформу. |
|||
1
aleks-id
30.08.12
✎
11:56
|
8.2.15 давно на дворе
|
|||
2
del123
30.08.12
✎
11:57
|
а почему она должна приводить к отмене транзакции?
|
|||
3
Reset
30.08.12
✎
12:01
|
(30) Смотря какое исключение. Твое - не приведет.
А почему нельзя просто ОтменитьТранзакцию(), если нужно? |
|||
4
Reset
30.08.12
✎
12:01
|
(3) к (0)
|
|||
5
Reset
30.08.12
✎
12:08
|
(3) Не в тему, невнимательно прочитал, извините
|
|||
6
BigHarry
30.08.12
✎
12:11
|
Исключение на самом деле отлавливается при записи в справочник, походу из-за того, что код может быть не уникальным и таким образом сделано что бы дубликаты в этом справочнике не создавались. И это только в одном документе, в других тоже что-то подобное. Просто не хочу переписывать чужой код, говорят что после обновления платформы стали эти глюки происходить, старую платформу мальчик-обновляльщик зачем-то удалил напрочь, и теперь проверить из-за платформы-ли это или нет я не могу, придется домой тащится и там проверять...
|
|||
7
Reset
30.08.12
✎
12:13
|
(6) ИМХО, навряд ли методы отработки исключительных ситуаций в транзакциях изменялись в последних платформах
|
|||
8
BigHarry
30.08.12
✎
12:16
|
UPD, мальчик-обновляльщик, оказывается, виндоуз целиком переставил, и походу свежую платформу залил, так что понять какая там платформа до этого была - вааще не представляется возможным, может быть и не 14, а еще более древняя...
|
|||
9
Reset
30.08.12
✎
12:18
|
Могло измениться что-то другое, напр. в одной версии ошибка происходила, в другой нет или наоборот.
|
|||
10
BigHarry
30.08.12
✎
12:32
|
На самом деле странно, почему обработка ошибки в исключении неявно приводит к отмене транзакции? Как-то это, имхо, идеологически не верно, если ошибка обработана - то подразумевается что цепочка кода будет исполняться дальше, а если программеру надо что бы проведение на документа на этом месте прервалось с откатом транзакции - можно соответствующую переменную в Ложь прописать, ну или через ВызватьИсключение передать обработку ошибки в платформу.
В общем - хрень какая-то.... |
|||
11
acsent
30.08.12
✎
12:35
|
(10) если это ошибка записи в базу то приводит иначе нет
|
|||
12
BigHarry
30.08.12
✎
12:47
|
(11) Да, это ошибка записи в базу, дубликат кода. Но раз программист это явно написал через Попытку, значит такая ситуация, получается, штатная и прогнозируемая, но косяки начали выползать только после обновления системы, получается что на какой-то платформе все работало без отмены транзакций, ну либо исключений не происходило. Ладно, черт с ним, решили вызвать 1С-нега и пусть он что-то с этим делает - может поставит более другую платформу, либо пусть перепишет модули проведения.
|
|||
13
Reset
30.08.12
✎
12:55
|
(11) Может и без записи, например при недостаточности прав (запросом выбираем закрытые на чтение и тп)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |