0
Dachka
14.01.17
✎
22:14
|
Подскажите пожалуйста, можно ли как-то отловить окончание процедуры проведения документа в базе - именно окончание самой транзакции?
Есть центральная база и распределенная (8.2 обычное приложение): необходимо при записи и проведении документа в ЦБ по веб-сервису отправлять его в распределенную базу. Реализовала отправку документа в подписке на событие ОбработкаПроведения() - так как при отработке данного события документ проведен и движения его существуют. В принципе все работает-в режиме реального времени документ создается в распределенной базе.
Правда есть одно НО: в момент если что-то пошло не так - зависание базы, блокировки - получается, что документ в распред.базе уже создан, а в ЦБ транзакция завершается с ошибкой и документ не записывается. А хотелось бы отловить момент, когда он точно записан в базу. Есть в модуле формы процедура ПослеЗаписи(), но дело в том, что документы в ЦБ могут создаваться программно.
Можно конечно использовать регл.задание по отправке документов, стоящих на регистрации, но тогда это будет не совсем онлайн.
Может быть кто-то решал подобную проблему?
|
|
1
marvak
14.01.17
✎
22:58
|
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ПриЗаписи (OnWrite)
Синтаксис:
ПриЗаписи(<Отказ>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись документа выполнена не будет.
Значение по умолчанию: Ложь.
Описание:
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
См. также:
ДокументОбъект.<Имя документа>, метод Записать
Не оно?
|
|