forum.bitel.ru http://forum.bitel.ru/ |
|
Как сделать проверку перед оформлением договора http://forum.bitel.ru/viewtopic.php?f=19&t=5824 |
Страница 1 из 1 |
Автор: | madmax [ 28 авг 2011, 19:18 ] |
Заголовок сообщения: | Как сделать проверку перед оформлением договора |
Как можно сделать проверку через скрипты проведений перед оформлением договора. В скриптах проведений есть событие Договор переоформлен, но перед переоформлением договора такого события нет. Хотим перед переоформлением договора сделать проверку на положительный баланс, если положительный то договор можно переоформлять. |
Автор: | Phricker [ 29 авг 2011, 00:56 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
Может быть? |
Автор: | madmax [ 29 авг 2011, 12:41 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
Да то что нужно. Но не можем понять логики. Прописали в конфиге. action.event_bitel.billing.module.contract_ActionWrapContract=before. В функции скриптов проведений создали поведение Тест и указали событие перед действием с кодом Код: print("ok"); event.setError( "qqq", false ); Добавили событие на договор и попытались переоформить, в итоге договор переоформился и окно с сообщением не вышло. Что не так? |
Автор: | skyb [ 29 авг 2011, 16:19 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
как напишите скрипт, выложите для общественности ? интересно посмотреть =) (возможно что то себе взять) |
Автор: | skn [ 30 авг 2011, 00:53 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
попробуйте так Код: action.event_contract_WrapContract=before <module> - соответствует значению параметра module в запросе <action> - соответствует значению параметра action в запросе |
Автор: | madmax [ 30 авг 2011, 11:48 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
Вот рабочий вариант проверки баланса перед переоформлением договора. В конфигурации сервера прописываем Код: action.event_contract_WrapContract=before Создаем Скрипт поведении с событием перед действием Код: import bitel.billing.server.contract.bean.*;
bu = new BalanceUtils( con ); cid = event.getContractID(); time = event.getGenerateTime(); float balance = bu.getBalance( time, cid ); if (balance < 0){ print("ok"); event.setError( "На счету не достаточно средств для переоформления договора", false ); } |
Автор: | snark [ 30 авг 2011, 16:38 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
madmax писал(а): Код: import bitel.billing.server.contract.bean.*; bu = new BalanceUtils( con ); cid = event.getContractID(); time = event.getGenerateTime(); float balance = bu.getBalance( time, cid ); if (balance < 0){ print("ok"); event.setError( "На счету не достаточно средств для переоформления договора", false ); } BalanceUtils.getBalance() возвращает java.math.BigDecimal сравнивать который надо не обычными ">" или "<", а compareTo() Если Вам уж так нужен float, хотя если надо просто сравнить, то я даже не представляю зачем, то почему бы не воспользоваться floatValue()? про cast я в курсе, но все же ... |
Автор: | madmax [ 30 авг 2011, 16:49 ] |
Заголовок сообщения: | Re: Как сделать проверку перед оформлением договора |
Да верно. Так будет лучше Код: import bitel.billing.server.contract.bean.*;
bu = new BalanceUtils( con ); cid = event.getContractId(); if(bu.getBalance(new Date(), cid).floatValue()<0){ print("ok"); event.setError( "На счету не достаточно средств для переоформления договора", false ); } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |