Closed GoogleCodeExporter closed 9 years ago
Cпасибо за пост и за покупку.
Original comment by Nsaryb...@gmail.com
on 20 Sep 2011 at 8:49
Отлично!!! Спасибо что развиваете код
нашего проекта. С удовольствием его
добавлю в репозитарий. Но у меня есть
предложение не создавать отдельный тег
<fiscalrefund>, а разделить <fiscalreceipt> на два типа
"sale" и "refund" в итоге шаблон фискального чека
будет иметь вид:
#if (${ticket.ticketType} == 0)
<fiscalreceipt type="sale">
#foreach ($ticketline in $ticket.getLines())
#if (${ticketline.getTaxInfo().getRate()}==0.1)
#set ($vatinfo ="2")
#elseif (${ticketline.getTaxInfo().getRate()}==0.15)
#set ($vatinfo ="3")
#elseif (${ticketline.getTaxInfo().getRate()}==0.2)
#set ($vatinfo ="4")
#else
#set ($vatinfo ="1")
#end
#set ($newvalue = ${ticketline.getPrice()} * ${ticketline.getMultiply()} + ${ticketline.getTax()})
#if ($ticketline.isProductCom())
<line price="${newvalue}" units="${ticketline.getMultiply()}" tax="${vatinfo}">*${ticketline.printName()}</line>
#else
<line price="${newvalue}" units="${ticketline.getMultiply()}" tax="${vatinfo}">${ticketline.printName()}</line>
#end
#end
<message>========================================</message>
<message>Кол-во продаж: ${ticket.printArticlesCount()}</message>
#foreach ($paymentline in $ticket.payments)
#if ($paymentline.name == "cash")
<total paid="${paymentline.getPaid()}">К оплате по чеку:</total>
#end
#end
</fiscalreceipt>
#elseif (${ticket.ticketType} == 1)
<fiscalreceipt type="refund">
#foreach ($ticketline in $ticket.getLines())
#set ($newvalue = ${ticketline.getPrice()} * ${ticketline.getMultiply()})
#if ($ticketline.isProductCom())
<line price="${newvalue}" units="${ticketline.getMultiply()}" >*${ticketline.printName()}</line>
#else
<line price="${newvalue}" units="${ticketline.getMultiply()}" >${ticketline.printName()}</line>
#end
#end
<message>========================================</message>
<message>Кол-во возвратов: ${ticket.printArticlesCount()}</message>
#foreach ($paymentline in $ticket.payments)
#if ($paymentline.name == "cashrefund" )
<total paid="0">Возврат по чеку:</total>
#end
#end
</fiscalreceipt>
#end
Во вложении мой патч кода проекта для
реализации такой возможности.
Original comment by svinin...@gmail.com
on 20 Sep 2011 at 12:12
Attachments:
Или даже такой вариант шаблона:
#if (${ticket.ticketType} == 0)
#set ($fiscaltickettype = "sale")
#elseif (${ticket.ticketType} == 1)
#set ($fiscaltickettype = "refund")
#end
#if ($fiscaltickettype == "sale" || $fiscaltickettype == "refund")
<fiscalreceipt type="${fiscaltickettype}">
#foreach ($ticketline in $ticket.getLines())
#if (${ticketline.getTaxInfo().getRate()}==0.1)
#set ($vatinfo ="2")
#elseif (${ticketline.getTaxInfo().getRate()}==0.15)
#set ($vatinfo ="3")
#elseif (${ticketline.getTaxInfo().getRate()}==0.2)
#set ($vatinfo ="4")
#else
#set ($vatinfo ="1")
#end
#set ($newvalue = ${ticketline.getPrice()} * ${ticketline.getMultiply()} + ${ticketline.getTax()})
#if ($ticketline.isProductCom())
<line price="${newvalue}" units="${ticketline.getMultiply()}" tax="${vatinfo}">*${ticketline.printName()}</line>
#else
<line price="${newvalue}" units="${ticketline.getMultiply()}" tax="${vatinfo}">${ticketline.printName()}</line>
#end
#end
<message>========================================</message>
#if ($fiscaltickettype == "sale")
<message>Кол-во продаж: ${ticket.printArticlesCount()}</message>
#elseif ($fiscaltickettype == "refund")
<message>Кол-во возвратов: ${ticket.printArticlesCount()}</message>
#end
#foreach ($paymentline in $ticket.payments)
#if ($paymentline.name == "cash")
<total paid="${paymentline.getPaid()}">К оплате по чеку:</total>
#elseif ($paymentline.name == "cashrefund")
<total paid="${paymentline.getTotal()}">Возврат по чеку:</total>
#end
#end
</fiscalreceipt>
#end
Завтра залью в репозитарий свой вариант
кода, попробуйте его в действии с этим
шаблонов, а то у меня сейчас Ауры под руками
нет. Если всё нормально оставлю его, если
нет то вернусь на Ваш, хотя я не сторонник
множества тегов, лучше их дополнительно
описывать свойствами. Как закончим с
атоловским протоколом буду пробовать
реализовать этот функционал для штрихов,
благо и у нас в Казахстане сейчас появились
новые Штрихи.
Я Вас добавил в участники проекта, если
будет интерес напрямую вносить изменения в
проект свяжитесь со мной по почте или через
скайп svininykh.
Original comment by svinin...@gmail.com
on 20 Sep 2011 at 1:16
Original comment by svinin...@gmail.com
on 20 Sep 2011 at 1:30
С последним вариантом тоже хорошо
работает, так что можно добавлять!
Спасибо за ответ, и за добавление в
участники :))
Original comment by m.makazh...@gmail.com
on 21 Sep 2011 at 4:02
Всё залил изменения в r577, тестируем.
Original comment by svinin...@gmail.com
on 21 Sep 2011 at 4:09
Был баг с отрицательными цифрами и с
отсутствием итоговой суммы для Ауры, решил
добавлением Math.abs() в AuraFR.java. В шаблоне
передачу суммы при возврате всё же оставлю,
но тем у кого фискальники Штрих или JavaPOS
надо посмотреть как там она обрабатывается.
Original comment by svinin...@gmail.com
on 21 Sep 2011 at 6:30
В Issue 177 посмотрите что у меня получилось.
Original comment by svinin...@gmail.com
on 21 Sep 2011 at 12:11
Original issue reported on code.google.com by
m.makazh...@gmail.com
on 20 Sep 2011 at 8:26Attachments: