Shablon tavsifi
Kredit cheki shabloni
Shablon qat’iy belgilangan, ammo kengaytiriladigan tuzilishga ega. Chek shabloni JSON formatida tavsiflanadi va majburiy o‘zgaruvchilarni o‘z ichiga oladi.
Chek shablonining asosiy tuzilishi:
{
"margin_left": 0,
"margin_right": 10,
"variables": {
"type_advance": "Credit"
},
"header":[ ],
"positions":[ ],
"position_totals":[ ],
"payments":[ ],
"footer":[ ]
}
Ma’lumotlarni ko‘rsatishni boshqaruvchi o‘zgaruvchilar:
- "margin_left" - Chap chetdan bo‘sh joy, pikselda.
- "margin_right" - O‘ng chetdan bo‘sh joy, pikselda.
- "alignment" - Matnni tekislash: 0 - chapga, 1 - markazga, 2 - o‘ngga;
- Bo‘sh joylar bilan to‘ldirish (" "); - Chiziqchalar bilan to‘ldirish ("-"); - Pastki chiziq belgisi bilan to‘ldirish ("_"); - Tenglik belgisi bilan to‘ldirish ("="); - Qo‘shish belgisi bilan to‘ldirish ("+"); - Yulduzcha belgisi bilan to‘ldirish ("*").
Matn o‘zgaruvchilari:
- "type_advance": "Credit" - Kredit chekidagi doc.type o‘zgaruvchisining matni
Shablonning keyingi tuzilishi quyidagi bo‘limlardan iborat:
1. header - Chek shablonining sarlavhasi.
Smena, kassir, kassa va sotuv sanasi haqidagi ma’lumotlarni o‘z ichiga olishi mumkin.
header bo‘limiga misol:
"header": [
{
"text": "",
"font": "",
"interval": 10,
"img_src": "1",
"alignment": 1,
"img_width": 200,
"img_height": 159
},
{
"text": "<company.name> ",
"font": "Lucida Console, 8pt, style=bold",
"interval": -10,
"alignment": 1
}
]
Ushbu bo‘limda quyidagi o‘zgaruvchilardan foydalanish mumkin:
- doc.code - Hujjat kodi
- doc.date - Chekni ro‘yxatdan o‘tkazish sanasi
- doc.time - Chekni ro‘yxatdan o‘tkazish vaqti
- doc.session - Chek ro‘yxatdan o‘tkaziladigan kassa smenasi
- doc.cashier_name - Kassir ismi
- doc.cash_id - Kassa ID raqami
- doc.type - Hujjat turi. Qiymati shablon boshidagi o‘zgaruvchilardan olinadi
- doc.fiscal_sign - Chekning fiskal belgisi
- doc.terminal_id - Fiskal modul ID raqami
- doc.sn - REGOS: VCR seriya raqami
- doc.qr_code - QR-kod
- doc.total_recieved - Qabul qilingan to‘lovlar summasi
- doc.duplicate - Chek nusxasining raqami. Chek birinchi marta chop etilayotganda bu o‘zgaruvchi ko‘rsatilmaydi
- company.inn - Korxonaning STIR raqami
- company.name - Korxona nomi
- company.address - Savdo nuqtasi yoki korxona manzili
- company.phone - Aloqa telefon raqami
Ushbu bo‘limda bevosita chekda uzatiladigan maxsus o‘zgaruvchilardan foydalanish mumkin. Bunday o‘zgaruvchining nomi quyidagi formatda belgilanadi:
custom.
Rasm bloki
Agar ushbu bo‘limdagi matn blokida quyidagi teglar bo‘lsa, blokning matnli mazmuni e’tiborga olinmaydi va uning o‘rnida ko‘rsatilgan rasm aks etadi:
- "img_src":"\Cheque\regos.png" - Rasm manzili
- "img_width":180 - Rasm kengligi, pikselda
- "img_height":180 - Rasm balandligi, pikselda
Rasm blokiga misol:
{
"text" : "",
"font" : "",
"interval" : 30,
"alignment": 1,
"img_src":"\\Cheque\\regos.png",
"img_width":180,
"img_height":180
}
Shtrix-kod bloki
Agar ushbu bo‘limdagi matn blokida quyidagi teglar bo‘lsa, uning matnli mazmuni belgilangan turdagi shtrix-kodga kodlanadi va blokda ko‘rsatiladi:
- "barcode_height":50 - Shtrix-kod balandligi, pikselda
- "barcode_module":2 - Shtrix-kod o‘lchami, masshtablash koeffitsiyenti. Eng kichik qiymati 1.
- "barcode_show_text":(true, false) - Shtrix-kod ostida matnni ko‘rsatish
- "barcode_type":1 - Shtrix-kod turi: 1 - Code128, 2 - EAN13, 3 - QRCode
Shtrix-kod blokiga misol:
{
"font" : "Lucida Console, 8pt",
"text" : "<doc.code>",
"barcode_height":50,
"barcode_module":2,
"barcode_show_text":false,
"barcode_type":1,
"interval" : 30,
"alignment": 1
}
2. positions - Pozitsiyalar ro‘yxati.
Tovarlar ro‘yxati, ularning miqdori va narxi haqidagi ma’lumotlarni o‘z ichiga oladi.
positions bo‘limiga misol:
"positions":[
{
"text": "<pos.n>. <pos.name> [<pos.unit>]",
"font": "Lucida Console, 7pt",
"interval": 15,
"alignment": 0
},
{
"text": "Sh.k: <pos.barcode>",
"font": "Lucida Console, 7pt",
"interval": 15,
"alignment": 0
}
]
Ushbu bo‘limda quyidagi o‘zgaruvchilardan foydalanish mumkin:
- pos.n - Tovar pozitsiyasining raqami
- pos.name - Tovar nomi
- pos.code - Tovar kodi
- pos.articul - Tovar artikuli
- pos.unit - Tovar miqdorining o‘lchov birligi
- pos.unit2 - KDT qo‘llangan tovar miqdorining o‘lchov birligi
- pos.kdt - KDT qo‘llangan tovar miqdori
- pos.size - Tovar o‘lchami
- pos.color - Tovar rangi
- pos.brand - Tovar brendi
- pos.producer - Tovar ishlab chiqaruvchisi
- pos.country - Tovar ishlab chiqarilgan mamlakat
- pos.department - Tovar bo‘limi
- pos.group - Tovar guruhi
- pos.quantity - Tovar miqdori
- pos.price - Tovar narxi
- pos.amount - Tovar summasi (pos.quantity * pos.price)
- pos.vat_value - QQS stavkalari
- pos.vat_amount - QQS summasi
- pos.discount - Chegirma foizi
- pos.amount_discount - Chegirma summasi
- pos.icps - MXIK. Eslatma: bu maydonni alohida blokda ko‘rsating
- pos.label - Markirovka kodi. Eslatma: bu maydonni alohida blokda ko‘rsating
- pos.owner_type - Tovarning kelib chiqishi
- pos.barcode - Shtrix-kod raqamlari
- pos.inn - Komissionerning STIR raqami
3. position_totals - Pozitsiyalar bo‘yicha yakunlar.
Yakuniy summa va chegirma summasi haqidagi ma’lumotlarni o‘z ichiga oladi.
position_totals bo‘limiga misol:
"position_totals":[
{
"text": "<DF>",
"font": "Lucida Console, 8pt",
"interval": -10,
"alignment": 1
},
{
"text": "Jami:<SF><pos.total_amount>",
"font": "Lucida Console, 8pt",
"interval": -10,
"alignment": 0
}
]
Ushbu bo‘limda quyidagi o‘zgaruvchilardan foydalanish mumkin:
- pos.total_amount - Chegirma hisobga olingan chek umumiy summasi
- pos.total.discount - Chegirma summasi
- pos.total_recieved - Qabul qilingan to‘lovlar summasi
- payment.total_other - Boshqa to‘lov shakllarida to‘langan summa (hozircha foydalanilmaydi)
- pos.total_price - To‘lanishi kerak bo‘lgan summa
- pos.total_vat - QQS summasi
4. payments - To‘lovlar ro‘yxati.
To‘lovlar ro‘yxati, har bir to‘lov summasi va uning turi haqidagi ma’lumotlarni o‘z ichiga oladi.
payments bo‘limiga misol:
"payments":[
{
"text": "<payment.type_name><SF><payment.value>",
"font": "Lucida Console, 8pt",
"interval": -10,
"alignment": 0
}
]
Ushbu bo‘limda quyidagi o‘zgaruvchilardan foydalanish mumkin:
- payment.type_name - To‘lov turining nomi
- payment.value - To‘lov turi qiymati
5. footer - Chek shablonining quyi qismi.
Qo‘shimcha ma’lumotlarni o‘z ichiga oladi.
footer bo‘limiga misol:
"footer":[
{
"text": "FB:<doc.fiscal_sign>",
"font": "Lucida Console, 8pt",
"interval": -10,
"alignment": 0
},
{
"text": "FM chek raqami:<doc.id>",
"font": "Lucida Console, 8pt",
"interval": -10,
"alignment": 0
}
]
Ushbu bo‘limda header blokidagi o‘zgaruvchilardan foydalanish mumkin.