রান্নাঘর ও হলে প্রিন্টিং
প্রতিষ্ঠানের সব ভৌত প্রিন্টিং যায় Cenaly Hardware Bridge-এর মাধ্যমে — ক্যাশ ডিভাইসে চলা ছোট একটি প্রোগ্রাম, যার সাথে প্রিন্টারগুলো সংযুক্ত। ব্রাউজার সরাসরি থার্মাল প্রিন্টারে প্রিন্ট করে না: এটি ডকুমেন্ট ব্রিজে পাঠায়, আর ব্রিজ ESC/POS ভাষায় হার্ডওয়্যারের সাথে কথা বলে।
ব্রিজের মাধ্যমে প্রিন্ট হয়: স্টেশনভিত্তিক রান্নাঘরের টিকেট, আইটেমভিত্তিক ও প্যাকেটভিত্তিক স্টিকার, বিক্রয় ও ফেরতের রসিদ, প্রি-চেক, X- ও Z-রিপোর্ট এবং ডেলিভারি স্ক্রিনে প্যাকেটের ম্যানিফেস্ট।
স্টেশনভিত্তিক রান্নাঘরের টিকেট#
টিকেট সেখানে পৌঁছানো উচিত যেখানে খাবারটি তৈরি হয়: কোল্ড সেকশন — নিজের প্রিন্টারে, গ্রিল — নিজের প্রিন্টারে, বার — নিজের প্রিন্টারে।
সেটিং রান্নাঘর (KDS) → «সেকশন» প্যানেল-এ, তার ভেতরের «স্টেশন → প্রিন্টার» টেবিলে। প্রতিটি স্টেশনের জন্য নির্ধারণ করা হয়:
| ফিল্ড | কী বোঝায় |
|---|---|
| প্রিন্টার | ব্রিজের নির্দিষ্ট ডিভাইস; খালি থাকলে — «রান্নাঘর» ভূমিকার প্রিন্টারে প্রিন্ট হবে |
| ব্যাকআপ প্রিন্টার | মূল প্রিন্টার সাড়া না দিলে টিকেট কোথায় যাবে |
| কে প্রিন্ট করে | বন্ধ, POS বা KDS |
| রিবনের প্রস্থ | 42 অক্ষর (80-মিমি রিবন) বা 32 (58-মিমি) |
| কোড পেজ | নিচে দেখুন |
| আইটেমভিত্তিক স্টিকার | টিকেট «সম্পন্ন»-এ নেওয়ার সময় স্টিকার প্রিন্ট করা |
প্রিন্টারের তালিকা লোকাল ব্রিজ থেকে আসে, তাই স্টেশন কনফিগার করতে হবে সেই মেশিন থেকে যেখানে প্রিন্টারটি ভৌতভাবে সংযুক্ত।
টিকেটে কী থাকে। বড় ফন্ট (বাবুর্চি টেবিলের ওপার থেকে কাগজ পড়ে), খাবারের নাম, পরিমাণ, খাবারের নিচে আলাদা লাইনে মডিফায়ার, মন্তব্য («পেঁয়াজ ছাড়া»), অতিথির নম্বর ও পরিবেশনের কোর্স, যদি অর্ডার সেগুলো অনুযায়ী ভাগ করা থাকে। রান্নাঘরের টিকেটে দাম বা মোট থাকে না।
শুধু নতুনটাই প্রিন্ট হয়। ওয়েটারের আবার ট্যাপ করলে দ্বিতীয় টিকেট প্রিন্ট হয় না: কোন লাইনগুলো ইতিমধ্যে স্টেশনে গেছে তা সিস্টেম মনে রাখে। আইটেম যোগ হলে বা পরিমাণ বদলালে অতিরিক্ত অর্ডারের টিকেট যাবে, পুরো অর্ডারের সম্পূর্ণ নকল নয়।
আইটেমভিত্তিক ও প্যাকেটভিত্তিক স্টিকার#
গ্লাস ও বাক্সে 60×40 মিমি স্টিকার ডেলিভারির দুটি সমস্যার সমাধান করে: কুরিয়ারদের মধ্যে প্যাকেট আর মিশে যায় না, আর অতিথি গ্লাসে দেখতে পায় যে দুধটি সত্যিই ল্যাকটোজমুক্ত — মডিফায়ার আর শুধু রান্নাঘরের টিকেটে সীমাবদ্ধ থাকে না।
- আইটেমভিত্তিক স্টিকার — টিকেট «সম্পন্ন»-এ নেওয়ার সময় প্রিন্ট হয়, যদি স্টেশনে সংশ্লিষ্ট সেটিং চালু থাকে;
- প্যাকেটভিত্তিক স্টিকার — ডেলিভারিতে প্রিন্ট হয়: স্ক্রিন প্যাকেটের সংখ্যা জিজ্ঞেস করে এবং «প্যাকেট ১/৩», «২/৩» ইত্যাদি প্রিন্ট করে;
- প্যাকেটের ম্যানিফেস্ট — প্যাকেটের ভেতরে থাকা কাগজ, যাতে মডিফায়ারসহ আলাদা লাইনে অর্ডারের সম্পূর্ণ বিবরণ থাকে: এটি দেখে কুরিয়ার ও অতিথি সম্পূর্ণতা মিলিয়ে নেয়, আর অ্যাগ্রিগেটরের সাথে «আইটেম দেওয়া হয়নি» বিতর্ক মুদ্রিত প্রমাণে নিষ্পত্তি হয়। বোতামটি ডেলিভারি (Expo) স্ক্রিনে।
স্টিকার প্রিন্ট করে «লেবেল প্রিন্টার» ভূমিকার ডিভাইস; ব্রিজে এমন ভূমিকা না থাকলে স্টিকার সাধারণ রসিদ প্রিন্টারে যাবে।
ক্যাশ ডকুমেন্ট#
| ডকুমেন্ট | ব্রিজের মাধ্যমে | মন্তব্য |
|---|---|---|
| বিক্রয় / ফেরতের রসিদ | হ্যাঁ | ফলব্যাক — ব্রাউজারে প্রিন্ট |
| প্রি-চেক (অতিথি বিল) | হ্যাঁ | অ-ফিসকাল, কাগজে স্পষ্ট স্বাক্ষরসহ |
| X- ও Z-রিপোর্ট | হ্যাঁ | দেখুন ক্যাশ শিফট |
| প্যাকেটের ম্যানিফেস্ট | হ্যাঁ | ডেলিভারি (Expo) স্ক্রিন |
| রান্নাঘরের টিকেট, স্টিকার | হ্যাঁ | ব্রাউজার ফলব্যাক নেই |
ইস্যু করা রসিদের রিপ্রিন্ট সবসময় বিপজ্জনক অপারেশনের জার্নালে লেখা হয়; ম্যানেজার PIN এটি শুধু সেই পদগুলোর কাছে জিজ্ঞেস করে যেখানে «PIN-এর অধীনে রিপ্রিন্ট» চালু আছে — দেখুন ক্ষতি নিয়ন্ত্রণ।
ফিসকাল রসিদ আলাদা বিষয়: এটি ফিসকাল রেজিস্টার প্রিন্ট করে এবং দেশের আইন মেনে চলে, দেখুন ফিসকালাইজেশন।
প্রিন্ট কিউ এবং ফলাফলের অর্থ#
ব্রিজে restart-safe কিউ ও রিট্রাই আছে: প্রিন্টার অফলাইন থাকলে কাজটি হারায় না, বরং অপেক্ষা করে ও আবার চেষ্টা হয়। কিউয়ের সূচক POS-এর হেডারে দেখা যায়।
আটকে যাওয়া কাজ বাতিল করা যায়। রান্নাঘরের চিরচেনা বিপদ: প্রিন্টার কাগজ চিবিয়ে ফেলল, আধা ঘণ্টা ধরে মেরামত চলছে, আর চালু করতেই অর্ধশত পুরোনো টিকেট বেরিয়ে আসে। POS-এর হেডারের কিউ থেকে কাজ এক এক করে বাতিল করা যায়: ব্রিজ "বাতিল" চিহ্ন দেয় এবং প্রিন্টার সচল হলে সেটি কেবল এড়িয়ে যায়। কাজটি যদি ইতিমধ্যে প্রিন্টে চলে যায়, বাতিলকরণ সেকথা সৎভাবে জানাবে — সেক্ষেত্রে কাগজ বেরিয়ে যাবে।
"বাতিল" বোতাম কেবল আটকে যাওয়া কাজের জন্য — যেগুলো তিন মিনিটের বেশি প্রিন্টারের জন্য অপেক্ষা করছে। নতুন কাজ সারিতে দেখা যায়, কিন্তু বাতিল করা যায় না, এবং এটি ইচ্ছাকৃত: এক সেকেন্ডের বিলম্ব (প্রিন্টার জেগে উঠল, কেবল নাড়া পড়ল) স্বাভাবিক, ব্রিজ নিজেই প্রিন্ট শেষ করবে, আর এমন কাজের পাশে বোতাম থাকলে তা হারানো রসিদ বোঝাত।
প্রিন্টের ফলাফল চার ধরনের, এবং ক্যাশিয়ারের কাছে এগুলো আলাদা খবর:
| ফলাফল | কী ঘটেছে |
|---|---|
| প্রিন্ট হয়েছে | ব্রিজ ভৌত প্রিন্ট নিশ্চিত করেছে |
| কিউতে | ব্রিজ কাজটি নিয়েছে, কিন্তু প্রিন্টার অনুপলব্ধ — অতিথি হাতে রসিদ পাননি |
| ব্রাউজার দিয়ে | ব্রিজ নেই বা ডকুমেন্ট নেয়নি, প্রিন্ট ব্রাউজারের ডায়ালগ দিয়ে হয়েছে |
| প্রিন্ট হয়নি | কোনোভাবেই সম্ভব হয়নি |
"কিউতে" ফলাফলে ব্রাউজার ফলব্যাক চালু হয় না — নইলে একই রসিদ দুবার প্রিন্ট হতো।
কাজগুলো ইডেম্পোটেন্ট: একই ডকুমেন্ট আবার পাঠালে দ্বিতীয় কাগজ আসে না।
কোড পেজ ও নন-ল্যাটিন লিপি#
থার্মাল প্রিন্টার জানে না UTF-8 কী: নির্বাচিত এক-বাইট টেবিল থেকে প্রতি বাইটে একটি গ্লিফ আঁকে। তাই কোড পেজ নির্ধারিত হয় প্রতিটি কনফিগার করা প্রিন্টারের জন্য:
| মান | কী করে |
|---|---|
auto (ডিফল্ট) |
সিরিলিক পেলে হেড CP1251-এ বদলায়; ল্যাটিন ও ল্যাটিন-এক্সটেন্ডেড (তুর্কি, পোলিশ, আলবেনীয়) অপরিবর্তিত থাকে |
cp1251 / cp866 |
সিরিলিক টেবিলের স্পষ্ট নির্বাচন — সস্তা হেডে দুটির একটি থাকে |
georgian-academy / georgian-ps / georgian-expert |
জর্জীয় ডিভাইসের ফন্ট ROM-এর লেআউট |
utf8 |
ঐতিহাসিক আচরণ: যেকোনো নন-ল্যাটিনে — এলোমেলো অক্ষর |
জর্জীয় নিয়ে সৎভাবে। নির্দিষ্ট হেড কোন টেবিল "বোঝে" তা ভৌত ডিভাইসের বৈশিষ্ট্য, প্রোটোকলের স্পেসিফিকেশনে এটি নেই; তাই টেবিল ডিভাইস অনুযায়ী বেছে নিতে হয়। ESC/POS স্ট্যান্ডার্ডে জর্জীয় কোড পেজ আদৌ নেই, তাই আগে "ხინკალი" রোমানাইজেশন হয়ে যেত — khinkali: পড়া যায়, কিন্তু অর্ডার করা হয়েছিল অন্য কিছু।
এখন যে লাইন হেড প্রিন্ট করতে পারে না, ব্রিজ সেটি ছবি হিসেবে আঁকে — অন্তর্নির্মিত ফন্টসহ রাস্টার প্রিন্ট, যা যেকোনো প্রিন্টারে কাজ করে এবং তার ROM-এর উপর নির্ভর করে না। অন্তর্নির্মিত ফন্ট ল্যাটিন ও ল্যাটিন-এক্সটেন্ডেড, গ্রিক, সিরিলিক, আর্মেনীয় এবং তিনটি জর্জীয় লিপির (মখেদ্রুলি, ম্তাভ্রুলি, আসোমতাভ্রুলি) জন্য যথেষ্ট। যেখানে টেক্সট স্বাভাবিকভাবে প্রিন্ট হয়, সেখানে কিছুই বদলায় না — রাস্টার কেবল প্রয়োজনে চালু হয়।
আচরণ নিয়ন্ত্রিত হয় প্রতিটি ডিভাইসের "নন-ল্যাটিনের জন্য রাস্টার" চেকবক্স দিয়ে (ডিফল্টে চালু, ব্রিজের পাতায় ও ক্লাউডের "হার্ডওয়্যার" বিভাগে আছে)। তুলে নিলে আগের রোমানাইজেশন ফিরে আসবে: এটি দরকার বিরল হেডের জন্য, যারা রাস্টার প্রিন্ট বোঝে না।
চিত্রলিপি (চীনা, জাপানি, কোরীয়), হিব্রু ও আরবি ইচ্ছাকৃতভাবে ফন্টে রাখা হয়নি: ডান থেকে বাঁয়ে লেখা লিপিতে লাইন উল্টো হয়ে যেত, আর তা বর্তমান ফলাফলের চেয়ে খারাপ। রান্নাঘরের স্টেশন প্যানেল সৎভাবে দেখায় লাইনের কী হবে: "ছবি হিসেবে যাবে" বা "না টেবিল, না ফন্ট আছে"।
তুর্কি, পোলিশ ও আলবেনীয় ল্যাটিন ইচ্ছাকৃতভাবে CP1251 দিয়ে চালানো হয় না: সেখানে ş, ğ, ą হয়ে যেত ?।
চালু করতে যা দরকার#
- POS কম্পিউটারে ব্রিজ — Cenaly Hardware Bridge। সব ভৌত প্রিন্ট এর মধ্য দিয়ে যায়।
- একই কম্পিউটারে সংযুক্ত প্রিন্টার — USB, LAN বা Bluetooth; ব্রিজ নিজেই ডিভাইস খুঁজে নেয়।
- "স্টেশন → প্রিন্টার" ম্যাপিং — নইলে টিকেট কোথায় পাঠানো হবে তা নির্ধারণ করা যায় না।
- আইটেম ও প্যাকেটের স্টিকারের জন্য সঠিক ফরম্যাটের রোল।
- খাবারের স্টেশন — টিকেট আইটেমের স্টেশন অনুযায়ী তৈরি হয় (KDS)।
সীমাবদ্ধতা#
- ব্রিজ কেবল নিজের কম্পিউটার থেকেই প্রিন্ট করে। ব্রাউজার পাশের পিসির ব্রিজে পৌঁছাতে পারবে না: প্রতিটি POS ডিভাইসে ব্রিজ বসান বা অন্য পিসির প্রিন্টারে ক্লাউড দিয়ে প্রিন্ট ব্যবহার করুন।
- TSPL/ZPL লেবেল প্রিন্টার বাস্তব হার্ডওয়্যারে পরীক্ষিত নয় — এখন লেবেল রাস্টারে রসিদের প্রিন্টারে প্রিন্ট হয়।
- টেপের প্রস্থ নির্ধারণ করে ডিভাইস। এটি প্রিন্টারের সেটিং থেকে নেওয়া হয়, নইলে ফিসকাল রেজিস্টারের মডেল থেকে, নইলে নিরাপদ ধরে নেওয়া হয়; 80 মিমি ডকুমেন্টের প্রস্থ ফিসকাল রেজিস্টারে প্রযোজ্য হয় না, কারণ রেজিস্টার লাইন মোড়ায় না, বরং রাশিসহ কেটে ফেলে।
- প্রি-চেক কিউতে থাকে না। রসিদের প্রিন্টার কনফিগার করা থাকলেও অফলাইন হলে অতিথির বিল ফিসকাল রেজিস্টারে প্রিন্ট হয়: কাগজ দরকার এখনই, আর এক ঘণ্টা পর পরিশোধিত অর্ডারের উপর কপি মানে দ্বিতীয় কাগজ। বিক্রয়ের রসিদ ভিন্নভাবে আচরণ করে — সে পুনরায় চেষ্টার জন্য অপেক্ষা করে।
- প্রি-চেক রান্নাঘরের প্রিন্টারে যায় না — অতিথির বিলের জন্য এমন প্রিন্টার অযোগ্য ধরা হয়, আর কাজটি POS-এ চলে যায়।
সমস্যা সমাধান#
টিকিট প্রিন্ট হয়নি। ব্রিজের স্ট্যাটাস পরীক্ষা করুন: যদি এটি অফলাইন থাকে, কাজটি প্রিন্ট কিউতে অপেক্ষমাণ থাকে এবং এটির সাথে সংযোগ ফিরে এলে চলে যাবে — কিউ পুনরায় চালু হওয়া সত্ত্বেও টিকে থাকে।
ভুল প্রিন্টারে প্রিন্ট হচ্ছে। স্টেশনে নিজস্ব প্রিন্টার নির্ধারিত নেই, এবং রিজলভার "যেকোনো উপলব্ধ" বেছে নিয়েছে। স্টেশনগুলোর ম্যাপিং স্পষ্টভাবে লিখে দিন।
অক্ষরের বদলে হায়ারোগ্লিফ বা খালি বর্গ। প্রিন্টারের কোড পেজের সমস্যা: রাস্টার ফন্ট চালু করুন — এটি টেক্সটকে ছবি হিসেবে আঁকে এবং যেকোনো ভাষা প্রিন্ট করে।
ডান দিক থেকে অঙ্ক কেটে যাচ্ছে। খুব বেশি টেপের প্রস্থ নির্ধারিত: ডিভাইসের অপশনে প্রকৃত প্রস্থ সেট করুন।
স্টিকারের আকার বিকৃত হচ্ছে। রোলের ফরম্যাট পরীক্ষা করুন এবং এটি যেন লেবেল প্রিন্টারে প্রিন্ট হয়, রসিদ প্রিন্টারে নয় (বর্তমানে রসিদ প্রিন্টারে লেবেল রাস্টারে প্রিন্ট হয়)।
সম্পর্কিত বিভাগ#
- Cenaly Hardware Bridge — ব্রিজ ইনস্টলেশন, ডিভাইসের তালিকা, প্রিন্টারের ভূমিকা
- রান্নাঘর (KDS) — স্টেশন, পরিবেশনের কোর্স এবং প্রিন্ট সেটিংস
- POS — রসিদ, প্রি-রসিদ, রিপ্রিন্ট
- এক্সপো (Expo) — ম্যানিফেস্ট এবং প্যাকেজের স্টিকার
- ক্যাশ শিফট — X- এবং Z-রিপোর্ট
- ক্ষতি নিয়ন্ত্রণ — রিপ্রিন্ট ঝুঁকির ঘটনা হিসেবে
সাধারণ প্রশ্ন#
টিকিট দুবার প্রিন্ট হয়েছে — কেন?#
সম্ভবত স্টেশনে POS এবং KDS উভয়েতেই প্রিন্ট চালু আছে। এগুলো দুটি ভিন্ন ডিভাইস, দুটি ব্রিজসহ, এবং প্রতিটি নিজের কপি প্রিন্ট করেছে। "কে প্রিন্ট করে" ফিল্ডে একটি মান রাখুন।
প্রিন্টার বন্ধ করা হয়েছে — অর্ডার হারিয়ে গেছে?#
না। কাজটি ব্রিজের কিউতে যায় এবং প্রিন্টার সচল হলে প্রিন্ট হয়। কিন্তু যতক্ষণ এটি কিউতে থাকে, কাগজ শারীরিকভাবে নেই — ইন্টারফেস এটি সরাসরি জানায়।
ব্রিজ ছাড়া রান্নাঘরে প্রিন্ট করা যায়?#
রান্নাঘরের টিকিট এবং স্টিকার — না, এগুলো শুধু ব্রিজের মাধ্যমে যায়। ক্যাশ ডকুমেন্টের ব্রাউজার ফলব্যাক আছে: সাধারণ প্রিন্ট ডায়ালগের মাধ্যমে প্রিন্ট। ব্যতিক্রম — যে শাখায় হার্ডওয়্যারের মধ্যে শুধু ফিসকাল রেজিস্টার আছে: সেখানে রসিদ POS নিজেই প্রিন্ট করে, এবং ব্রাউজার ফলব্যাক চালু হয় না।
প্রিন্টারের তালিকা কেন খালি?#
তালিকা এই ডিভাইসের ব্রিজ থেকে নেওয়া হয়। যদি ব্রিজ চালু না থাকে বা প্রিন্টার অন্য মেশিনে সংযুক্ত থাকে, ডিভাইসগুলো দেখা যাবে না — যে মেশিনে প্রিন্টার শারীরিকভাবে সংযুক্ত সেখান থেকেই স্টেশন কনফিগার করুন।
মডিফায়ারগুলো প্যাকেজের ম্যানিফেস্টে প্রিন্ট হয়?#
হ্যাঁ। রান্নাঘরের টিকিট, আইটেমের স্টিকার এবং প্যাকেজের ম্যানিফেস্ট একই লাইন ফরম্যাটে তৈরি হয়: খাবারের নাম, তার নিচে আলাদা লাইনে মডিফায়ার এবং মন্তব্য। এভাবে একটি অর্ডারের তিনটি কাগজ একই রকম দেখায় এবং চোখে মিলিয়ে দেখা যায়।