Часто при заказе бюджетных чековых принтеров, таких как Xprinter XP58 IIH или XP-80 из Китая, пользователи сталкиваются с типовой проблемой. При подключении устройства к компьютеру оно определяется корректно, тестовые страницы из Windows печатаются, однако при попытке распечатать чек из программы 1С:Розница вместо русского текста на ленте появляются китайские иероглифы. Изменение настроек кодировки строки или кодовой таблицы в самой 1С не дает результатов. Рассмотрим подробнее, почему это происходит, и разберем по шагам несколько рабочих способов решения этой задачи.
Проанализируем ситуацию: устройства, предназначенные для внутреннего китайского рынка, по умолчанию поставляются с активированным режимом печати китайских символов (Chinese character mode). В этом режиме аппаратная часть принтера перехватывает команды форматирования и игнорирует кириллическую кодировку, которую ему отправляет драйвер или система 1С.
Чтобы убедиться, что проблема именно в этом, выясним текущие настройки памяти самого устройства:
Feed (промотка бумаги).Принтер распечатает сервисный чек (Self Test). Найдите в тексте строку Chinese character mode. Если напротив нее стоит значение YES, значит, принтер аппаратно настроен на иероглифы. Наша задача — перевести этот параметр в состояние NO.
Разберем по шагам базовый метод переключения кодировки с помощью комплектной утилиты. Для этого нам понадобится программа Printer Test.exe, которая обычно идет на диске в комплекте с устройством, либо доступна для скачивания на официальном сайте Xprinter.
Advanced.SetCodePage.17 (на некоторых версиях прошивок это может быть 23 или 9).SetCodePage, чтобы записать настройку в память устройства.Page17 - PC866 (Cyrillic #2) и кодировку PC866.После сохранения настроек распечатайте тестовый чек из 1С. Текст должен отображаться корректно.
Если первый метод не помог, и из 1С всё еще печатаются иероглифы, применим более надежный способ. Мы отправим принтеру прямые шестнадцатеричные (HEX) команды, которые принудительно отключат китайский режим. Для этого понадобится сервисная программа Xprinter v3.0c.
Сделаем следующее:
USB.HEX — это позволит отправлять сырые машинные коды.
1F 1B 1F FE 01
PRINT. Принтер не издаст никаких звуков и ничего не напечатает — это нормально, команда просто записалась в буфер.
1F 1B FE 11
PRINT.После выполнения этих команд аппаратный режим иероглифов будет отключен. Перезагрузите принтер и выполните тестовую печать из 1С — кириллица должна работать идеально.
Посмотрим на дополнительные факторы, которые могут мешать корректной печати. Некоторые современные принтеры Xprinter являются гибридными, то есть могут работать как принтеры этикеток (Label mode) и как принтеры чеков (Receipt mode). Если устройство находится в режиме этикеток, при отправке кассового чека из 1С может произойти сбой разметки и кодировки. Переключение режимов обычно выполняется удержанием кнопки паузы или подачи бумаги при включении.
Также обратим внимание на драйверы Windows. Рекомендуемой и наиболее стабильной версией является пакет XPrinter Driver Setup V7.77. Важно: если вы несколько раз устанавливали разные драйверы (например, от XP-80C для принтера XP-58), в системе могут возникнуть дублирующие устройства с застрявшими очередями печати. Обязательно удалите все неиспользуемые копии принтеров через панель управления Устройства и принтеры.
Для пользователей систем на базе Linux (например, Alt Linux) процесс настройки отличается. Рассмотрим основные шаги:
localhost:631) или системную утилиту system-config-printer.
echo "Тест" >> /dev/usb/lp0
udev, чтобы система видела устройство как виртуальный COM-порт, например ttyUSB0.
chmod 777 install.sh
Выполнив указанные шаги, вы сможете добиться стабильной работы чековых принтеров Xprinter с русским языком как в среде Windows, так и в Linux.