Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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   |
|
Полезность: Нет оценки
|
тоже вопрос из области "Обработка изменения состояния"
только мне для Документов РЦ.
На переход повесить операцию не могу т.к. на ТБП Кнопка Изменить на переходе не доступна (серая)
Переход ручной, не проводка.
Подходящего хука невижу...есть идеи ? |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Пн Мар 31, 2014 09:39   |
|
Полезность: Нет оценки
|
Alkov пишет: | тоже вопрос из области "Обработка изменения состояния"
только мне для Документов РЦ.
На переход повесить операцию не могу т.к. на ТБП Кнопка Изменить на переходе не доступна (серая)
Переход ручной, не проводка.
Подходящего хука невижу...есть идеи ? |
А можно более конкретно описать что необходимо.
А то переходов в документах РЦ 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 выхода |
|
 |
|