есть
Код:
https://bgbilling.ru/v7.0/javadoc/ru/bitel/bgbilling/plugins/cashcheck/server/bean/Check.html#setPaymentType-int-
вот тут возможность установки к какому типу попадет платеж, есть уже 1 тип платежа обработаный так же и работает, но не могу добавить второй
вот скрипт
Код:
package ru.skyb.scripts.cashcheck;
import java.sql.Connection;
import java.util.Set;
import bitel.billing.common.SummaToString;
import bitel.billing.common.TimeUtils;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.module.common.bean.User;
import ru.bitel.bgbilling.kernel.module.server.bean.UserManager;
import ru.bitel.bgbilling.plugins.cashcheck.common.Payment;
import ru.bitel.bgbilling.plugins.cashcheck.common.Printer;
import ru.bitel.bgbilling.plugins.cashcheck.server.CheckBuilder;
import ru.bitel.bgbilling.plugins.cashcheck.server.bean.Check;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.bgbilling.plugins.cashcheck.server.bean.*;
import bitel.billing.server.contract.bean.*;
import java.util.*;
import java.util.Date;
import bitel.billing.common.TimeUtils;
/**
* Формат чека для стандартного шаблона ПКО (драйвер fop, шаблон cashcheck_pko.xsl).
* Скрипт не обрабатывает попытку печати нескольких платежей.
* @author dimon
*/
public class SimpleCheck
implements CheckBuilder
{
private Connection con;
private ContractParameterManager bgParamMan;
private BalanceUtils bu;
@Override
public void init( Setup setup, Connection con, Connection conSlave )
throws BGException
{
this.con = con;
bgParamMan = new ContractParameterManager( con );
bu = new BalanceUtils ( con );
}
@Override
public void addPayment( Payment payment, Check check, Printer printer )
throws BGException
{
int paymentDep = 0;
int paymentType = -1;
switch( payment.getPaymentTypeId() )
{
case 32://Касса
paymentDep = 1;
break;
case 69://Оплата по картам ВОТ ЭТОТ ТИП ПЛАТЕЖА РАБОТАЕТ
paymentType = 4;
break;
case 70://Оплата по картам А ЭТОТ НОВЫЙ, НЕ РАБОТАЕТ
paymentType = 4;
break;
}
int PARAM_ID = 3;
String paramVal = bgParamMan.getStringParam( payment.getContractId(), PARAM_ID );
check.addString( " " );
check.addString( "Телематические услуги связи(Интернет)" );
check.addString( "Договор №: " + payment.getContractTitle());
check.addString( "ФИО/Организация: ");
check.addString( paramVal );
check.addString( " " );
check.setPaymentType(paymentType);
check.addPayment( payment.getSumma(), payment.getContractTitle(), paymentDep );
}
public void endCreate( int cid, Check check, Printer printer )
throws BGException
{
// ничего нету, устаревший метод
}
@Override
public void endCreate( Set<Integer> cids, Check check, Printer printer )
throws BGException
{
GregorianCalendar nowDate = new GregorianCalendar();
Date dateNow = TimeUtils.convertCalendarToDate(nowDate);
int cid = cids.toArray(new Integer[0])[0];
check.addString("Ваш текущий баланс: " + bu.getBalance(dateNow, cid));
}
}
ошибка выходит та что на скрине, тип платежа выбран с кодом 70
_________________
Код:
Клиент: вер. 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Стиль программирования - пьяный мастерстер
Разработка мобильных приложений