Shablon tavsifi

Sotuv (qaytarish) cheki shabloni

Shablon qat’iy belgilangan, ammo kengaytiriladigan tuzilishga ega. Chek shabloni JSON formatida tavsiflanadi va majburiy o‘zgaruvchilarni o‘z ichiga oladi.

Sotuv (qaytarish) cheki misoli

Chek shablonining asosiy tuzilishi:

{
    "margin_left": 0,
    "margin_right": 10,

    "variables":{
        "type_sale":"Sotuv",
        "type_return":"Qaytaruv"
    },
    "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_sale":"Sotuv" - Sotuv hujjati chekidagi doc.type o‘zgaruvchisining matni
  • "type_return":"Qaytaruv" - Qaytarish hujjati 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": 220,
      "img_height": 60
    },
    {
      "text": "<company.name> ",
      "font": "Lucida Console, 8pt, style=bold",
      "interval": -10,
      "alignment": 1
    }
]

Ushbu bo‘limda quyidagi o‘zgaruvchilardan foydalanish mumkin:

  • doc.id - Fiskal moduldagi hujjat ID raqami
  • 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
  • doc.terminal_slip - SLIP (terminalning to‘lov ma’lumotlari aks etgan matnli javobi)
  • 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., bunda name — custom_variables dagi name maydonining qiymati

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": -10,
      "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
    },
    {
      "text": "Bank kartasi turi<SF><payment.card_type>",
      "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
  • payment.card_type - Bank kartasi turi (2 - shaxsiy, 1 - korporativ)
  • payment.rrn - RRN (to‘lov protsessing markazining tranzaksiya identifikatori)

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.

Sotuv (qaytarish) cheki misoli