Все делаю через клиент биллинга через добавление расхода/возврата на договор.
Код:
Код:
public class TurborenderCheck extends CheckMaker {
@Override
public void addPayment(Payment payment, Check check, Printer printer) throws BGException {
ParamWorker pw = new ParamWorker(_con);
String customerEmail = pw.getParam(payment.getContractTitle(), "mail");
Pattern mailPattern = Pattern.compile("<(.+)>");
Matcher mailMatcher = mailPattern.matcher(customerEmail);
if(mailMatcher.find())
customerEmail = mailMatcher.group(1);
check.setPaymentType(2); // ставим ТИП ПЛАТЕЖА ККМ: 1 - нал, 2,3,4 - безнал или какой-то другой тип оплаты
check.setTax(0); // ставим ТИП НАЛОГА ККМ: 0 - по номеру секции (в атолах), N - какой-то другой на выбор
check.setOnlyElCheck(true); // "только электронный чек"
check.setCustomerEmail(customerEmail);
int paymentDep = 1; // отдел, используется ниже в addPayment
// добавляем параметр договора
//int PARAM_ID = 3;
//ContractParameterManager bgParamMan = new ContractParameterManager( con );
//String paramVal = bgParamMan.getStringParam( event.getContractID(), PARAM_ID );
// check.addString( "Какой-то параметр договора: " + paramVal );
String currency = pw.getParam(payment.getContractTitle(), "currency");
if(currency == null || currency.equals(""))
currency = "RUB";
check.addString("Валюта клиента: " + currency);
check.addPayment(payment.getSumma(), "Оплата услуг по договору " + payment.getContractTitle(), paymentDep);
}
@Override
public void endCreate(Set<Integer> cids, Check check, Printer printer) throws BGException {
super.endCreate(cids, check, printer);
}
@Override
public void addPaymentRefund(Payment payment, Check check, Printer printer) throws BGException {
ParamWorker pw = new ParamWorker(_con);
String customerEmail = pw.getParam(payment.getContractTitle(), "mail");
Pattern mailPattern = Pattern.compile("<(.+)>");
Matcher mailMatcher = mailPattern.matcher(customerEmail);
if(mailMatcher.find())
customerEmail = mailMatcher.group(1);
check.setPaymentType(2); // ставим ТИП ПЛАТЕЖА ККМ: 1 - нал, 2,3,4 - безнал или какой-то другой тип оплаты
check.setTax(0); // ставим ТИП НАЛОГА ККМ: 0 - по номеру секции (в атолах), N - какой-то другой на выбор
check.setOnlyElCheck(true); // "только электронный чек"
check.setCustomerEmail(customerEmail);
int paymentDep = 1; // отдел, используется ниже в addPayment
// добавляем параметр договора
//int PARAM_ID = 3;
//ContractParameterManager bgParamMan = new ContractParameterManager( con );
//String paramVal = bgParamMan.getStringParam( event.getContractID(), PARAM_ID );
// check.addString( "Какой-то параметр договора: " + paramVal );
String currency = pw.getParam(payment.getContractTitle(), "currency");
if(currency == null || currency.equals(""))
currency = "RUB";
check.addString("Валюта клиента: " + currency);
check.addPayment(payment.getSumma(), "Возврат по договору " + payment.getContractTitle(), paymentDep);
}
@Override
public void endCreateRefund(int cid, Check check, Printer printer) throws BGException {
super.endCreateRefund(cid, check, printer);
}
}