Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
mike24 Участник со стажем
Вступление в Клуб: 24.08.2012
|
Ср Июл 19, 2017 12:03  Определение перехода документа в новое состояние |
|
Полезность: Нет оценки
|
Приветствую, коллеги!
Есть задача: при выполнении проводки документа нужно определить его новое состояние и выполнить некоторые действия, если это "то самое" состояние. Получилось реализовать только в расширении DOC_TO_PROV. Но дело в том, что проводка документов может идти и другим путем, через FOLDER_TO_PROV.
Посоветуйте пож-та хук, если такой есть. MD_DO_TRANS_1 не подходит, он выполняется до смены состояния. |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Чт Июл 20, 2017 03:46   |
|
Полезность: Нет оценки
|
Разве хук не MD_FOR_PROV_CP_1 ? |
|
 |
mike24 Участник со стажем
Вступление в Клуб: 24.08.2012
|
Чт Июл 20, 2017 09:26   |
|
Полезность: Нет оценки
|
Alkov пишет: | Разве хук не MD_FOR_PROV_CP_1 ? |
Увы, не оно |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
|
 |
mike24 Участник со стажем
Вступление в Клуб: 24.08.2012
|
Чт Июл 20, 2017 11:49   |
|
Полезность: Нет оценки
|
Да, смотрел.
В MD_FOR_PROV можно увидеть текущее состояние документа, т.е. он выполняется до того, как документ перешел в новое состояние. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Июл 20, 2017 12:07   |
|
Полезность: Нет оценки
|
а если при вызове хука/точки вызова смотреть
if P_MESS = 'BEGIN'
....
if P_MESS = 'END'
а вообще цитирую доку Приложение 1-07-00. Расширения продукта
Операции расширения [HOOK]:
MD_DO_TRANS_1
Платежные
документы.
Проверка
переходов.
Вер.01
[MAIN_DOCUM].
[DO_TRANS]
Проверка переходов
Короткое имя операции:
MD_DO_TRANS_1
Полное имя операции:
Платежные документы. Проверка переходов. Вер.01
Короткое имя класса и операции, из которой вызывается операция HOOK:
[MAIN_DOCUM].[DO_TRANS]
Полное имя операции, из которой вызывается операция HOOK:
Проверка переходов
Назначение операции HOOK:
Используется для реализации банком собственных проерок при переходе платежного
документа из одного состояния в другое.
Входные параметры:
1. Платежный документ, Тип - [MAIN_DOCUM_REF]
Возвращаемое значение:
Нет.
Значение на дистрибутиве:
Никаких действий не производится. |
|
 |
mike24 Участник со стажем
Вступление в Клуб: 24.08.2012
|
Чт Июл 20, 2017 12:14   |
|
Полезность: Нет оценки
|
Ага, и так пробовал. Все равно возвращает то состояние, которое было до проводки
Вот поэтому и прошу помощь зала, может кто уже решал подобную задачу. |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пт Июл 21, 2017 11:11   |
|
Полезность: Нет оценки
|
mike24 пишет: | Ага, и так пробовал. Все равно возвращает то состояние, которое было до проводки
Вот поэтому и прошу помощь зала, может кто уже решал подобную задачу. |
тоже искал - не нашел. Пришлось в МД_ФОР_ПРОВ просто условия сужать. Например, чтобы в РЦ не переходило пришлось ставить что текущее FORM и например счет ко КТ =301.
Как любое следующее отследить - не нашел. |
|
 |
De Mian Профи
Вступление в Клуб: 26.09.2008
|
Пт Июл 21, 2017 15:41   |
|
Полезность: Нет оценки
|
mike24 пишет: | Ага, и так пробовал. Все равно возвращает то состояние, которое было до проводки
Вот поэтому и прошу помощь зала, может кто уже решал подобную задачу. |
1) ::[MAIN_DOCUM][DOC_TO_PROV] -> ::[MAIN_DOCUM].[FOLDER_TO_PROV] -> CALL_PRODUCT -> ::[HOOK].[MD_CALL_PROD_1]
2) ::[MAIN_DOCUM][DOC_TO_PROV] -> ::[MAIN_DOCUM].[FOLDER_TO_PROV]-> CALL_PRODUCT -> ::[MAIN_DOCUM][FOR_PROV] -> ::[HOOK].[MD_FOR_PROV_CP_1]
Если действия выполнять после проводки папки, то
3) ::[MAIN_DOCUM][DOC_TO_PROV] -> ::[MAIN_DOCUM].[FOLDER_TO_PROV]-> ::[FOLDER_PAY].[DOC_TO_PROV]-> ::[FOLDER_PAY].[FOLDER_TO_PROV] -> ::[FOLDER_PAY].[ANALYS_FOLD]( null, ‘END’ или 'END_MAIN_FOLDER') -> расширение ANALYS_FOLD
Другой вариант - это модель состояний. У состояний и переходов есть операция проверки и операция перехода. Можно перекрыть операцию перехода , но сложней и просто так не объяснить |
|
 |
|