Имя: Пароль:
1C
1С v8
Откат транзакции
0 Sasha_uu
 
20.03.12
05:41
Проблема в следующем: При проведение реализации в событии ОбработкаПроведения проверяются взаиморасчеты, и если проверка не прошла то документ не проводится, но должен создаваться другой документ "Претензия". В итоге т.к. транзакция у реализации откатывается то и документ "Претензия" не создается.Как решить эту проблему?

1С 8.2 УПП
1 ZanderZ
 
20.03.12
05:47
проверять до обработки проведения
2 Sasha_uu
 
20.03.12
05:51
пробывал делать в событие "ПередЗаписью","ПриЗаписи" - не получается. Везде проходит откат транзакции
3 Галахад
 
гуру
20.03.12
05:57
(2) Слабо вериться.
4 Sasha_uu
 
20.03.12
07:35
не кто не сталкивался с таким?
5 БибиГон
 
20.03.12
07:54
(1) а где это?
6 katc
 
20.03.12
08:11
запускай создание документа в фоновом задании.
7 Sasha_uu
 
20.03.12
08:11
(6) это как? можно пример?
8 katc
 
20.03.12
08:13
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ЭтотОбъект.Ссылка);
ФоновоеЗадание =  ФоновыеЗадания.Выполнить("ТехнологическиеОперацииСервер.ФоновоеЗавершениеБизнесПроцесса",МассивПараметров, Номер,"Фоновое завершение " + ЭтотОбъект.Ссылка)     ;
9 katc
 
20.03.12
08:14
фоновое задание будет работать вне этой транзакции уже
10 Sasha_uu
 
20.03.12
08:15
(9) т.е в процедуре приЗаписи документа написать код для выполнения фоновогоЗадания?
11 Sasha_uu
 
20.03.12
08:16
сначало выполнится фоновое задание, после него начнется процедура "ОбработкаПровведения"?
12 katc
 
20.03.12
08:16
почему приЗаписи? , ПриПроведении тебе надо же.
13 katc
 
20.03.12
08:17
нет, фоновое задание запуститься паралельно, "ОбработкаПроведения" не будет дожидаться его завершения.
14 Sasha_uu
 
20.03.12
08:17
т.е. в процедуре "ОбработкаПроведения" запускаю фоновое задание, оно выполняется, в ней создается необходимый мне документ и после этого происходит дальнейшии процедуры проведения?
15 Fish
 
гуру
20.03.12
08:18
(14) Не после, а параллельно
16 Sasha_uu
 
20.03.12
08:18
мне надо что бы обработкапроведение дождалось результатов этого проведения, или фоновое задание выполнилось сразу по завершению обработки проведения
17 Fish
 
гуру
20.03.12
08:21
(16) Сделай подписку на событие тогда
18 katc
 
20.03.12
08:22
(16) в чем проблема то? запускаешь фоновое задание в последней строчке своей процедуры проведение.
И так дали наводку - как программист ты должен додумать детали сам. Разжеванное никогда не интересно
19 Sasha_uu
 
20.03.12
08:26
(18) это не вариант. по результатам фонового задания, программа должна или провести документ или отказать в проведение. Если фоновое задание делается параллельно то как программа дождется ответа от процедуры???
20 katc
 
20.03.12
08:30
вот ты трудный какой:
роблема в следующем: При проведение реализации в событии ОбработкаПроведения проверяются взаиморасчеты, и если проверка не прошла то документ не проводится, но должен создаваться другой документ "Претензия"
в запущеном фоновом задании
.
Не документ проводить в фоновом задании, а создавать новый документ. Что бы при откате транзакции с твоей "Претензией" ничего не случилось
21 Vovan1975
 
20.03.12
08:40
у вас неверно сформулирована задача.
Например, что вы будете делать если пользователи проведут две реализации но вторая будет по дате раньше первой?