Как исправить ошибку «Принтер этикеток не выбран» в 1С при работе с Xprinter

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

При автоматизации розничной торговли и складского учета пользователи часто сталкиваются с проблемой настройки китайских термопринтеров (таких как Xprinter XP-235B, XP-365B и др.) в программных продуктах 1С. Типичный сценарий: принтер успешно установлен в операционной системе Windows, отлично печатает пробную страницу самодиагностики или документы из Microsoft Word, но при попытке отправить этикетку на печать из 1С:Управление нашей фирмой или 1С:Розница возникает критическая ошибка:

«При печати произошла ошибка. Дополнительное описание: Принтер этикеток не выбран»

В этой статье мы подробно разберем, почему возникает этот сбой, проанализируем разницу в логике работы печати 1С и пошагово настроим систему так, чтобы ваш китайский принтер печатал быстро, ровно и без ошибок.

Выясняем причину: два режима работы принтеров в 1С

Для начала разберем внутреннюю логику платформы 1С:Предприятие 8.3. В конфигурациях на управляемых формах (УНФ, Розница, УТ) предусмотрено два принципиально разных механизма работы с этикетками. Ошибка выбора принтера напрямую зависит от того, какой тип шаблона вы назначили в системе.

  1. Режим прямой отправки команд (тип шаблона «Этикетка для принтера этикеток»). В этом режиме 1С не формирует привычную графическую картинку. Вместо этого программа генерирует набор текстовых команд на специализированных языках разметки принтеров (ZPL, EPL, TSPL). Данные отправляются напрямую в порт устройства. Для работы этой схемы принтер обязательно должен быть добавлен в справочник Подключаемое оборудование торгового оборудования (ТО) с использованием специального драйвера (например, 1С:Принтер этикеток). Если устройство там не зарегистрировано, кнопка «Печать» блокируется или выдает ошибку отсутствия принтера.
  2. Режим стандартного табличного документа (тип шаблона «Этикетка (ценник) для товара»). В данном случае 1С формирует обычный табличный документ (аналогично накладной или отчету) и отправляет его на печать через стандартный графический драйвер Windows (GDI). Этот способ является универсальным и идеально подходит для недорогих принтеров марки Xprinter, так как позволяет обойти сложную процедуру интеграции торгового оборудования.

Рассмотрим подробнее два практических метода решения проблемы.

Способ 1. Изменение типа шаблона на «Для товара» (Рекомендуемый и самый простой способ)

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

Шаг 1. Создание правильного шаблона этикетки

Перейдите в раздел управления шаблонами этикеток и ценников вашей конфигурации. При создании нового шаблона обратите внимание на поле «Тип шаблона». Вместо значения «Этикетка (ценник) принтера этикеток» обязательно укажите:

Этикетка (ценник) для товара (или «Шаблон ценника/этикетки товара» в зависимости от релиза конфигурации).

Шаг 2. Настройка параметров страницы и предварительный просмотр

После изменения типа шаблона нажмите кнопку «Редактировать макет». В открывшейся форме редактирования появится стандартное системное меню 1С, а также станут доступны важные инструменты управления:

Нажмите на «Параметры страницы» и настройте следующие параметры:

После сохранения макета вернитесь в обработку печати этикеток. Теперь при выборе этого шаблона кнопка «Печать» станет активной, предварительный просмотр отобразит реальное расположение элементов, а печать пойдет стандартными средствами операционной системы.

Способ 2. Подключение Xprinter как торгового оборудования в 1С

Если вам требуется высокая скорость потоковой печати или принтер подключен удаленно, целесообразно настроить его через функционал подключаемого оборудования. Проанализируем, как правильно выполнить эту процедуру:

  1. Перейдите в меню Администрирование — Подключаемое оборудование.
  2. Выберите тип оборудования «Принтеры этикеток» и нажмите кнопку «Создать».
  3. В качестве драйвера оборудования выберите стандартный встроенный драйвер «1С:Принтер этикеток (NativeApi)».
  4. Нажмите кнопку «Настроить». В окне настроек укажите порт подключения принтера (обычно это виртуальный USB-порт, например, USB001).
  5. Задайте используемый принтером язык управления (для принтеров Xprinter чаще всего используется семейство команд TSPL или EPL).

При таком подходе шаблон типа «Для принтера этикеток» начнет работать корректно, так как 1С будет точно знать, на какой зарегистрированный в справочнике принтер и через какой порт отправлять двоичный код макета.

Для понимания того, как программно управляется печать табличного документа без вывода диалоговых окон выбора принтера, приведем пример кода на встроенном языке 1С:


ТабДок = Новый ТабличныйДокумент;
// Указываем имя принтера точно так, как оно записано в системе Windows
ТабДок.ИмяПринтера = "Xprinter XP-235B";
ТабДок.АвтоМасштаб = Истина;

// Убираем поля под обрезку для точного попадания в термоэтикетку
ТабДок.Поля.Левое = 0;
ТабДок.Поля.Правое = 0;
ТабДок.Поля.Верхнее = 0;
ТабДок.Поля.Нижнее = 0;

// Отправляем документ на печать напрямую без вывода диалога настроек
ТабДок.Напечатать(РежимИспользованияПринтера.ИспользоватьНастройкиПринтера);

Важный нюанс: установка драйверов Seagull Scientific и калибровка

Часто в процессе настройки возникает сопутствующая проблема: текст или штрихкод «съезжает» и не попадает на наклейку (симптомы описаны в сообщении 0). Чтобы раз и навсегда решить проблемы со смещением макета на китайских термопринтерах, рекомендуем выполнить профессиональную настройку драйвера.

Использование драйверов от Seagull Scientific

Стандартные китайские драйверы с диска часто работают некорректно со службой печати Windows и платформой 1С. Мы рекомендуем скачать и установить универсальные драйверы для принтеров Xprinter от компании Seagull Scientific. Они обеспечивают стабильную передачу параметров страницы.

Настройка нестандартного размера бумаги в Windows

Даже если вы настроили шаблон в 1С, драйвер принтера в операционной системе может принудительно масштабировать документ под стандартный лист А4. Настроим правильный размер бумаги по умолчанию:

  1. Откройте Панель управления Windows, перейдите в раздел Устройства и принтеры.
  2. Кликните правой кнопкой мыши на ваш принтер Xprinter и выберите пункт «Настройки печати» (Printing Preferences).
  3. На вкладке «Параметры страницы» (Page Setup) нажмите кнопку «Новая» (New) для создания пользовательского формата бумаги.
  4. Задайте точные размеры вашей термоэтикетки (например, ширина 40 мм, высота 30 мм). Дайте этому формату понятное имя (например, «40х30_1С»).
  5. Сохраните изменения и установите созданный формат в качестве размера бумаги по умолчанию в настройках принтера и свойствах драйвера.

Аппаратная калибровка датчика зазора (Gap)

Если принтер пропускает пустые этикетки или останавливается посередине наклейки, выполните принудительную калибровку самого устройства:

  1. Выключите тумблер питания принтера Xprinter.
  2. Зажмите и удерживайте кнопку промотки ленты FEED на лицевой панели устройства.
  3. Не отпуская кнопку FEED, включите питание принтера.
  4. Дождитесь, пока принтер пискнет или начнет калибровочную промотку ленты, после чего отпустите кнопку. Принтер автоматически прогонит несколько этикеток, определив оптическим датчиком начало и конец каждого зазора.

Резюмируя проделанную работу: если вы столкнулись с ошибкой «Принтер этикеток не выбран», в первую очередь проверьте соответствие типа шаблона макета в 1С и способа интеграции оборудования. Использование шаблонов типа «Для товара» в сочетании с качественными драйверами Seagull Scientific позволяет решить задачу запуска печати на Xprinter за несколько минут.

← На главную