Имя: Пароль:
1C
1С v8
Как узнать про отмену транзакции в ПриЗаписиНаСервере в модуле формы?
0 ssalikoff
 
25.06.22
21:47
Здравствуйте. Нужно отработать событие проведения документа. Документ может проводиться как интерактивно, так и неинтерактивно. Можно сделать подписку на событие ОбработкаПроведения, и в ней обработать проведение.
Но проблема в том, что в случае интерактивного проведения возникает событие ПриЗаписиНаСервере в модуле формы, в котором можно выставить Отказ в Истину, и вызвать откат транзакции записи. А подписка уже отработала и никогда не узнает, что транзакция отменена.
Подскажите, как правильно обработать событие проведения документа
1 ДедМорроз
 
25.06.22
21:55
А в чем проблема ?
Если подписка что-то поменяла в базе,то это в рамках той же транзакции и откатится вместе с ней.
Если же в подписке стартовали фончик,то в нем неплохо бы проверить версию объекта,что не натворить дел.
2 ssalikoff
 
25.06.22
22:33
(1) я в подписке отправляю сообщение в Телеграм ответственному пользователю о том, что появился (провёлся) новый документ.
3 ДедМорроз
 
25.06.22
22:46
(2)в подписке создавай фоновое,в фоновом выполняй блокировку записываемого объекта - рна пройдет дальше кпк только транзакция завершится и проверяй версию объекта с той,которая была в транзакции - нсли такая же,то транзакция завершилась успешно и можно слать по всем каналам.
4 ssalikoff
 
25.06.22
22:48
(3) Отлично, спасибо за совет!
5 ДедМорроз
 
25.06.22
22:52
Если документов много и могут проводиться параллельно,то план обмена с авторегистрацией для данного документа,а уже в регламентном задании делать рассылку с удалением регистрации из плана обмена.
6 ssalikoff
 
25.06.22
22:53
(5) Да, тоже вариант, спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!