Добрый день!
Есть потребность в написании скрипта, который бы при временном понижении клиентом лимита, обнулял бы текущий исходящий остаток.
Вот что немного нацарапал:
Код:
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.kernel.contract.balance.common.bean.*;
import bitel.billing.server.contract.bean.*;
import java.math.*;
import java.util.*;
import ru.bitel.bgbilling.kernel.event.*;
public void onEvent( event, setup, con, conSlave )
{
BalanceUtils bu = new BalanceUtils( con );
PaymentManager pmgr = new PaymentManager( con );
Date dt = new Date();
int cid = event.getContractId();
BigDecimal balance = bu.getBalance( dt, cid );
if( balance.signum() < 0 )
{
// формируем фиктивный платеж
Payment prihod = new Payment();
prihod.setContractId( cid );
prihod.setDate( dt );
prihod.setTypeId( 7 );
prihod.setSum( balance.negate() );
prihod.setComment( "Для обнуления исходящего остатка при использовании обещанного платежа" );
pmgr.updatePayment( prihod );
bu.updateBalance( dt, cid );
}
}
При выполнении скрипта все устанавливается нормально, остаток обнуляется, вот только в выводе:
Код:
WARNINGS:
Function [id:5; title:111]: using deprecated method [public void bitel.billing.server.contract.bean.Payment.setDate(java.util.Date)]
Смотрю класс, вроде
Цитата:
setDate(java.util.Calendar date)
Deprecated.
Но
Цитата:
setDate(java.util.Date date)
Установка платежа
Ну так я и пишу Date dt = new Date();
Что я не так делаю, и какой тогда метод надо использовать для установки даты?
ЗЫ Не слишком силен в java, поэтому прошу сильно не пинать