BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 19 дек 2010, 19:34 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
Не подскажите почему в версии 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;
Почему стала появляться ошибка?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2010, 05:50 
Не в сети
Клиент
Аватара пользователя

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

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2010, 10:04 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
Да я так пробовал но ошибка не исчезает.
Я в самом начале прописал int total = 10000;
Но ошибка осталась без изменения


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

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
может не видит? отдебажте скрипт
Код:
print("total>" + total);

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2010, 10:50 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
отдебажел - результат в файле server.script.log выходит ошибка а дальше total>10000
после записи я также поставил
total = asum2 + asum1;
print("total>" + total);
Но в логе уже ничего не появляется, только ошибка.
Может он не может суммировать (хотя скрипт отрабатывает и меняет группу) или нужно не integer ставить?


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

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

тоже бы инициализировать

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2010, 14:56 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
да действительно ошибки исчезли. учтем. спасибо
Но правда сейчас появились два 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()]


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

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
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

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2010, 16:16 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
По второму спасибо отработало.
а вот по первому не пойму что делаем не так.
написано
getStatus(int cid, java.util.Calendar date)
Deprecated. использовать public ContractStatus getStatus( int cid, Date date )

а как этот public использовать что-то не пойму


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2010, 16:44 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
просто второй параметр не календарь, а дата сейчас. много где так переделалось. либо в дате всё храните, ли если надо вычислять итд, то из календаря можно получить дату через .getTime()

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2011, 20:45 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
откладывал проблему в долгий ящик. Теперь решил убрать проблему.
Делаю как написали evdate = event.getGenerateTime().getTime();
Но в итоге вообще скрипт не работает.
Как же убрать эту ошибку, не пойму


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

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
проблему решили прописав evdate.getTime()


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

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


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

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


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

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