forum.bitel.ru http://forum.bitel.ru/ |
|
Внешний вид чека http://forum.bitel.ru/viewtopic.php?f=28&t=1839 |
Страница 1 из 1 |
Автор: | lacost [ 22 янв 2009, 23:26 ] |
Заголовок сообщения: | Внешний вид чека |
Не могу настроить внешний вид чека. сделал скрипт: Код: import ru.bitel.bgbilling.plugins.cashcheck.server.bean.*;
check = event.getCheck(); payment = event.getPayment(); if ( event instanceof AddPaymentCheckEvent) { 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(), payment.getContractID()); check.addString( " " ); } но в чек не попадает часть EndCreateCheckEvent Так же в явадоках по этому плагину нет никакой информации. |
Автор: | dimOn [ 23 янв 2009, 13:33 ] |
Заголовок сообщения: | |
Хм, а в первую часть попадает? То есть чек то печатается? Или печатается, но без дополнительного подвала? А Вы к чему этот скрипт привязали? Там ведь два отдельных события. Вы их оба привязали? |
Автор: | dimOn [ 23 янв 2009, 13:43 ] |
Заголовок сообщения: | |
И версия плагина какая? |
Автор: | Lavrenov_Sergey [ 23 янв 2009, 14:18 ] |
Заголовок сообщения: | |
Я работаю вместе с lacost. В первую часть всё попадает, чек печатается без дополнительного подвала. Скрипт привязали к обоим событиям. Версия плагина 4.5_15, версия сервера 4.6_61 |
Автор: | dimOn [ 23 янв 2009, 17:01 ] |
Заголовок сообщения: | |
Странно, я проверил сейчас - у меня срабатывает нормально событие. А у вас ошибок в скрипте не происходит никаких? |
Автор: | dimOn [ 23 янв 2009, 17:02 ] |
Заголовок сообщения: | |
Так, стоп. У события EndCreateCheckEvent нет метода getPayment(); В этом месте у вас скрипт должен свалиться, всё логично. Сейчас я посмотрю, почему не сделал этого метода. |
Автор: | dimOn [ 23 янв 2009, 17:14 ] |
Заголовок сообщения: | |
А, ну понятно, почему не сделал. Конечно не сделал, потому что это событие происходит один раз в конце формирования чека. А в чеке может быть МНОГО платежей. То есть 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( " " ); } Проверьте. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |