Имя: Пароль:
1C
1С v8
Отмена вложенной транзакции, но внешнюю фиксируем, и в результате бяка.
0 ЕщеОдин Программист
 
14.09.18
17:14
Есть код, в среднем такой:
НачатьТранзакцию();
... добавляем записи регистра сведений ...
НачатьТранзакцию();
... ничего не делаем, оказалась не нужна ...
ОтменитьТраназакцию()
ЗафиксироватьТранзакцию();

В результате отменяются записи сделанные во внешней транзакции, и в журнале регистрации пишет, что добавленные записи не были добавлены в результате отмены транзакции (серые строки журнала). Никаких ошибок не выдает. База файловая, 8.3.10.2580.

Кто знает, это нормальное реакция 1С на такие транзакции, или я напутал?
1 SilentMan
 
14.09.18
17:18
Вложенных транзакций в 1с нет. В RTFM-е об этом открытым текстом писано
Поведение верное.
2 bmitkin
 
14.09.18
17:18
1С не поддерживает вложенные транзакции.
Один раз отменили (не важно на каком уровне) - значит отменили все
https://its.1c.ru/db/metod8dev#content:2334:hdoc
3 SilentMan
 
14.09.18
17:19
На хабре недавно в том числе про это бурно обсуждали
4 ЕщеОдин Программист
 
14.09.18
17:25
(1) понял, спасибо.