![]() |
|
Выполнение обработки после отмены проведения. | ☑ | ||
---|---|---|---|---|
0
Shalun
28.11.21
✎
16:08
|
Всем привет! Есть задача: Выполнить некие действия ПОСЛЕ отмены проведения документа. Т.е. Сначала документ должен отменить все проводки, а потом выполнить требуемые действия. Как это сделать? ОбработкаУдаленияПроведения вызывается до удаления движений объекта.
|
|||
1
Мимохожий Однако
28.11.21
✎
16:24
|
Регламентное или фоновое задание можно запустить, либо запустить обработку ожидания с вызовом процедуры с требуемыми действиями.
|
|||
2
pechkin
28.11.21
✎
16:34
|
Руками очищать движения в обработке отмены
|
|||
3
hhhh
28.11.21
✎
17:22
|
(0) можно в процедуре ПослеЗаписи на форме документа.
|
|||
4
Смотрящий
28.11.21
✎
17:25
|
Подписка, не?
|
|||
5
pechkin
28.11.21
✎
17:26
|
(2) да и вообще сейчас в типовых движения автоматом не удаляются
|
|||
6
ДедМорроз
28.11.21
✎
17:57
|
В обработке проведения мы имеем еще не записанные в базу движения,почему в обработке удаления проведения должно быть по-другому ?
|
|||
7
mistеr
28.11.21
✎
18:13
|
(0) В подписке. А какие действия?
|
|||
8
Shalun
28.11.21
✎
20:10
|
По идее, да, подписка на событие выполняется после, но! Почемуто при выполнении подписки движения остаются. :-(
|
|||
9
vde69
28.11.21
✎
20:14
|
(8) по тому как не вызывалось
Движения.Записать() |
|||
10
Shalun
28.11.21
✎
20:54
|
(9) Спасибо, помогло! Но в таком случае, и после строки Движения.Зписать() обработка выполняется как надо. Можно и без Подписки обойтись.
|
|||
11
vde69
28.11.21
✎
21:13
|
(10) там может быть нюанс, часть движений могут меняться в подписках (то есть после твоего Записать() ), по этому советую повнимательнее глянуть...
|
|||
12
ДедМорроз
28.11.21
✎
21:18
|
Если хочется гарантированно после что-то сделать,то мы дрлжны запустить фоновое задание,которое сначала прочитает наш документ (в управляемых блокировках - выставит ту же блокировку),а потом выполняет то,что нужно,еще в него можно передать версию объекта,чтобы знать - завершилась транзакция или нет.
В подписке,как и в самой процедуре мы не знаем,что будет в следующих за нами подписках,поэтому,можно ожидать отмену,даже если мы ее не делали. |
|||
13
Shalun
29.11.21
✎
09:35
|
Чет ничего не пойму, вчера работало, сегодня нет. :-(
В подписке, после выполнения отмены проведения (Движения.Записать()), движения объекта все равно есть в регистре. (12) Задача довольно таки простая, нужно прочитать состояние регистра, после проведении\отмены проведения документа. По этому, заморачиваться с фоновым заданием, не совсем то. |
|||
14
Мимохожий Однако
29.11.21
✎
09:37
|
(13) Запусти обработку ожидания
|
|||
15
hhhh
29.11.21
✎
09:58
|
(11) тогда будет просто Записать два раза.
|
|||
16
vde69
29.11.21
✎
09:59
|
(14) обработка ожидания - это клиент, а транзакция выполняется строго на сервере.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |