BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 19:21

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 21 июл 2010, 11:02 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
Подскажите, как из скрипта поведения вычислить наработку за следующий месяц по всем тарифам привязанных к договору.
Версия биллинга 5.0


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июл 2010, 13:47 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
разработчики, подскажите где можно найти описание класса bitel.billing.server.npay.Calculator
и через какой метод можно задать период

наботку можно вычислить из примера http://forum.bgbilling.ru/viewtopic.php?f=16&t=4076


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июл 2010, 18:26 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Период нельзя задать, можно только месяц указать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июл 2010, 18:40 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
Администратор писал(а):
Период нельзя задать, можно только месяц указать.

понятно, спасибо

не подскжите как сравнить полученое значение в переменой planAccount
с переменой contract_balance из


Цитата:
balance = new BalanceUtils(con);
contract_balance = balance.getBalance(date.getTime(), cid).floatValue();


пробывал
Цитата:
if (planAccount.floatValue() > contract_balance)
{
};


вылетает с ошибкой
Цитата:
EXCEPTIONS:
Sourced file: Function [id:4; title:Test -Test] : Attempt to resolve method: floatValue() on undefined variable or class name: planAccount : at Line: 127 : in file: Function [id:4; title:Test -Test] : planAccount .floatValue ( )

java.util.concurrent.ExecutionException: Sourced file: Function [id:4; title:Test -Test] : Attempt to resolve method: floatValue() on undefined variable or class name: planAccount : at Line: 127 : in file: Function [id:4; title:Test -Test] : planAccount .floatValue ( )

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
at java.util.concurrent.FutureTask.get(FutureTask.java:91)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:361)
at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128)
at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:239)
at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:182)
at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140)
Caused by: Sourced file: Function [id:4; title:Test -Test] : Attempt to resolve method: floatValue() on undefined variable or class name: planAccount : at Line: 127 : in file: Function [id:4; title:Test -Test] : planAccount .floatValue ( )

at bsh.UtilEvalError.toEvalError(Unknown Source)
at bsh.UtilEvalError.toEvalError(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHBinaryExpression.eval(Unknown Source)
at bsh.BSHIfStatement.evaluateCondition(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310)
at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69)
at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:189)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:351)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)


зарание спасибо


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июл 2010, 18:47 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Код:
  Calculator calculator = new Calculator();
            calculator.setExecutingTime( now );
            calculator.setPreCalc();
            calculator.initTask( Setup.getSetup(), 0, "mid=" + mid );
            calculator.setCids( cids );
            calculator.startTask();

            BigDecimal planAccount = BigDecimal.ZERO;
           
            if ( !calculator.isCalcErrors() )
            {
               Map planAccountMap = calculator.getCostCache().getContractAccounts();
               for( Integer contractId : Utils.toIntegerList( cids ) )
               {
                  BigDecimal contractPlanAccount = Utils.maskNull( planAccountMap.get( contractId ) );
                  
               planAccount = planAccount.add( contractPlanAccount );
                  if( log.isDebugEnabled() )
                  {
                     log.debug( "Plan account cid: " + contractId + "; planAccount: " + contractPlanAccount );
                  }
               }
            }


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июл 2010, 19:00 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
как сравнит переменные contractPlanAccount и contract_balance из
Цитата:
balance = new BalanceUtils(con);
contract_balance = balance.getBalance(date.getTime(), cid).floatValue();


между собой


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

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
contractPlanAccount и contract_balance - это BigDecimal

Сравнить можно либо так, либо взять от обоих floatValue() и сравнить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июл 2010, 13:59 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
спасибо, всем, работает.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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