forum.bitel.ru
http://forum.bitel.ru/

[6.1] Перестал работать updatePayment (CRM)
http://forum.bitel.ru/viewtopic.php?f=56&t=10635
Страница 1 из 1

Автор:  nikav80 [ 21 июн 2015, 17:35 ]
Заголовок сообщения:  [6.1] Перестал работать updatePayment

При переходе с 6.0 на 6.1 в скрипте перестал работать метод updatePayment.
Выдаёт ошибку:
Код:
EXCEPTIONS:
Method Invocation bd.updatePayment
Method Invocation bd.updatePayment : at Line: 74 : in file: birthday_bonus : bd .updatePayment ( 0 , cid , payment )

Target exception: java.lang.NullPointerException

   at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:97)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BSHBlock.eval(BSHBlock.java:47)
   at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BSHBlock.eval(BSHBlock.java:47)
   at bsh.BSHWhileStatement.eval(BSHWhileStatement.java:72)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BSHBlock.eval(BSHBlock.java:47)
   at bsh.BSHTryStatement.eval(BSHTryStatement.java:86)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BshMethod.invokeImpl(BshMethod.java:362)
   at bsh.BshMethod.invoke(BshMethod.java:258)
   at bsh.BshMethod.invoke(BshMethod.java:186)
   at bsh.This.invokeMethod(This.java:255)
   at bsh.This.invokeMethod(This.java:174)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.invoke(ScriptInstance.java:390)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScriptImpl(GlobalScriptMachine.java:131)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScript(GlobalScriptMachine.java:73)
   at bitel.billing.server.script.global.bean.GlobalScriptManager.executeGlobalScript(GlobalScriptManager.java:40)
   at bitel.billing.server.script.global.action.ActionExecuteScript.doAction(ActionExecuteScript.java:32)
   at bitel.billing.server.Executer.doModule(Unknown Source)
   at bitel.billing.server.Executer$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at javax.security.auth.Subject.doAs(Subject.java:415)
   at bitel.billing.server.Executer.doPost(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)

Если вызвать метод один раз, то всё нормально -работает.
Если вызвать метод несколько раз подряд, хотя-бы два, то вылетает ошибка!
Скрипт начисляет бонусы договорам каждый день и если договоров на текущий день больше одного, то первому договору начисляет бонусы, а на следующем вылетает ошибка и начислений нет.
updatePayment стоит в цикле - по вызову на каждый договор.
Код:
        BonusPayment payment = new BonusPayment( 0,
               programId,
               today.getTime(),
               new BigDecimal(bonussum),
               today.getTime(),
               dateTo.getTime());
        bd.updatePayment( 0, cid, payment);

Автор:  Ildar [ 23 июн 2015, 01:12 ]
Заголовок сообщения:  Re: [6.1] Перестал работать updatePayment

Здравствуйте. Хотелось бы взглянуть на скрипт целиком, особенно интересует место где инициализируется BonusDao. Если не хотите светить скрипт, то постучитесь в HD.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/