А, ну понятно, почему не сделал. Конечно не сделал, потому что это событие происходит один раз в конце формирования чека. А в чеке может быть МНОГО платежей. То есть payment можно взять только для каждой отдельной строки в чеке. То есть это значит:
1)
Код:
payment = event.getPayment();
вам надо засунуть ПОД
Код:
if ( event instanceof AddPaymentCheckEvent) {
...
}
2) В событии EndCreateCheckEvent не пользовать payment, тем более, Вы там скорее всего ошиблись, и вместо event написали payment. А если не ошиблись, то знайте - что ИД_Договора доступен и у события. То есть будет что-то типа того:
Код:
import ru.bitel.bgbilling.plugins.cashcheck.server.bean.*;
check = event.getCheck();
if ( event instanceof AddPaymentCheckEvent)
{
payment = event.getPayment();
check.addString( " " );
check.addString( "Оплата услуг электросвязи" );
check.addString( "Договор №: " + payment.getContractTitle() );
check.addString( "Абонент: " + payment.getContractComment() );
check.addString( " " );
check.addPayment( payment.getSumma(), payment.getContractTitle(), event.getPaymentDep() );
check.addString( " " );
}
if(event instanceof EndCreateCheckEvent)
{
check.addString( "Ваш текущий баланс: " + BalanceUtils.getBalance(new Date(), event.getContractID() );
check.addString( " " );
}
Проверьте.