BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 27 апр 2024, 23:09

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 31 авг 2015, 13:04 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
До версии 6.0 скрипт из wiki прекрасно работал "Вставка контрольной суммы в номер договора".
http://wiki.bitel.ru/index.php/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B0
Код:
import bitel.billing.server.util.*;
 
title = event.getContract().getTitle();
pos = title.indexOf('-');
 
print( "title=" + title );
 
// имя вида  202-001072
if( pos == 3 )
{
   print( "inserting control digit" );
 
   sum = 0;
 
   length = title.length();
   for( i = 0; i < length; i++ )
   {
      if( i == 4 )
      {
         continue;
      }
      sum += Utils.parseIntString( title.substring( i, i + 1 ) );
   }
 
   sum = sum % 10;
   title = title.substring( 0, 4) + sum + title.substring( 5 );
 
   print( "title after =" + title );
 
   query = "UPDATE contract SET title=? WHERE id=?";
   psUpdate = con.prepareStatement( query );
   psUpdate.setString( 1, title );
   psUpdate.setInt( 2, event.getContractID() );
   psUpdate.executeUpdate();
}

После обновления до 6.2 стал выдавать ошибку:
Код:
EXCEPTIONS:
java.security.PrivilegedActionException: Sourced file: Function [id:1; title:Генерация номера договора PPPOE] : at Line: 5 : in file: Function [id:1; title:Генерация номера договора PPPOE] : .getTitle ( )

Target exception: java.lang.NullPointerException: Attempt to invoke method getTitle on null value

java.util.concurrent.ExecutionException: java.security.PrivilegedActionException: Sourced file: Function [id:1; title:Генерация номера договора PPPOE] : at Line: 5 : in file: Function [id:1; title:Генерация номера договора PPPOE] : .getTitle ( )

Target exception: java.lang.NullPointerException: Attempt to invoke method getTitle on null value

        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.runScript(ScriptEventListener.java:466)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:310)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.notify(ScriptEventListener.java:277)
        at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:893)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:862)
        at bitel.billing.server.contract.action.ActionNewContract.doAction(ActionNewContract.java:119)
        at bitel.billing.server.Executer.doModule(SourceFile:600)
        at bitel.billing.server.Executer$1.run(SourceFile:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at bitel.billing.server.Executer.doPost(SourceFile:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.PrivilegedActionException: Sourced file: Function [id:1; title:Генерация номера договора PPPOE] : at Line: 5 : in file: Function [id:1; title:Генерация номера договора PPPOE] : .getTitle ( )

Target exception: java.lang.NullPointerException: Attempt to invoke method getTitle on null value

        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1.call(ScriptEventListener.java:442)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: Sourced file: Function [id:1; title:Генерация номера договора PPPOE] : at Line: 5 : in file: Function [id:1; title:Генерация номера договора PPPOE] : .getTitle ( )

Target exception: java.lang.NullPointerException: Attempt to invoke method getTitle on null value

        at bsh.UtilTargetError.toEvalError(UtilTargetError.java:70)
        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:90)
        at bsh.Reflect.invokeObjectMethod(Reflect.java:85)
        at bsh.BSHPrimarySuffix.doName(BSHPrimarySuffix.java:176)
        at bsh.BSHPrimarySuffix.doSuffix(BSHPrimarySuffix.java:120)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:80)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
        at bsh.BSHAssignment.eval(BSHAssignment.java:77)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:327)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$Worker.runScriptImpl(ScriptEventListener.java:99)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:353)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.access$101(ScriptEventListener.java:404)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1$1.run(ScriptEventListener.java:448)
        ... 8 more

Версия:
Код:
Информация о версии:

  Клиент: вер. 6.2.744 / 21.08.2015 21:13:07
    os: Windows 10; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60
  Сервер: вер. 6.2.938 / 21.08.2015 21:14:00
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60

  assist: вер. 6.2.76 / 14.08.2015 18:02:26
  bill: вер. 6.2.41 / 14.08.2015 18:00:59
  card: вер. 6.2.25 / 14.08.2015 18:01:00
  cerbercrypt: вер. 6.2.192 / 25.08.2015 19:00:58
  dba: вер. 6.2.158 / 14.08.2015 18:01:44
  dialup: вер. 6.2.309 / 14.08.2015 18:01:45
  drweb: вер. 6.2.66 / 14.08.2015 18:01:46
  email: вер. 6.2.171 / 14.08.2015 18:01:48
  gorod: вер. 6.2.158 / 14.08.2015 18:01:50
  inet: вер. 6.2.549 / 25.08.2015 19:02:55
  ipn: вер. 6.2.221 / 14.08.2015 18:01:54
  mps: вер. 6.2.168 / 14.08.2015 18:02:29
  npay: вер. 6.2.180 / 14.08.2015 18:01:55
  payonline: вер. 6.2.52 / 14.08.2015 18:02:31
  phone: вер. 6.2.237 / 19.08.2015 21:37:11
  rbkmoney: вер. 6.2.22 / 14.08.2015 18:02:35
  reports: вер. 6.2.187 / 14.08.2015 18:02:08
  rscm: вер. 6.2.170 / 14.08.2015 18:02:09
  ru.bitel.bgbilling.plugins.cashcheck: вер. 6.2.98 / 14.08.2015 18:01:58
  ru.bitel.bgbilling.plugins.cladr: вер. 6.2.116 / 14.08.2015 18:01:59
  ru.bitel.bgbilling.plugins.crm: вер. 6.2.183 / 14.08.2015 18:02:02
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.2.49 / 14.08.2015 18:02:03
  ru.bitel.bgbilling.plugins.documents: вер. 6.2.159 / 20.08.2015 13:00:45
  ru.bitel.bgbilling.plugins.helpdesk: вер. 6.2.167 / 14.08.2015 18:02:05
  ru.bitel.bgbilling.plugins.organizer: вер. 6.2.67 / 14.08.2015 18:02:06
  trayinfo: вер. 6.2.165 / 14.08.2015 18:02:11
  voiceip: вер. 6.2.176 / 17.08.2015 14:03:14
  wm: вер. 6.2.172 / 14.08.2015 18:03:10

Окружение:

  Клиент:
    os: Windows 10 amd64, 10.0
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60
    jre home: C:\Program Files\Java\jre1.8.0_60
    default tz: 31.08.2015 10:04 MSK +0300 (Europe/Moscow)
    user tz: 31.08.2015 10:04 MSK +0300 (Europe/Moscow)
    locale: ru_RU
  Сервер:
    os: Linux amd64, 4.0.8-300.fc22.x86_64
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60
    jre home: /opt/java/jdk1.8.0_60/jre
    default tz: 31.08.2015 10:04 MSK +0300 (Europe/Moscow)
    db time: 2015-08-31 10:04:48.0
    locale: ru_RU

Третьи стороны:

  Fugue Icons. Copyright © 2011 Yusuke Kamiyamane. All rights reserved.
    http://p.yusukekamiyamane.com/
  Silk icon set. Copyright © Mark James. All rights reserved.
    http://www.famfamfam.com/lab/icons/silk/

Подскажите пожалуйста, что ему стало не нравиться и как исправить?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 13:10 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
Attempt to invoke method getTitle on null value


event.getContract() равен null

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 13:16 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
на событие какое у вас срабатывает этот скрипт

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 13:19 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Ошибку я вижу, я просто в яве не силен и поэтому спрашиваю,
почему раньше все ему нравилось, а после обновления нет и как исправить
если это возможно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 13:37 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
dimOn писал(а):
на событие какое у вас срабатывает этот скрипт


На событие Договор создан


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 16:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Договор при этом создается? Но контрольная сумма не добавляется?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 16:27 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
У Вас скрипт точно так выглядит? В ошибке ругается на (1) Генерация номера договора PPPOE, строка 5, а в скрипте в первом посте строка 5 - пустая.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 17:01 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Amir писал(а):
У Вас скрипт точно так выглядит? В ошибке ругается на (1) Генерация номера договора PPPOE, строка 5, а в скрипте в первом посте строка 5 - пустая.


Скрипт такой:
Код:
import ru.bitel.common.*;
//import bitel.billing.server.util.*;

 
title = event.getContract().getTitle();
pos = title.indexOf('-');
 
print( "title=" + title );
 
// имя вида  202-001072
if( pos == 3 )
{
   print( "inserting control digit" );
 
   sum = 0;
 
   length = title.length();
   for( i = 0; i < length; i++ )
   {
      if( i == 4 )
      {
         continue;
      }
      sum += Utils.parseInt( title.substring( i, i + 1 ) );
   }
 
   sum = sum % 10;
   title = title.substring( 0, 4) + sum + title.substring( 5 );
 
   print( "title after =" + title );
 
   query = "UPDATE contract SET title=? WHERE id=?";
   psUpdate = con.prepareStatement( query );
   psUpdate.setString( 1, title );
   psUpdate.setInt( 2, event.getContractId() );
   psUpdate.executeUpdate();
}

В редакторе выглядит как на скрине.
Договор создается, но контрольная сумма не верная.
В шаблоне задано например: 215-${time:F}${N6}
А получаем номер например: 215-5069588
Где:
префикс на группу задан в шаблоне 215-
следующий по порядку номер присваивается 069588
складываем все цифры: 2+1+5+0+6+9+5+8+8=44
отбрасываем десятки
остается 4
должны получить номер договора 215-4069588, а получили 215-5069588.

И где "казявка" я не пойму....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2015, 17:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
08-31/14:11:38  INFO [http-bio-0.0.0.0-8080-exec-6] ScriptEventListener - Process time => 11
08-31/14:11:38 ERROR [http-bio-0.0.0.0-8080-exec-6] ScriptEventListener - java.util.concurrent.ExecutionException: java.security.PrivilegedActionException: java.lang.Exception: java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:267)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScript(DynamicScriptEventListener.java:149)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.notify(DynamicScriptEventListener.java:117)
        at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:893)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:862)
        at bitel.billing.server.contract.action.ActionNewContract.doAction(ActionNewContract.java:119)
        at bitel.billing.server.Executer.doModule(SourceFile:600)
        at bitel.billing.server.Executer$1.run(SourceFile:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at bitel.billing.server.Executer.doPost(SourceFile:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.PrivilegedActionException: java.lang.Exception: java.lang.NullPointerException
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener$1.call(DynamicScriptEventListener.java:241)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.Exception: java.lang.NullPointerException
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:200)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.access$001(DynamicScriptEventListener.java:204)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener$1$1.run(DynamicScriptEventListener.java:247)
        ... 8 more
Caused by: java.lang.NullPointerException
        at ru.ellcom.contract.ChangeContractTitle.onEvent(ChangeContractTitle.java:20)
        at ru.ellcom.contract.ChangeContractTitle.onEvent(ChangeContractTitle.java:14)
        at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:196)
        ... 10 more

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2015, 08:11 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
может лучше на динкод переписать?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2015, 08:37 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Это из динкода как раз таки.
И строка всего 1.
Получение договора из эвента )))

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2015, 10:08 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Phricker писал(а):
Это из динкода как раз таки.
И строка всего 1.
Получение договора из эвента )))

да я не тебе а тс )))))), но понял что всеравно бессмысленно, хотя у меня на младших версиях работает
Сервер: вер. 6.2.931 / 14.08.2015 18:01:24
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2015, 13:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Ну тс сразу признался что в яве не силен.
Потому и не переписал в динкод.
А так по сути как я и говорил, не работает.

Код:
package ru.ellcom.contract;

import bitel.billing.server.contract.bean.Contract;
import org.apache.log4j.Logger;
import ru.bitel.bgbilling.kernel.event.events.ContractCreatedEvent;
import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;

import java.sql.Connection;

public class ChangeContractTitle extends EventScriptBase<ContractCreatedEvent> {

    protected static final Logger logger = Logger.getLogger(ContractCreatedEvent.class);

    @Override
    public void onEvent(ContractCreatedEvent event, Setup setup, ConnectionSet connectionSet)
            throws Exception {
       
        Contract contract;
        contract = event.getContract();
        if(contract == null){
            logger.error("Чот фигня какая-то");
        }
        else {
            logger.error("А нет не фигня");
        }
    }
}

Изображение

Код:
[root@test62 log]# cat ./server.error.log
script 09-01/10:09:55 ERROR [dyn-clss-evnt-lstnr-p-4-t-1] ContractCreatedEvent - Чот фигня какая-то

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2015, 15:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Задача непонятна. В ContractCreatedEvent не приходит Contract чтоле

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 06:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
оказывается не только меня не понимают, может дело не во мне ;-)

а вообще я ошибся, у меня другая схема работает
Код:
int cid = event.getContractId();
Contract c = cm.getContractById( cid );

Ну а дальше можно уже и
Код:
String title = c.getTitle();

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 06:52 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
ТС попробуй как то так

Код:
import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.ContractManager;

ContractManager cm = new ContractManager( con );
 int cid = event.getContractId();
Contract c = cm.getContractById( cid );
String title = c.getTitle();
pos = title.indexOf('-');
 
print( "title=" + title );
 
// имя вида  202-001072
if( pos == 3 )
{
   print( "inserting control digit" );
 
   sum = 0;
 
   length = title.length();
   for( i = 0; i < length; i++ )
   {
      if( i == 4 )
      {
         continue;
      }
      sum += Utils.parseIntString( title.substring( i, i + 1 ) );
   }
 
   sum = sum % 10;
   title = title.substring( 0, 4) + sum + title.substring( 5 );
 
   print( "title after =" + title );
 
   query = "UPDATE contract SET title=? WHERE id=?";
   psUpdate = con.prepareStatement( query );
   psUpdate.setString( 1, title );
   psUpdate.setInt( 2, cid );
   psUpdate.executeUpdate();
}

или так
Код:
import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.ContractManager;

ContractManager cm = new ContractManager( con );
 int cid = event.getContractId();
Contract c = cm.getContractById( cid );
String title = c.getTitle();
pos = title.indexOf('-');
 
print( "title=" + title );
 
// имя вида  202-001072
if( pos == 3 )
{
   print( "inserting control digit" );
 
   sum = 0;
 
   length = title.length();
   for( i = 0; i < length; i++ )
   {
      if( i == 4 )
      {
         continue;
      }
      sum += Utils.parseIntString( title.substring( i, i + 1 ) );
   }
 
   sum = sum % 10;
   title = title.substring( 0, 4) + sum + title.substring( 5 );
 
   print( "title after =" + title );
 
c.setTitle(title);
cm.updateContract( c );
}

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 12:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
skyb писал(а):
оказывается не только меня не понимают, может дело не во мне ;-)

В тебе в тебе.


ContractCreatedEvent содержит метод getContract(), который возвращает договор.
В 6.2 он его не возвращает.

Либо надо переписать API и сказать что это не работает, либо исправить косяк.
Код:
package ru.bitel.bgbilling.kernel.event.events;
.....

public class ContractCreatedEvent
  extends LocalEvent
{
.....
  public Contract getContract()
  {
    return this.contract;
  }



Но getContractId() все таки работает.
Даже не посмотрел на это...
Изображение

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 12:59 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
skyb писал(а):
ТС попробуй как то так


Приходит на почту ошибка, это второй скрипт и контрольная сумма не та,
она должна поменяться:
Код:
ID события: bgbs.contract.script.error
Время регистрации события: 02.09.2015 09:47:17
Хост сервера: bill.garantia.tv/127.0.0.1

Contract 215-1069604
GENERATE_TIME: 02.09.15 09:47:17
EXECUTION_STOP_TIME: 02.09.15 09:47:17
PROCESS_TIME: 12

OUT:


EXCEPTIONS:
java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Typed variable declaration : Class: Contract not found in namespace : at Line: 6 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Contract

java.util.concurrent.ExecutionException: java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Typed variable declaration : Class: Contract not found in namespace : at Line: 6 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Contract

        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.runScript(ScriptEventListener.java:466)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:310)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.notify(ScriptEventListener.java:277)
        at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:893)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:862)
        at bitel.billing.server.contract.action.ActionNewContract.doAction(ActionNewContract.java:119)
        at bitel.billing.server.Executer.doModule(SourceFile:600)
        at bitel.billing.server.Executer$1.run(SourceFile:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at bitel.billing.server.Executer.doPost(SourceFile:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Typed variable declaration : Class: Contract not found in namespace : at Line: 6 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Contract

        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1.call(ScriptEventListener.java:442)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Typed variable declaration : Class: Contract not found in namespace : at Line: 6 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Contract

        at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
        at bsh.BSHType.getType(BSHType.java:154)
        at bsh.BSHTypedVariableDeclaration.eval(BSHTypedVariableDeclaration.java:75)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:327)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$Worker.runScriptImpl(ScriptEventListener.java:99)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:353)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.access$101(ScriptEventListener.java:404)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1$1.run(ScriptEventListener.java:448)
        ... 8 more


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
в импорт добавьте
import bitel.billing.server.contract.bean.Contract;

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:24 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Phricker писал(а):
в импорт добавьте
import bitel.billing.server.contract.bean.Contract;


Ошибка и контрольная сумма не та:
Код:
ID события: bgbs.contract.script.error
Время регистрации события: 02.09.2015 10:22:07
Хост сервера: bill.garantia.tv/127.0.0.1

Contract 215-1069604
GENERATE_TIME: 02.09.15 10:22:07
EXECUTION_STOP_TIME: 02.09.15 10:22:07
PROCESS_TIME: 50

OUT:
title=215-1069604
inserting control digit


EXCEPTIONS:
java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseIntString() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseIntString ( title .substring ( i , i + 1 ) )

java.util.concurrent.ExecutionException: java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseIntString() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseIntString ( title .substring ( i , i + 1 ) )

        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.runScript(ScriptEventListener.java:466)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:310)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.notify(ScriptEventListener.java:277)
        at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:893)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:862)
        at bitel.billing.server.contract.action.ActionNewContract.doAction(ActionNewContract.java:119)
        at bitel.billing.server.Executer.doModule(SourceFile:600)
        at bitel.billing.server.Executer$1.run(SourceFile:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at bitel.billing.server.Executer.doPost(SourceFile:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseIntString() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseIntString ( title .substring ( i , i + 1 ) )

        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1.call(ScriptEventListener.java:442)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseIntString() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseIntString ( title .substring ( i , i + 1 ) )

        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:85)
        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:90)
        at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:99)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
        at bsh.BSHAssignment.eval(BSHAssignment.java:77)
        at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
        at bsh.BSHBlock.eval(BSHBlock.java:81)
        at bsh.BSHBlock.eval(BSHBlock.java:47)
        at bsh.BSHForStatement.eval(BSHForStatement.java:111)
        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.Interpreter.eval(Interpreter.java:653)
        at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:327)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$Worker.runScriptImpl(ScriptEventListener.java:99)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:353)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.access$101(ScriptEventListener.java:404)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1$1.run(ScriptEventListener.java:448)
        ... 8 more


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Покажите настройки шаблона договора.
Я на тесте проверю.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
В смысле как номер договора генерируется.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Пока могу посоветовать заменить
Код:
sum += Utils.parseIntString( title.substring( i, i + 1 ) );

на
Код:
sum += Utils.parseInt( title.substring( i, i + 1 ) );

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:34 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Шаблон имени:
Код:
215-${time:F}${N6}

Функционал как Wiki:
Код:
Простейшая контрольная сумма для договоров вида 102-X{N6}, где {N6} - шестизначный порядковый номер, а X - собственно контрольная сумма, может быть вычислена как последний десятичный разряд суммы цифр за исключением контрольной суммы.
Для реализации вышеуказанной схемы в шаблоне договора прописывается шаблон имени 102-${time:F}${N6}. Вместо контрольной суммы вставляется некое число, равное в нашем случае первому дню в месяце создания или что-то вроде этого ) Что конкретно - не суть важно, главное чтобы это было одна цифра, не учавствующая в порядковом номере. Далее на событие Договор создан вешается скрипт, изменяющий номер.
Префикс для каждого шаблона будет содержать три цифры.
Под порядковый номер отводится последние шесть цифр.
Четвертая цифра - контрольная сумма. Вычисляется путем сложения всех цифр номера договора, старший разряд отбрасывается.
Пример:
префикс на группу задан в шаблоне 202-
следующий по порядку номер присваивается 001072
складываем все цифры: 2+0+2+0+0+1+0+7+2=14
отбрасываем десятки
остается 4
получаем номер договора 202-4001072


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Phricker писал(а):
Пока могу посоветовать заменить
Код:
sum += Utils.parseIntString( title.substring( i, i + 1 ) );

на
Код:
sum += Utils.parseInt( title.substring( i, i + 1 ) );

Еще это проверьте.
Если не заработает, перепишу в динкод и выложу.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 13:38 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Заменил, ошибка и контрол. сумма не та:
Код:
ID события: bgbs.contract.script.error
Время регистрации события: 02.09.2015 10:37:16
Хост сервера: bill.garantia.tv/127.0.0.1

Contract 215-1069605
GENERATE_TIME: 02.09.15 10:37:16
EXECUTION_STOP_TIME: 02.09.15 10:37:16
PROCESS_TIME: 19

OUT:
title=215-1069605
inserting control digit


EXCEPTIONS:
java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseInt() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseInt ( title .substring ( i , i + 1 ) )

java.util.concurrent.ExecutionException: java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseInt() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseInt ( title .substring ( i , i + 1 ) )

        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.runScript(ScriptEventListener.java:466)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:310)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.notify(ScriptEventListener.java:277)
        at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:893)
        at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:862)
        at bitel.billing.server.contract.action.ActionNewContract.doAction(ActionNewContract.java:119)
        at bitel.billing.server.Executer.doModule(SourceFile:600)
        at bitel.billing.server.Executer$1.run(SourceFile:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at bitel.billing.server.Executer.doPost(SourceFile:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.PrivilegedActionException: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseInt() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseInt ( title .substring ( i , i + 1 ) )

        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1.call(ScriptEventListener.java:442)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: Sourced file: Function [id:50; title:Генерация номера договора PPPOE] : Attempt to resolve method: parseInt() on undefined variable or class name: Utils : at Line: 27 : in file: Function [id:50; title:Генерация номера договора PPPOE] : Utils .parseInt ( title .substring ( i , i + 1 ) )

        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:85)
        at bsh.UtilEvalError.toEvalError(UtilEvalError.java:90)
        at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:99)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
        at bsh.BSHAssignment.eval(BSHAssignment.java:77)
        at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
        at bsh.BSHBlock.eval(BSHBlock.java:81)
        at bsh.BSHBlock.eval(BSHBlock.java:47)
        at bsh.BSHForStatement.eval(BSHForStatement.java:111)
        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.Interpreter.eval(Interpreter.java:653)
        at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:327)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$Worker.runScriptImpl(ScriptEventListener.java:99)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:353)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.access$101(ScriptEventListener.java:404)
        at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1$1.run(ScriptEventListener.java:448)
        ... 8 more


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 14:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
import ru.bitel.common.Utils;
import bitel.billing.server.contract.bean.ContractManager;
import bitel.billing.server.contract.bean.Contract;

ContractManager cm = new ContractManager( con );
 int cid = event.getContractId();
Contract c = cm.getContractById( cid );
String title = c.getTitle();
pos = title.indexOf('-');
 
if( pos == 3 )
{
  sum = 0;
 
   length = title.length();
   for( i = 0; i < length; i++ )
   {
      if( i == 4 )
      {
         continue;
      }
      sum += Utils.parseInt( title.substring( i, i + 1 ) );
   }
 
   sum = sum % 10;
   title = title.substring( 0, 4) + sum + title.substring( 5 );
c.setTitle(title);
cm.updateContract( c );
}

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 14:36 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
Вот сейчас все заработало!!!!
ОГРОМНОЕ СПАСИБО!
-----------
Говорила мама учи яву, не слушался......


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 14:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Phricker писал(а):
skyb писал(а):
оказывается не только меня не понимают, может дело не во мне ;-)

В тебе в тебе.

)))) ожидаемо )))
Phricker писал(а):
ContractCreatedEvent содержит метод getContract(), который возвращает договор.
В 6.2 он его не возвращает.

Либо надо переписать API и сказать что это не работает, либо исправить косяк.
Код:
package ru.bitel.bgbilling.kernel.event.events;
.....

public class ContractCreatedEvent
  extends LocalEvent
{
.....
  public Contract getContract()
  {
    return this.contract;
  }



Но getContractId() все таки работает.
Даже не посмотрел на это...

то что есть косяк я думаю разрабы поняли, а я лишь посоветовал быстрофикс =)
опять я направил на то как исправить ошибку, опять плюс не мне, по головам идешь Phricker ))))

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2015, 14:46 
Не в сети

Зарегистрирован: 17 фев 2009, 19:18
Сообщения: 437
Откуда: Коломна
Карма: 10
skyb писал(а):
Phricker писал(а):
skyb писал(а):
оказывается не только меня не понимают, может дело не во мне ;-)

В тебе в тебе.

)))) ожидаемо )))
Phricker писал(а):
ContractCreatedEvent содержит метод getContract(), который возвращает договор.
В 6.2 он его не возвращает.

Либо надо переписать API и сказать что это не работает, либо исправить косяк.
Код:
package ru.bitel.bgbilling.kernel.event.events;
.....

public class ContractCreatedEvent
  extends LocalEvent
{
.....
  public Contract getContract()
  {
    return this.contract;
  }



Но getContractId() все таки работает.
Даже не посмотрел на это...

то что есть косяк я думаю разрабы поняли, а я лишь посоветовал быстрофикс =)
опять я направил на то как исправить ошибку, опять плюс не мне, по головам идешь Phricker ))))



ВСЕМ ОГРОМНОЕ ПРЕОГРОМНОЕ СПАСИБО!!!!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.109s | 78 Queries | GZIP : On ]