Имя: Пароль:
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
у вас неверно сформулирована задача.
Например, что вы будете делать если пользователи проведут две реализации но вторая будет по дате раньше первой?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn