2.4.8.c. Adisyon Çıktısında Ürünleri Gruplandırarak Yazdırmak
Yazıcı şablonların da kullanılabilecek bazı güzel gruplama özelliklerine sahiptir. Grupları tanımlamak için Group tagı kullanılır. Siparişleri gruplamak için [Orders Group|PRODUCT GROUP] değeri kullanılır.
Ürün grupları, ürünleri tanımlarken verilen Grup Kodu alanıdır. İlk olarak ürünlerin ait oldukları grup koduna göre ayrılmış olarak adisyon çıktısı alabilmek için adisyon şablonunda [Orders] etiketlerinin en üstüne;
[ORDERS GROUP|PRODUCT GROUP] <C00>-{GROUP KEY}-
etiketi eklenir.
Sarı renkle işaretlenmiş ve yukarıda verilen etiket şablona eklendikten sonra adisyon, ürünler içinde tanımlanan Grup Kodlarına göre gruplanarak yazılacaktır.
Çıktıda da görüldüğü gibi adisyonda yer alan ürünler, Grup Kodlarına göre gruplandırılarak yazıldılar. Yeşil şerit ile gösterilen alanlar ürünlerin grup kodlarıdır.
Belirli Bir Gruba Özel Göre Gruplama veya Özel Not Yazdırma
Bu gruplama genel olarak adisyon içinde yer alan tüm ürünler için geçerli olacaktır. Sadece belli bir grup koduna bağlı olan ürünleri de gruplandırılabilir veya o gruba özel bir not girilebilir.
Yukarıda yapılan grup tanımlamasının altına;
[ORDERS GROUP:İçecekler] <C00>-{GROUP KEY}- <C00>Cuma günleri İçecekler %50 indirimli
şeklinde bir etiket tanımlandığında; çıktıda İçecekler grubunun altında Cuma günlerinde indirim olduğunu belirten yazı yazacaktır.
Ürün Gruplama Alt Bilgileri
Ürünleri gruplarına göre ayrı ayrı yazdırdıktan sonra bu grupların alt bilgileri de yazdırılabilir. Örneğin her bir grubun içindeki ürünlerin toplamlarının yazılması istenildiğinde;
<codejava> [ORDERS FOOTER] <R>Toplam: {GROUP SUM} </code>
biçiminde bir etiket eklenmesi yeterli olacaktır. Bu etiket aşağıdaki resimde göründüğü gibi her bir grubun toplamı grubun altına Toplam: biçiminde yazacaktır.
bu alt toplamlar sadece belirli bir grup içinde kullanılabilir. Bunun için etiketi;
[ORDERS FOOTER:İçecekler]
<R>Toplam: {GROUP SUM} şeklinde tanımlanmalıdır. Bu tanımlama da, Order Footer değerini sadece içecekler için kullanmak istenildiği belirtilmiş olur.
Gruplandırma İçin Kullanılabilecek Diğer Değerler
Gruplandırma işlemi aşağıdaki değerlere göre de yapılabilir.
-
PRODUCT GROUP (Ürünleri Grup Kodlarına göre Gruplandırır)
-
PRODUCT TAG (Ürünleri Etiketlerine göre gruplandırır)
-
ORDER TAG:x (Ürünleri Sipariş Etiketlerine göre gruplandırır)
-
ORDER STATE:x (Ürünleri Sipariş Durumlarına göre gruplandırır)
örneklerde yer alan x değeri kullanmak istenilen özel ayracın (etiket, grup vb.) adının geleceği yerdir. Örneğin İkram edilen ürünleri gruplandırmak istenildiğinde Sipariş Drumuna göre gruplandırma yapılmalıdır. Bunun için; [ORDERS GROUP|ORDER STATE:GStatus] etiketi kullanılmalıdır.
GStatus durumu siparişlerin durumlarının takip edildiği default kurulumda gelen bir durumdur. Tanımlanan başka durumlarında isimleride yazılarak kullanılabilir.
[LAYOUT] -- General layout <BMP>C:\Users\Mehmet\Documents\SambaPOS3\Logo3.bmp <L00>Tarih:{TICKET DATE} <L00>Saat:{TIME} {ENTITIES} <L00>Adisyon No:{TICKET NO} <F>- {ORDERS} <F>= <EB> {DISCOUNTS} [<J10>Toplam İkram:|{ORDER STATE TOTAL:İkram}] <J10>Toplam:|{TICKET TOTAL} {PAYMENTS} <DB> <F>= <C10>S A M B A P O S [DISCOUNTS] <J00>{CALCULATION NAME} %{CALCULATION AMOUNT}|{CALCULATION TOTAL} [PAYMENTS] <J00>{PAYMENT NAME}|{PAYMENT AMOUNT} [ORDERS GROUP|PRODUCT GROUP] <C00>-{GROUP KEY}- [ORDERS GROUP:İçecekler] <C00>-{GROUP KEY}- <C00>Cuma günleri İçecekler %50 indirimli :-) [ORDERS FOOTER] <R>Toplam: {GROUP SUM} [ORDERS] -- Default format for orders <J00>- {QUANTITY} {NAME}|{PRICE} {ORDER TAGS} [ORDERS:İkram] -- Format for gifted orders <J00>- {QUANTITY} {NAME}|**İKRAM** {ORDER TAGS} [ORDERS:İade] -- Nothing will print for void lines [ORDER TAGS] -- Format for order tags <J00> * {ORDER TAG NAME} | {ORDER TAG PRICE} [ENTITIES:Masa] -- Table entity format <L00>Masa: {ENTITY NAME} [ENTITIES:Müşteri] -- Customer entity format <J00>Müşteri: {ENTITY NAME} | {ENTITY DATA:Telefon}