Appearance
Касса и KKMServer
Dashboard печатает чеки через объект window.KkmServer, который обычно добавляет браузерное расширение KKMServer. Если объекта нет, dashboard открывает обычную страницу чека вместо печати через ККТ.
Что такое KKMServer
KKMServer - внешний HTTP web-server для работы с ККТ, принтерами чеков, эквайринговыми терминалами и другим торговым оборудованием. Beex/Dostavix формирует команды печати, а фактическое выполнение зависит от KKMServer, драйверов, ККТ, ФН, ОФД, лицензии и локальной сети клиента.
Полезные официальные источники:
Важно
Версии и интерфейс KKMServer меняются. На момент проверки 4 мая 2026 года на официальной странице была указана версия 2.3.15.16 от 12 февраля 2026 года. Перед установкой сверяйте актуальную версию на сайте KKMServer.
Что использует dashboard
Локальные источники:
frontend/dostavix_dashboard/src/utils/receipt.js;frontend/dostavix_dashboard/src/utils/kkm/kkmShift.js;frontend/dostavix_dashboard/src/utils/kkm/kkmSlipShiftReport.js;frontend/dostavix_dashboard/src/utils/kkm/kkmCallback.js.
Команды:
RegisterCheck- фискальный чек или нефискальный пречек;OpenShift- открыть кассовую смену;CloseShift- закрыть кассовую смену;Settlement- сверка итогов по терминалу;TerminalReport- отчет терминала;GetLineLength- ширина строки принтера для крупного номера заказа.
Базовая схема печати
- Оператор нажимает
ПречекилиЧек. - Dashboard собирает данные заказа.
- Dashboard вызывает
window.KkmServer.GetDataCheck(). - В объект команды добавляются строки, товары, суммы, тип чека, кассир и оплата.
- Выполняется
Data.Execute(callback). - При успехе dashboard обновляет флаги заказа.
- При ошибке показывается текст ошибки.
Фискальный чек и пречек
Фискальный чек:
Data.IsFiscalCheck = true;- регистрируется на ККТ/ФН;
- должен передаваться в ОФД;
- влияет на фискальную отчетность.
Пречек или слип:
Data.IsFiscalCheck = false;- используется как нефискальный документ;
- может печатать состав заказа для кухни, клиента или сменного отчета;
- не заменяет фискальный чек, если по регламенту нужен фискальный документ.
Типы оплаты
Dashboard обрабатывает оплаты так:
online-ElectronicPayment, без проведения через терминал;posиqr_code-ElectronicPayment, аPayByProcessingзависит отdepartment.kkm_pay_by_processing;cashиbank_transfer- наличная логика, приrest_fromпечатаются получено и сдача.
Ошибка
kkm_pay_by_processing включает проведение оплаты через эквайринговый терминал. Если терминал не настроен или имеет другой номер устройства, чек может зависнуть или завершиться ошибкой.
Номер устройства терминала
В dashboard для Settlement и TerminalReport используется NumDevice = 2. Это локальная договоренность проекта. На клиентской точке номер устройства в KKMServer должен совпадать с фактической настройкой.
Если при закрытии смены не проходит сверка терминала:
- Проверить, есть ли устройство терминала в KKMServer.
- Проверить его номер.
- Проверить связь терминала.
- Проверить
kkm_pay_by_processing. - Проверить лог команды.
Настройка перед запуском точки
На компьютере или кассовом узле клиента:
- Установить KKMServer.
- Установить и включить браузерное расширение, если используется печать из браузера.
- Подключить ККТ.
- Установить драйверы ККТ и USB-COM/RNDIS/Ethernet, если они требуются.
- Проверить ККТ в интерфейсе KKMServer.
- Напечатать тестовый чек из KKMServer.
- Проверить состояние ФН и связь с ОФД.
- Проверить печать из dashboard.
Частые проверки
При ошибке печати запросите у клиента:
- город и точку;
- номер заказа;
- способ оплаты;
- фискальный чек или пречек;
- полный текст ошибки;
- скрин интерфейса KKMServer;
- лог команды из KKMServer;
- состояние ККТ;
- состояние ОФД: количество неотправленных документов и дата первого неотправленного.
АТОЛ и Штрих-М
Для АТОЛ:
- проверить драйвер;
- проверить порт или Ethernet/RNDIS;
- проверить регистрацию ККТ и ФН;
- проверить связь с ОФД;
- сделать тестовую печать в KKMServer.
Для Штрих-М:
- предпочтительнее стабильное сетевое подключение, если оно поддерживается;
- проверить драйвер ККТ;
- проверить параметры связи;
- сделать тест состояния ККТ.
Оговорка
Подключение оборудования зависит от модели кассы, версии драйвера, прошивки, ФН, ОФД и локальной сети. В документации Beex фиксируем порядок проверки, но не заменяем официальные инструкции производителя ККТ.
Ошибки, которые нужно эскалировать
Эскалируйте разработчикам или старшей поддержке, если:
- команда сформирована корректно, но dashboard неверно обновляет флаги заказа;
- после успешного фискального чека заказ остается без
is_receipt_printed; - повторяется ошибка округления суммы;
- неверно определяется тип оплаты;
- чек возврата печатается не в том сценарии;
- заказы агрегатора печатаются как фискальные, хотя должны быть нефискальными.