Имя: Пароль:
1C
1C 7.7
v7: Вложенные транзакции v7
0 nikulya
 
10.11.11
18:00
Господа у меня вопрос. Возможны ли в 1с 7 вложенные транзакции??
1 Ёпрст
 
10.11.11
18:03
нет
2 andrewks
 
10.11.11
19:42
возможны, но только один раз :)
3 МихаилМ
 
10.11.11
19:43
да
4 МихаилМ
 
10.11.11
19:43
+(3)
с скл вариантн - точно
5 Азат
 
10.11.11
19:45
(0) а какова цель вложенных транзакций? чот 11 лет работаю, ни разу не сталкивался с необходимостью
6 ДенисЧ
 
10.11.11
19:46
(5) Ты много упустил...
7 Азат
 
10.11.11
19:54
(6) я уж понял, что жизнь прошла зазря... вложенные транзакции  не юзал, ДенисЧ СП не воровал... пппц короч
8 nikulya
 
10.11.11
21:30
А если мне нужно в рамках одной транзакции провести 2 документа как тогда быть?
9 ДенисЧ
 
10.11.11
21:32
(8) Посмотри направо, там стенка есть...
10 andrewks
 
10.11.11
21:39
(4) а развернуть?
11 nikulya
 
10.11.11
21:44
Например у меня есть ДокРезервТоваров и ДокРасходнаяНакладная. Мне нужно чтобы при успешном проведении ДокРасходнаяНакладная удалялся ДокРезервТоваров. Но если ДокРезервТоваров например заблокирован и удалиться не может то тогда и ДокРасходнаяНакладная не проводилась. Идеально было бы сделать это в транзакции. Но удаление и проведение это тоже транзакции. Получается что есть вложенные транзакции и такая конструкция работать не будет. ТАК ?
12 SnarkHunter
 
10.11.11
21:46
Постановка задачи с удалением документа при успешном проведении другого изначально порочна...
13 vde69
 
10.11.11
21:50
в 1с невозможно, в SQL - возможно
14 Злопчинский
 
10.11.11
22:11
(11) я думаю что будет, по крайней мере у меня так работает ()вроде как.. задумался... и вроде все ок, хотя м.б. если спецы будут настаивать что это невозможно (дбф-версия) - проведу испытания...
.
НачатьТранзакцию();
Попытка
 рез = Док1.Провести();
 если рез=0
 тогда а=1/0;
 КонецЕсли;
 Док2.Удалить(1);
Исключение
 Сообщить(ОписаниеОшибки);
 ОтменитьТранзакцию();
 Возврат;
КонецПопытки;
ЗафиксироватьТранзакцию();
.
???
15 Злопчинский
 
10.11.11
22:12
а так, конечно, солидарен с (12)
16 vde69
 
10.11.11
22:16
(14) вложеные транзакции не работают на частичный откат, тоесть нельзя откатить одну и зафиксировать другую
17 Ёпрст
 
10.11.11
22:19
(4) ага, хорошая оговорка.
18 nikulya
 
10.11.11
22:51
(14) если обработка уйдет в блок Исключение и транзакция будет отменена то что тогда фиксировать?
19 Злопчинский
 
10.11.11
23:12
(16) ну да, я так и понимаю... внешняя транзакция "поглащает" внутреннюю...
Закон Брукера: Даже маленькая практика стоит большой теории.