Имя: Пароль:
1C
1С v8
Нужно ли начинать транзакцию в ОбработкаПроведения
,
0 vii88
 
13.12.12
20:37
Если в ОбработкаПроведения документ проводит ещё ряд документов, пример:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
   
  ЕстьОшибки = Ложь;

  Для Каждого Док Из Документы Цикл
      Если Не ДокументОбработанБезОшибок() Тогда
         ЕстьОшибки = Истина;
         Прервать;
      КонецЕсли;
  КонецЦикла;

  Отказ = ЕстьОшибки ;              

КонецПроцедуры




Нужно ли цикл начинать в транзакции и при ошибки отменять её, или если в Отказ = Истина то обработанные документы тоже отменять проведение?
1 PR
 
13.12.12
20:37
Нет
2 vii88
 
13.12.12
20:37
* поправка

Если Не ДокументОбработанБезОшибок() Тогда

Если Не ДокументОбработанБезОшибок(Док) Тогда
3 ДенисЧ
 
13.12.12
20:38
" в ОбработкаПроведения документ проводит ещё ряд документов"

расстрелять. На десять лет без права переписки.
4 vii88
 
13.12.12
20:38
(3) согласен что очень плохой вариант, но других способов нет
5 Wobland
 
13.12.12
20:39
6 Wobland
 
13.12.12
20:39
(4) есть. двадцать лет, но с перепиской
7 Рэйв
 
13.12.12
20:39
Обработка проведения - сама по себе транзакция.

Отказ=Истина  равносилен ОтменитьТранзакцию()
8 vii88
 
13.12.12
20:40
(7) Ок спасибо, это и хотел узнать
9 Wobland
 
13.12.12
20:41
(7) а если я там справочник какой запишу к примеру, а потом отказ?
10 Рэйв
 
13.12.12
20:41
(9)Помоему не запишет. Давно пробовал что-т такое, уж не помню результатов
11 prog0101
 
13.12.12
20:41
12 Wobland
 
13.12.12
20:46
(10) а я вот имею противное мнение, основанное на своих неясных домыслах, как-то выработанных с опытом ;) надо будет собраться на выходных и затестить. ветку сделаю, если буду
13 PR
 
13.12.12
20:48
(12) Ты бы свое противное мнение на неясных домыслах не пихал бы так активно :))
Транзакция есть транзакция. Ничего не запишется.
14 Wobland
 
13.12.12
20:48
(13) где активно?

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
   спр=Справочники.Номенклатура.СоздатьЭлемент();
   спр.Наименование="ох, йо";
   спр.Записать();
   Отказ=Истина;
   Возврат;

нету номенклатуры
15 PR
 
13.12.12
20:50
(14) Я про то и говорю, что не будет.
16 Wobland
 
13.12.12
20:51
(15) три поста в ветке и все про не будет - вот это активно ;))
17 PR
 
13.12.12
20:53
(16) В (10) про то, что не запишет, в твоем (12) про то, что запишет.
18 Wobland
 
13.12.12
20:58
(17) это признак активности?
19 Рэйв
 
13.12.12
20:59
(18)Дано б проверил уже и не флудил зря:-)
20 Wobland
 
13.12.12
21:03
(19) дык вон же
21 Рэйв
 
13.12.12
21:06
(20)Ну тем более. Разобрались.Можно и по пивку:-)
22 France
 
14.12.12
03:34
было бы странное, если транзакция откатилась, а какие то данные, выполненные во вложенной транзакции сохранились в базе..
Независимо от того, куда вы едете — это в гору и против ветра!