forum.bitel.ru http://forum.bitel.ru/ |
|
При тестировании 5.1 скрип пишет ошибку http://forum.bitel.ru/viewtopic.php?f=19&t=4932 |
Страница 1 из 1 |
Автор: | madmax [ 19 дек 2010, 19:34 ] |
Заголовок сообщения: | При тестировании 5.1 скрип пишет ошибку |
Не подскажите почему в версии 5.1 выходит ошибка. Есть скрипт который устанавливает группу должников или убирает. Но непонятно что за ошибка появляется Вот скрипт Код: import bitel.billing.server.call.bean.*; import bitel.billing.server.radius.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.script.event.*; import bitel.billing.common.KernelConst; import bitel.billing.server.ipn.bean.*; import java.text.*; import java.util.*; import bitel.billing.server.tariff.bean.*; import java.math.*; if ( event.flag == 12 ) { // номер контракта cid = event.getContractID(); evdate=event.getGenerateTime(); datefrm = new SimpleDateFormat("yyyy"); evyear=datefrm.format(evdate.getTime()).toString(); datefrm = new SimpleDateFormat("MM"); evmonth=datefrm.format(evdate.getTime()).toString(); // Сумма задолженности на начало месяца ps = con.prepareStatement("SELECT summa1 FROM contract_balance WHERE cid=? AND yy="+evyear+" AND mm="+evmonth); ps.setInt( 1, cid); rs = ps.executeQuery(); if ( rs.first() ) { asum1 = rs.getLong(1); } else { break; } // Сумма оплаты за текущий месяц ps = con.prepareStatement("SELECT summa2 FROM contract_balance WHERE cid=? AND yy="+evyear+" AND mm="+evmonth); ps.setInt( 1, cid); rs = ps.executeQuery(); rs.first(); asum2 = rs.getLong(1); //Текущие группы договора и тип физического лица cpu = new ContractParamUtils( con ); contract = new ContractManager(con).getContractByID(cid); contract_groups = contract.getGroups(); contract_fc = contract.getFc(); //Итоговая сумма равна сумме оплат плюс задолженность на начало месяца total= asum2 + asum1; // Если у договора присутствует группа служебные тогда выход if (( contract_groups & (1L<<57)) > 0) { break; } //Если физическое лицо и сумма задолженности больше или равно - 100 тогда не должник if ( contract_fc == 0 && total >= -100 ) { if (( contract_groups & (1L<<54)) > 0) { cpu.unsetGroup( cid, 54 ); } break; } //Если юридическое лицо и сумма задолженности больше или равно - 200 тогда не должник if ( contract_fc == 1 && total >= -200 ) { if (( contract_groups & (1L<<54)) > 0) { cpu.unsetGroup( cid, 54 ); } break; } //Установить группу должники cpu.setGroup( cid, 54 ); } А вот какая выходит ошибка Typed variable declaration : illegal use of undefined variable, class, or 'void' literal : at Line: 54 : Именно на записи total= asum2 + asum1; Почему стала появляться ошибка? |
Автор: | skyb [ 20 дек 2010, 05:50 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
в 5.1 необходимо проинициализировать переменную |
Автор: | madmax [ 20 дек 2010, 10:04 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
Да я так пробовал но ошибка не исчезает. Я в самом начале прописал int total = 10000; Но ошибка осталась без изменения |
Автор: | skyb [ 20 дек 2010, 10:42 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
может не видит? отдебажте скрипт Код: print("total>" + total);
|
Автор: | madmax [ 20 дек 2010, 10:50 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
отдебажел - результат в файле server.script.log выходит ошибка а дальше total>10000 после записи я также поставил total = asum2 + asum1; print("total>" + total); Но в логе уже ничего не появляется, только ошибка. Может он не может суммировать (хотя скрипт отрабатывает и меняет группу) или нужно не integer ставить? |
Автор: | skyb [ 20 дек 2010, 13:39 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
Код: asum2 asum1 тоже бы инициализировать |
Автор: | madmax [ 20 дек 2010, 14:56 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
да действительно ошибки исчезли. учтем. спасибо Но правда сейчас появились два WARM 1) using deprecated method [public bitel.billing.server.contract.bean.ContractStatus bitel.billing.server.contract.bean.ContractStatusManager.getStatus(int,java.util.Calendar)] 2) using deprecated method [public int bitel.billing.server.script.bean.event.Event.getContractID()] |
Автор: | skyb [ 20 дек 2010, 14:57 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
madmax писал(а): да действительно ошибки исчезли. учтем. спасибо Но правда сейчас появились два WARM 1) using deprecated method [public bitel.billing.server.contract.bean.ContractStatus bitel.billing.server.contract.bean.ContractStatusManager.getStatus(int,java.util.Calendar)] 2) using deprecated method [public int bitel.billing.server.script.bean.event.Event.getContractID()] используются старые класы, в явадок и смотреть на что сменилось madmax писал(а): 2) using deprecated method [public int bitel.billing.server.script.bean.event.Event.getContractID() тут кстати кажись нада указать Код: getContractId() ну тоесть с большой D поменять на маленькую d |
Автор: | madmax [ 20 дек 2010, 16:16 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
По второму спасибо отработало. а вот по первому не пойму что делаем не так. написано getStatus(int cid, java.util.Calendar date) Deprecated. использовать public ContractStatus getStatus( int cid, Date date ) а как этот public использовать что-то не пойму |
Автор: | dimOn [ 20 дек 2010, 16:44 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
просто второй параметр не календарь, а дата сейчас. много где так переделалось. либо в дате всё храните, ли если надо вычислять итд, то из календаря можно получить дату через .getTime() |
Автор: | madmax [ 03 июн 2011, 20:45 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
откладывал проблему в долгий ящик. Теперь решил убрать проблему. Делаю как написали evdate = event.getGenerateTime().getTime(); Но в итоге вообще скрипт не работает. Как же убрать эту ошибку, не пойму |
Автор: | madmax [ 04 июн 2011, 13:09 ] |
Заголовок сообщения: | Re: При тестировании 5.1 скрип пишет ошибку |
проблему решили прописав evdate.getTime() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |