Shablon tavsifi

Avans cheki shabloni

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

Avans cheki misoli

Chek shablonining asosiy tuzilishi:

{
    "margin_left": 0,
    "margin_right": 10,
    "variables": {
      "type_advance": "Avans"
    },
    "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": "Avans" - Avans 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., 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": 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

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