Как подключить нефискальный USB-принтер чеков к РМК в 1С:Розница

Системный администратор 1С v8.3 (Обычные формы) 1С:Розница Торговля и дистрибуция
← На главную

При автоматизации рабочего места кассира (РМК) на базе конфигураций «1С:Розница 8.2» часто возникает задача подключить обычный нефискальный чековый термопринтер с интерфейсом USB (например, Citizen, Posiflex, Xprinter или другие модели). Сложность заключается в том, что в типовом справочнике торгового оборудования старых версий конфигураций отсутствует отдельный тип устройства «Принтер чеков» — в системе предусмотрены только фискальные регистраторы (ФР) и их эмуляторы. Разберем по шагам, как правильно настроить операционную систему, конфигурацию 1С и подключить чековый принтер для бесперебойной печати чеков при пробитии оплаты.

Архитектурные особенности подключения в 1С

Проанализируем, почему нельзя просто добавить принтер как обычное офисное устройство без дополнительной настройки. Типовой механизм РМК при завершении чека обращается к подсистеме торгового оборудования и вызывает методы фискализации. Если оборудование не зарегистрировано в торговом оборудовании, интерфейс кассира не отправляет команды на печать автоматически.

В базовых версиях конфигураций метаданные закрыты для редактирования, поэтому доработка типовых модулей конфигурации невозможна. Единственным корректным решением является использование внешней обработки обслуживания торгового оборудования. Мы подключаем устройство в категорию Фискальные регистраторы, но в качестве драйвера указываем внешнюю обработку эмулятора ФР или специализированный драйвер печати на Windows-принтер.

Шаг 1. Установка и настройка принтера в Windows

Разберем первоначальную подготовку операционной системы:

  1. Подключаем принтер к USB-порту компьютера и устанавливаем официальный драйвер производителя. Принтер должен появиться в оснастке Устройства и принтеры Windows.
  2. Проверяем тестовую печать стандартными средствами Windows, чтобы убедиться в работоспособности термоголовки и механизмов протяжки бумаги.
  3. Создаем пользовательский формат бумаги в свойствах сервера печати под ширину установленной термоленты (например, 58 мм или 80 мм с непрерывной подачей).
  4. В свойствах драйвера принтера на вкладке «Параметры печати» задаем созданный формат бумаги по умолчанию и устанавливаем нулевые поля отступов.

Шаг 2. Подключение внешней обработки обслуживания в 1С

Выясним, как связать логику РМК с установленным системным принтером:

  1. Открываем в 1С меню Сервис → Торговое оборудование → Подключение и настройка торгового оборудования.
  2. Переходим на вкладку Фискальные регистраторы и добавляем новую обработку обслуживания (файл с расширением .epf). Обработка представляет собой модифицированный эмулятор ФР, который перехватывает команды печати чека и отправляет табличный документ на выбранный принтер Windows без открытия диалогового окна.
  3. Создаем новый элемент торгового оборудования: указываем модель, привязываем добавленную обработку обслуживания и выбираем кассу ККМ.
  4. Нажимаем кнопку Параметры и настраиваем обработку: выбираем системный Windows-принтер из списка установленных устройств, задаем путь к файлу хранения логов или счетчиков (если обработка ведет локальный учет для формирования Z- и X-отчетов) и сохраняем настройки.
  5. Нажимаем кнопку Тест устройства, чтобы убедиться в отсутствии программных ошибок.

Шаг 3. Устранение проблем с правами доступа и блокировкой печати

Рассмотрим распространенную ситуацию: при пробитии чека в РМК транзакция проходит, ошибок не возникает, но принтер не начинает печать. Причиной такого поведения часто является работа механизма контроля учетных записей (UAC) в операционной системе Windows.

Если внешняя обработка формирует временные файлы отчетов или обращается к системным библиотекам и спулеру печати без повышенных привилегий, процесс блокируется операционной системой. Для устранения проблемы необходимо запустить 1cv8.exe от имени администратора либо настроить права доступа пользователя на рабочие каталоги временных файлов и папки профиля 1С.

Шаг 4. Настройка четкости и устранение бледной печати

Если принтер печатает чек корректно, но текст выходит бледным или нечетким, проанализируем основные причины и методы решения:

  1. Настройка плотности нагрева (Print Density): В свойствах драйвера принтера Windows переходим в раздел дополнительных параметров (Advanced Options / Device Settings) и увеличиваем плотность термопечати (Darkness / Density) со стандартных значений до максимальных, а также снижаем скорость протяжки ленты.
  2. Аппаратные переключатели (DIP-switches) и утилиты: У многих принтеров (включая Citizen) плотность нагрева регулируется аппаратными микропереключателями на дне корпуса или через фирменную сервисную утилиту Memory Switch Customization.
  3. Рендеринг шрифтов: При выводе табличного документа 1С через графический интерфейс (GDI) мелкий сглаженный шрифт преобразуется в полутона, что приводит к растрированию в виде точек. Рекомендуется использовать контрастные моноширинные шрифты (например, Courier New или специализированные шрифты без антиалиасинга).
  4. Параметры страницы в коде обработки: Проверим, как обработка подготавливает табличный документ перед отправкой на печать. Программный код формирования страницы должен содержать сброс полей и автоматическое масштабирование по ширине:

ТабличныйДокумент = Новый ТабличныйДокумент;
// Заполнение табличного документа по макету чека
// ...
ТабличныйДокумент.ИмяПринтера = ИмяВыбранногоПринтераWindows;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ПолеСлева = 0;
ТабличныйДокумент.ПолеСправа = 0;
ТабличныйДокумент.ПолеСверху = 0;
ТабличныйДокумент.ПолеСнизу = 0;
ТабличныйДокумент.Напечатать(РежимПечатиТабличногоДокумента.Авто);

Такой подход обеспечивает автоматическую и стабильную печать товарных и кассовых нефискальных чеков прямо из интерфейса РМК без дополнительных диалогов и задержек в обслуживании покупателей.

← На главную