Документація/Налаштування пристроїв

Адміністратору

Bluetooth-друк

Підключення принтера, print_forms.xml, текстові шаблони .prn і готовий приклад форми замовлення.

PalmOrder для Android друкує документи через Bluetooth-принтер, який приймає текст по Bluetooth Classic SPP. Інтегратор готує print_forms.xml і шаблони .prn, а на Android-пристрої вибирають принтер і кодування.

Налаштування принтера доступні для пристрою з ліцензією FULL. Тип ліцензії задається під час парування із сервером.

Що підготувати

  • Принтер із підтримкою Bluetooth Classic SPP і текстового друку.
  • Інструкцію принтера з його кодуваннями, таблицями символів і кількістю символів у рядку.
  • Папір і заряджений або підключений до живлення принтер.
  • Файли друкованої форми для потрібного документа.

Сумісність залежить від способу підключення, команд і кодування конкретної моделі. Перед використанням власної форми надрукуйте вбудовану тестову сторінку PalmOrder.

Підключення принтера

  1. Увімкніть принтер і Bluetooth на Android-пристрої.
  2. У налаштуваннях Bluetooth Android знайдіть принтер і виконайте спарування. Якщо потрібен PIN, використайте код з інструкції принтера.
  3. У PalmOrder відкрийте Налаштування → Друк → Принтер.
  4. Натисніть виберіть пристрій та оберіть принтер зі списку. PalmOrder показує пристрої, які вже спаровані з Android.
  5. Якщо Android запитає доступ до пристроїв поблизу, надайте його PalmOrder. На Android 12 і новіших він потрібен для Bluetooth-з'єднання. Дозволи Bluetooth в Android.
  6. Задайте кодування відповідно до принтера та натисніть Надрукувати тестову сторінку.
  7. Перевірте текст і українські літери, після чого збережіть налаштування принтера.

Параметри принтера

НалаштуванняЯк використовувати
Пристрій друкуВибраний спарований Bluetooth-принтер. Після заміни принтера виберіть новий пристрій.
КодуванняКодування байтів, які застосунок надсилає принтеру. Початкове значення — Cp1251. Воно має відповідати таблиці символів, увімкненій у самому принтері.
Затримка в кінці (мс)Пауза після надсилання даних перед закриттям потоку. Початкове значення — 500. Якщо кінець документа не друкується, перевірте налаштування й поведінку принтера та за потреби збільште паузу.
Використовувати незахищене з’єднанняВибір іншого режиму Bluetooth RFCOMM. Застосовуйте відповідно до вимог конкретного принтера, якщо звичайне підключення з ним не працює.

Шаблон .prn зберігайте у UTF-8. Після підстановки даних застосунок перетворює готовий текст на кодування з налаштувань принтера. Вибір Cp1251 у PalmOrder сам по собі не перемикає таблицю символів принтера.

Якщо використовується Cp866, клієнт застосовує власне перетворення, зокрема замінює І/і на латинські I/i, а Ґ/ґ на Г/г. Для друку цих літер без замін виберіть підтримуване принтером кодування з відповідними символами.

Готовий приклад на 32 символи

Завантажте архів форми замовлення для текстового друку. Він містить:

ФайлПризначення
print_forms.xmlПерелік форм із формою «Замовлення, 32 символи».
order_32_uk.prnТекстовий шаблон із товарами, коефіцієнтами фасовки та сумами.
exchange-profile.xmlПрофіль завантаження цих файлів.
README.txtПорядок встановлення та пояснення ширини й валюти прикладу.

Форма розрахована на моноширинний текст у 32 символи. У прикладі довгі назви товарів обрізаються до 32 символів, а числові значення вирівнюються пробілами. Перевірте ширину на вашому принтері та змініть шаблон, якщо потрібно.

Перелік форм — print_forms.xml

<?xml version="1.0" encoding="utf-8"?>
<print-forms>
  <document name="order">
    <forms>
      <form lang="uk">
        <presentation>Замовлення, 32 символи</presentation>
        <file>order_32_uk.prn</file>
      </form>
    </forms>
  </document>
</print-forms>

<document name="order"> задає документ, а <form> — одну форму. У <file> вказуйте точне ім'я шаблону з розширенням, без шляху до теки. Для іншого документа використайте його ім'я, наприклад invoice для оплати або storecheck для стор-чеку.

print_forms.xml визначає повний перелік форм для друку. Щоб зберегти наявні форми, додайте запис прикладу до свого файла й залиште записи решти форм.

Правила вибору за lang такі самі, як для PDF-форм. Для української використовуйте uk. Якщо доступно кілька форм для документа, застосунок запропонує вибір.

Шаблон .prn

У .prn використовуються звичайний текст, перенесення рядків і теги Chunk. Рядки табличної частини перебираються через table:

{% loop in $table as $row %}
{$row.name|sprintf(%-32.32s)}
{$row.count|number|sprintf(%8s)} {$row.price|decimal|sprintf(%10s)} {$row.sum|decimal|sprintf(%12s)}
Коеф. фасовки: {$row.koef|number}
{% onEmpty %}
У документі немає товарів
{% endloop %}

count — введена кількість, koef — кількість базових одиниць у вибраній фасовці, price — ціна базової одиниці. Поле sum містить суму рядка з урахуванням розрахунків застосунку.

Для числового рядка приклад відводить 8, 10 і 12 символів та два пробіли між колонками — разом 32. Ширина в sprintf є мінімальною, тому дуже великі числа можуть вийти за її межі. Перевіряйте форму з типовими для вашої роботи кількостями й сумами.

Синтаксис підстановок, умов, фільтрів та вирівнювання описано на сторінці Мова шаблонів — Chunk.

Команди принтера

Для керувальних послідовностей у .prn підтримується протокол escp. Наприклад, {% escp.0A %} додає символ переведення рядка з кодом 0A, а {% escp.esc E %} — символ ESC і літеру E.

Дію послідовності визначає команда у вашій моделі принтера. Використовуйте коди з її інструкції та перевіряйте результат на принтері. Архівний приклад містить текст із перенесеннями рядків і використовує поточний режим принтера.

Передавання форми й друк

  1. Розпакуйте архів. Якщо вже використовуєте print_forms.xml, об'єднайте записи форм.
  2. Покладіть print_forms.xml та order_32_uk.prn безпосередньо в outbox потрібного пристрою.
  3. Якщо використовуєте профіль Завантажити форми для друку зі стандартного exchange.xml, він уже отримує print_forms.xml і *.prn. Або додайте профіль із exchange-profile.xml усередину <palm-client> свого exchange.xml.
  4. Після зміни exchange.xml виконайте Завантажити файл обміну. Потім виконайте профіль завантаження форм і перевірте журнал обміну.
  5. Заповніть реквізити компанії в Налаштування → Друк → Реквізити.
  6. Відкрийте замовлення з товарами й виберіть Друк у меню документа. За наявності кількох форм виберіть потрібну.
  7. Перевірте українські літери, кількість, коефіцієнти, ціни, знижку, підсумок і завершення друку.

Після оновлення шаблону повторіть завантаження форм і друк. Перевірка фізичного друку потрібна для кожної моделі принтера та її режиму.

Якщо друк не працює

СимптомЩо перевірити
Немає налаштувань принтераТип ліцензії пристрою FULL.
Список принтерів порожнійBluetooth, спарування в Android і дозвіл PalmOrder на пристрої поблизу.
Помилка підключенняЖивлення, відстань до принтера, вибраний пристрій, підтримку SPP та відсутність з'єднання з іншим телефоном.
Вбудована тестова сторінка друкується, а форма недоступнаОтримання print_forms.xml і .prn, ім'я документа та запис <form>.
Замість літер інші символиКодування PalmOrder та таблицю символів принтера.
Колонки зміщені або рядки переносятьсяКількість символів у рядку, поточний шрифт і довгі значення в шаблоні.
Кінець документа не друкуєтьсяЗавершення шаблону перенесеннями рядків, стан принтера та затримку в кінці.
На папері залишилися теги {$…}Назви й наявність полів, умови або заміни для необов'язкових значень.