Имя: Пароль:
1C
1C 7.7
v7: Начатьтранзакцию() - могут быть вложенными?
0 Феофан
 
09.06.14
10:51
Запамятовал..

НачатьТранзакцию()
   ...
   НачатьТранзакцию()
      ...
   ЗафиксироватьТранзакцию()
   ...
ЗафиксироватьТранзакцию()

- так работает?
1 NS
 
09.06.14
10:52
нет.
2 ДенисЧ
 
09.06.14
10:53
в 1с, ни в 77, ни в 8, нет вложенных транзакций
3 Феофан
 
09.06.14
10:54
(1) Ок..

а тогда в локальном контексте формы открытого документа сработает СделатьНеПроведенным()?
4 NS
 
09.06.14
10:55
(3) Нет.
5 Chum
 
09.06.14
10:56
при возникновении ошибки текущая транзакция отменяется.
6 Феофан
 
09.06.14
10:56
..как тогда отменить проведение из формы этого самого документа?
7 mikecool
 
09.06.14
10:57
(6) закрыть, отменить, открыть
8 Феофан
 
09.06.14
10:59
ох..

(7) ок
9 vde69
 
модератор
09.06.14
11:22
(8) причина в том, что флаг ошибки транзакции глобальный (один), по этому при любой ошибке транзакции этот флаг получают все активные транзакции (явные и не явные).

по этому мы имеем сообщение "в данной транзакции уже происходили ошибки".

то есть одна ошибка обработаная любой транзакцией приводит к краху всех активных транзакций
10 NS
 
09.06.14
12:48
(8) Через открытьформу() обработки, которая отменит проведение и обратно откроет документ, но скорей всего раз такое потребовалось - значит неправильно поставлена задача.
Еще способ - работа с документом не из документа, а из обработки которая имитирует форму документа.
11 VladZ
 
09.06.14
13:00
(0) Хм. А к чему такой изврат?