CftClub.ru
Клуб специалистов ЦФТ-Банк

Обработка изменения состояния

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
san_light
Участник со стажем


Вступление в Клуб: 18.03.2011
СообщениеЧт Мар 13, 2014 21:38   Обработка изменения состояния Ответить с цитатой
Полезность: Нет оценки
Добрый день (или что там у вас ))). Очень нужна ваша помощь.
Нужно выполнить некую операцию проверки при переходе плат.документа из состояния FORM (начальное состояние) в любое другое. Подскажите, как поступить (или куда копать).
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Мар 14, 2014 09:01    Ответить с цитатой
Полезность: Нет оценки
Точка вызова MD_FOR_PROV, где параметр P_MESS = 'BEGIN' проверка выполнится до проводки, P_MESS = 'END', проверка выполнится после проводки.
_________________
всегда есть как минимум 2 выхода
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеПт Мар 14, 2014 09:10    Ответить с цитатой
Полезность: Нет оценки
На переход из состояния в состояние можно навесить операцию перехода. См. закладку "Переходы" на форме редактирования ТБП.
san_light
Участник со стажем


Вступление в Клуб: 18.03.2011
СообщениеПт Мар 14, 2014 13:41    Ответить с цитатой
Полезность: Нет оценки
Alexsey, Мне нужно обрабатывать именно переход из FORM в ЛЮБОЕ состояние. не только PROV

maestro, Операцию перехода (и проверки перехода тоже) пробовал, работает, но...

Дело в том, что мне нужно при этом изменить состояние самого плат дока, а вот тут засада...

Вот так выглядит переход FORM --> PODTV
По результатам проверки, вместо этого дожно произойти FORM --> XXX

Засада заключается в том, обработка выполняется полностью, а вот %state := 'XXX' как будто и не работает
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Мар 14, 2014 15:03    Ответить с цитатой
Полезность: Нет оценки
san_light пишет:
Alexsey, Мне нужно обрабатывать именно переход из FORM в ЛЮБОЕ состояние. не только PROV

maestro, Операцию перехода (и проверки перехода тоже) пробовал, работает, но...

Дело в том, что мне нужно при этом изменить состояние самого плат дока, а вот тут засада...

Вот так выглядит переход FORM --> PODTV
По результатам проверки, вместо этого дожно произойти FORM --> XXX

Засада заключается в том, обработка выполняется полностью, а вот %state := 'XXX' как будто и не работает

Из документации:
Цитата:
Точка вызова "Платежные документы. Анализ счета деб/кр при проводке пл. документа" (MD_FOR_PROV)



Короткое имя операции:

MD_FOR_PROV_CP_1

Полное имя операции:
Платежные документы. Анализ счета деб/кр при проводке пл. документа

Назначение операции:

Для дополнительной обработки документа после анализа в операции FOR_PROV и до/после продуктового анализа (в зависимости от настройки RKO_CUR_BEFORE)

Входные параметры:

1. Документ, Тип – [MAIN_DOCUM_REF]

2. Счет дебета, Тип – [AC_FIN_REF]

3. Счет кредита, Тип – [AC_FIN_REF]

4. Признак счета дебета, Тип – [BOOLEAN]

5. Признак успешности анализа, Тип – [BOOLEAN]

6. Дополнительные параметры, Тип – [STRING_32000]

7. Тип вызова, Тип – [STRING_100].


1. Точка вызова запускается в ЛЮБОМ случае, не обязательно при переходе в состояние PROV.
2. Чтобы избежать остановку документа в состоянии, например PODTV, достаточно в массив истории состояний добавить запись с этим кодом. Тогда продуктовый анализ пропустит данное состояние.
_________________
всегда есть как минимум 2 выхода
svn
Профи


Вступление в Клуб: 04.02.2008
СообщениеПт Мар 14, 2014 16:27    Ответить с цитатой
Полезность: Нет оценки
используйте хук MD_TO_TRANS_1
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Мар 14, 2014 17:04    Ответить с цитатой
Полезность: Нет оценки
svn пишет:
используйте хук MD_TO_TRANS_1

Василий, подскажи пожалуйста, что это за ХУК?
У меня такого на схемах нет и в доке он не описан. Если не трудно кинь в личку ссылку на доку.
_________________
всегда есть как минимум 2 выхода
svn
Профи


Вступление в Клуб: 04.02.2008
СообщениеПт Мар 14, 2014 23:03    Ответить с цитатой
Полезность: Нет оценки
ошибся я... - MD_DO_TRANS_1 так называется!
san_light
Участник со стажем


Вступление в Клуб: 18.03.2011
СообщениеПт Мар 28, 2014 12:57    Ответить с цитатой
Полезность: Нет оценки
Пробовал оба варианта, результат тот же, действие при переходе выполняется, но состояние не меняется
Цитата:
2. Чтобы избежать остановку документа в состоянии, например PODTV, достаточно в массив истории состояний добавить запись с этим кодом. Тогда продуктовый анализ пропустит данное состояние.

не совсем понял. в массив истории состояний записи добавляются при "doc%state := 'XXX';" или я не прав?
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Мар 28, 2014 13:45    Ответить с цитатой
Полезность: Нет оценки
san_light пишет:
Пробовал оба варианта, результат тот же, действие при переходе выполняется, но состояние не меняется
Цитата:
2. Чтобы избежать остановку документа в состоянии, например PODTV, достаточно в массив истории состояний добавить запись с этим кодом. Тогда продуктовый анализ пропустит данное состояние.

не совсем понял. в массив истории состояний записи добавляются при "doc%state := 'XXX';" или я не прав?

Для заполнения истории состояний я использую дистрибутивный код
Например:
Код:
::[DOCUMENT].[DOC_LIB].add_history_state(doc, 'PODTV', 'Документ входит в сводный');

_________________
всегда есть как минимум 2 выхода
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеПн Мар 31, 2014 09:28    Ответить с цитатой
Полезность: Нет оценки
тоже вопрос из области "Обработка изменения состояния"
только мне для Документов РЦ.

На переход повесить операцию не могу т.к. на ТБП Кнопка Изменить на переходе не доступна (серая) Sad

Переход ручной, не проводка.

Подходящего хука невижу...есть идеи ?
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПн Мар 31, 2014 09:39    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
тоже вопрос из области "Обработка изменения состояния"
только мне для Документов РЦ.

На переход повесить операцию не могу т.к. на ТБП Кнопка Изменить на переходе не доступна (серая) Sad

Переход ручной, не проводка.

Подходящего хука невижу...есть идеи ?

А можно более конкретно описать что необходимо.
А то переходов в документах РЦ 16 и не понятно, в какой момент необходимо сделать то или иное действие. Возможно ни какие ХУКи и не понадобятся, достаточно будет настроек продукта.
_________________
всегда есть как минимум 2 выхода
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеВт Апр 15, 2014 08:47    Ответить с цитатой
Полезность: Нет оценки
При переходе из 10 состояния в 16 происходит отправка подтверждающего сообщения и бизнес хочет чтобы когда выполняли переход из состояния 10 в 16 появлялось сообщение "вы уверены что хотите выполнить переход ?" Да и Нет.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеВт Апр 15, 2014 13:05    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
При переходе из 10 состояния в 16 происходит отправка подтверждающего сообщения и бизнес хочет чтобы когда выполняли переход из состояния 10 в 16 появлялось сообщение "вы уверены что хотите выполнить переход ?" Да и Нет.

Состояние 10 - это "Готов к отправке"
Состояние 16 - это "Архив"
В зависимости от настроек Договора операцией "Изменить реквизиты абонента" между ними может появиться еще несколько состояний. Т.е. прямой переход доступен, только при установленном признаке "Не ожидать тех. квитанции" на договоре.
При этом инициация перехода в ручном режиме выполняется операцией "Экспорт документов на участника" либо джобом экспорта.
Так же хочу обратить внимание, что ручная операция является списочной .
_________________
всегда есть как минимум 2 выхода
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru