|
Откат транзакции | ☑ | ||
---|---|---|---|---|
0
ProgramFiles
16.11.15
✎
13:09
|
Добрый день
Начал только работать и инетерсует знакотов пояснение по коду НачатьТранзакцию(); Для Индекс = 0 По НайденныеОбъекты.Количество() - 1 Цикл ОбработкаПрерыванияПользователя(); Строка = НайденныеОбъекты.Получить(Индекс); Если НЕ Строка.Пометка Тогда Продолжить; КонецЕсли; Объект = Строка.Объект.ПолучитьОбъект(); вОбработатьОбъект(Объект, Индекс); КонецЦикла; ЗафиксироватьТранзакцию(); В данном коде происходит ли откатТранзакции?? как я понимаю,для каждой строчки из цикла фиксируется транзакция ,и если есть какая то ошибка то по строчке она откатывается? Прошу сильно не бить по голове,а объяснить))Потому что недавно начал прогать только) |
|||
1
Ненавижу 1С
гуру
16.11.15
✎
13:11
|
у тебя же начало и конец транзакции вне цикла, тогда почему "для каждой строчки из цикла фиксируется транзакция"
|
|||
2
bolobol
16.11.15
✎
13:16
|
Если хоть одна ошибка - транзакция не зафиксируется, т.к. код до "ЗафиксироватьТранзакцию();" не дойдёт, т.е. - откатится всё, что было сделано от "НачатьТранзакцию();"
|
|||
3
ProgramFiles
16.11.15
✎
13:21
|
(2) т.е. ни одна транзакция ни зафиксируется если будет хоть одна ошибка?
|
|||
4
VikingKosmo
16.11.15
✎
13:22
|
(3) у тебя там и так всего одна транзакция
|
|||
5
Ненавижу 1С
гуру
16.11.15
✎
13:22
|
(3) тут всего ОДНА транзакция
|
|||
6
ProgramFiles
16.11.15
✎
13:28
|
(5) т.е. Транзакция для моего набора документа не зафиксируется если будет ошибка ?
|
|||
7
ProgramFiles
16.11.15
✎
13:28
|
*документов
|
|||
8
NcSteel
16.11.15
✎
13:30
|
(6) В 1С нет вложенных транзакций
|
|||
9
ProgramFiles
16.11.15
✎
13:35
|
(8) так если в цикле было?
|
|||
10
VikingKosmo
16.11.15
✎
13:37
|
(9) начала и фиксации транзакции в цикле то и не было
|
|||
11
NcSteel
16.11.15
✎
13:37
|
(0) У тебя не в цикле, у тебя транзакция за циклом
|
|||
12
ProgramFiles
16.11.15
✎
14:00
|
ф процедуре вОбработатьОбъект(Объект, Индекс);
вот ее код Если Объект.ПометкаУдаления Тогда Объект.ПометкаУдаления = Ложь; КонецЕсли; Если Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда Объект.Записать(РежимЗаписиДокумента.Проведение); КонецЕсли; впринципе я если ошибка из за пометки удаления то в этой процедуре она исключиться ,и вся транзакция для моего набора зафиксируется,атк понимаю? |
|||
13
ProgramFiles
16.11.15
✎
14:01
|
"она исключиться "-пометка удаления снимается(это имел ввиду)
|
|||
14
Enterprise
16.11.15
✎
14:05
|
(12) Если ошибок не будет никаких, то зафиксируется
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |