forum.bitel.ru http://forum.bitel.ru/ |
|
Печать 2-х чеков http://forum.bitel.ru/viewtopic.php?f=28&t=13496 |
Страница 1 из 1 |
Автор: | simka [ 18 ноя 2019, 19:14 ] |
Заголовок сообщения: | Печать 2-х чеков |
Для определенных договоров платеж нужно разбивать на 2 и печатать 2 чека. Например, добавляем платеж 10 руб., вводим сумму от клиента 10 руб. 1 чек - summa1 = 6 руб. 2 чек - summa2 = 4 руб. Чеки печатаются и в конце выходит сообщение "Напечатан чек на сумму: 6.00 Сдача: 4.00", т.е. не учитывается, что напечатан 2-й чек. Можно ли сделать так, чтобы сдача нигде не печаталась: ни в сообщении кассиру, ни в чеке. Например, передавать объекту check свою сумму от клиента, или указывать, что был напечатан чек на оставшуюся сумму. метод addPayment( Payment payment, Check check, Printer printer ) Код: //делим на 2 платежа PayDiv pd = new PayDiv(con); int newPayId = pd.divSum( payment.getId()); //1-й чек check.setPaymentType(PAYMENTTYPE); check.setTax( TAX); check.setPayObject(PAYOBJ); check.addPayment( pd.getSumma1(), comment, DEP ); //2-й чек Check check2 = new Check(); check2.setPaymentType(PAYMENTTYPE); check2.setTax(TAX); check2.setCheckType(payment.getCheckType()); check2.setPayObject(PAYOBJ); check2.addPayment( pd.getSumma2(), comment , DEP ); CashCheckUtils.printCheck(check2, printer , pswd, con, newPayId); Код: Клиент: 7.2.232 / 30.10.2019 15:20:47
os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.8.0_231 Сервер: 7.2.1101 / 30.10.2019 15:23:04 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_191 ru.bitel.bgbilling.plugins.cashcheck: 7.2.146 / 30.10.2019 16:38:20 |
Автор: | dimOn [ 18 ноя 2019, 19:33 ] |
Заголовок сообщения: | Re: Печать 2-х чеков |
штатной системой нельзя напечатать два чека на один платёж, это неочевидное поведение, непонятно как логировать, как настраивать это всё итд использовать CashCheckUtils.printCheck внутри дин.кода шаблона конечно не очень правильно в таком виде... делайте полностью свой тогда обработчик платежа и делайте что хотите там, два раза печатайте, разбивайте как хотите итд чтобы сдача не печаталась на чеке - сделать так нельзя, потому что этим снаружи не управляется это сам ККТ рисует, только общей суммой, а вы её уже ввели 10, она проходит мимо дин.кода и передаётся только в ККТ вообще какая задача у вас? вам не подойдёт просто две позиции в чеке с разными (любыми - налоги, признаки объекта и способа расчёта итд) атрибутами ?тогда это всё просто делается искаробки |
Автор: | simka [ 18 ноя 2019, 19:42 ] |
Заголовок сообщения: | Re: Печать 2-х чеков |
Цитата: чтобы сдача не печаталась на чеке - сделать так нельзя, потому что этим снаружи не управляется это сам ККТ рисует, только общей суммой, а вы её уже ввели 10, она проходит мимо дин.кода и передаётся только в ККТ очень жальЦитата: вам не подойдёт просто две позиции в чеке с разными (любыми - налоги, признаки объекта и способа расчёта итд) атрибутами ?тогда это всё просто делается искаробки Нет. Нужно именно 2 чека
|
Автор: | dimOn [ 18 ноя 2019, 19:52 ] |
Заголовок сообщения: | Re: Печать 2-х чеков |
максимум что тут можно сделать - передавать в CashCheckUtils.printCheck сумму клиента, но внутри оно вычисляется как сумма по чеку и оно и так будет getSumma2 что вы и хотели бы туда передать, то есть это бесполезно. проблема тут я так понимаю с суммой клиента для первого чека (вернее второго потому что сначала распечатается вызванный первым check2 а потом уже сработает динкод в вашем случае), но это в данном случае никак не обойти, т.к. сумма для клиента не используется никак в этой всей цепочке, потому и повлиять никак нельзя на неё |
Автор: | dimOn [ 18 ноя 2019, 19:53 ] |
Заголовок сообщения: | Re: Печать 2-х чеков |
вообще можете кстати попробовать перенастроить с manual на auto, и не ставить галочку (но оно и не даст - будет ругаться, галочку лучше задисейблить). тогда после прихода платежа сработает автоплатежей система, аналогичный дин.код ваш, но там сумма клиента не используется и как следствие фискализаторами всегда вычисляется как сумма позиций чека. минус - вы не сможете ввести "сумму клиента" в клиенте биллинга, она всегда будет равна сумме платежа(-ей) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |