Имя: Пароль:
1C
1С v8
как вы оформляете транзакции?
, ,
0 GANR
 
28.09.15
12:49
1. Способ 2 100% (3)
2. Способ 1 0% (0)
Всего мнений: 3

//Способ 1:
НачатьТранзакцию();
Процедура1();
ЗафиксироватьТранзакцию();

//Способ 2:
НачатьТранзакцию();
Попытка  
  Процедура1();  
  ЗафиксироватьТранзакцию();
Исключение
  ОтменитьТранзакцию();
  ВызватьИсключение;
КонецПопытки;
15 Enterprise
 
28.09.15
13:02
"Не всякая ошибка приводит к невозможности продолжения выполнения и фиксации транзакции, а именно ошибка базы данных. Исключения, не имеющие отношения к ошибкам базы данных, никакого влияния на возможность продолжения выполнения транзакции не оказывают."

Т.е. в первом способе если будет ошибка не связанная с БД, то транзакция закроется, во втором будет корректно отработана такая ситуация.

Способ 2
39 spectre1978
 
30.09.15
23:12
Я бы НачатьТранзакцию () обычно делаю вне попытки. А в остальном

Способ 2
45 rozer76
 
02.10.15
14:52
только так

Способ 2
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший