|
Ошибки транзакции | ☑ | ||
---|---|---|---|---|
0
Stim
23.10.12
✎
14:47
|
как заменить код:
начатьТранзакцию(); ОбнаруженыОшибки = ЛОЖЬ; Попытка <код> Исключение ОбнаруженыОшибки = ИСТИНА; КОнецПопытки; если НЕ ОбнаруженыОшибки Тогда ЗафиксироватьТранзакцию(); Иначе ОтменитьТранзакцию(); конецЕсли; на такой, чтобы при попадании в исключение предприятие не выдавало ошибку "в данной транзакции уже происходили ошибки" ? |
|||
1
1Страх
23.10.12
✎
14:50
|
значит ошибка была ранее
|
|||
2
Stim
23.10.12
✎
14:52
|
(1) спасибо, кэп. ошибка была раннее, раз прошел переход в исключение
|
|||
3
1Страх
23.10.12
✎
14:55
|
(2) до этого ошибок в транзакции не было?
|
|||
4
Stim
23.10.12
✎
15:01
|
(3) были, ты прав.
|
|||
5
Reset
23.10.12
✎
15:04
|
(0) чтобы не выдавало ошибку "в данной транзакции уже происходили ошибки"
Не обращаться к данным, пока транзакция не отменится |
|||
6
Stim
23.10.12
✎
15:08
|
(5) это как? я документ записываю в попытке
|
|||
7
hhhh
23.10.12
✎
15:11
|
(6) ну значит ранее забыли написать ОтменитьТранзакцию();
|
|||
8
Reset
23.10.12
✎
15:12
|
(6) Из контекста (0) понятно, что ты что-то делаешь, что вызывает ошибку при работе с БД. В такой транзакции уже ничего нельзя делать с данными. В иключении ты, очвидно, каку-то диагностику выводишь, типа не провдиться документ по Ссыылка.Контрагент - это вызывает ошибку.
|
|||
9
Reset
23.10.12
✎
15:13
|
много опечаток :(
|
|||
10
Stim
23.10.12
✎
15:17
|
(8) я записываю док два раза, в двух попытках. в первой - с одним номером, если сваливается в исключение - записываю с уникальным номером и во второй попытке пытаюсь записать с нормальным номером.
|
|||
11
Reset
23.10.12
✎
15:17
|
(10) После первой попытки придется отменять транзакцию
|
|||
12
Reset
23.10.12
✎
15:18
|
Или заранее проверять номер так, чтобы не происходило исключение
|
|||
13
Stim
23.10.12
✎
15:19
|
Reset, спасибо, второй вариант больше нравится
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |