Принтер этикеток молчит или печатает пустые наклейки из 1С: разбор по шагам от кабеля до ZPL
Содержание
Чаще всего принтер этикеток не печатает из 1С по одной из трёх причин: Windows не видит устройство или висит очередь печати, в драйвере и в шаблоне этикетки заданы разные размеры, либо принтер ждёт команды на своём языке (ZPL, TSPL), а получает картинку от обычного драйвера. Начните с тестовой страницы из Windows: если она не выходит, дело не в 1С.
Ищите причину снизу вверх: железо и порт, потом Windows, потом настройки 1С и сам макет. Так не придётся час перенастраивать шаблоны, когда на самом деле отошёл кабель.
Проверка подключения и самого принтера этикеток
Прежде чем трогать 1С, убедитесь, что принтер жив и готов к работе. Индикатор на корпусе подскажет больше, чем любая настройка.
Что посмотреть на корпусе
- 🔴 Мигает красный или оранжевый индикатор — закончились этикетки или риббон, открыта крышка, датчик не нашёл зазор.
- 🟢 Горит ровный зелёный — принтер готов, проблема дальше по цепочке.
- 📄 Протягивает несколько этикеток подряд и останавливается с ошибкой — сбилась калибровка датчика.
- 🖨️ Печатает, но бледно или пусто — термобумага вставлена не той стороной или выбран режим термотрансфера без риббона.
Проверить сторону термобумаги просто: проведите ногтем по наклейке. Темнеет та сторона, которая должна смотреть на печатающую головку.
Калибровка датчика этикеток
Если принтер «проскакивает» этикетки или печатает поперёк зазора, ему нужна калибровка. У многих настольных моделей Zebra её запускают, удерживая кнопку подачи до двух миганий индикатора и затем отпуская. У Xprinter и других TSPL-принтеров калибровка обычно делается из фирменной утилиты или комбинацией кнопки при включении — порядок смотрите в инструкции к своей модели.
После калибровки принтер должен выдавать ровно одну этикетку на нажатие кнопки подачи. Пока этого нет, в 1С идти рано.
Тип подключения
| Подключение | Что проверить | Частая причина сбоя |
|---|---|---|
| USB | Устройство в «Диспетчере устройств», без жёлтого значка | Порт-хаб без питания, кабель длиннее 3 м |
| COM (RS-232) | Номер порта, скорость, чётность | Скорость в Windows не совпадает со скоростью принтера |
| TCP/IP (Ethernet) | ping до адреса принтера, порт 9100 | Принтер получил новый адрес по DHCP |
| Bluetooth / Wi-Fi | Связь стабильна, принтер не спит | Энергосбережение рвёт соединение |
Для сетевого принтера закрепите за ним постоянный IP-адрес в роутере. Иначе после очередного включения он «переедет», а Windows продолжит слать задания на старый адрес.
Драйвер и порт в Windows: где обычно ломается печать этикеток
1С печатает через принтеры, установленные в Windows, если не настроено отдельное подключаемое оборудование. Значит, сначала печать должна работать без 1С.
Пошаговая проверка
- Откройте
Панель управления → Устройства и принтеры(илиПараметры → Bluetooth и устройства → Принтеры и сканеры). - Найдите принтер, откройте «Свойства принтера» и нажмите «Пробная печать».
- Если пробная страница не вышла — смотрите вкладку «Порты»: принтер должен быть привязан к реальному порту (
USB001,COM1, стандартный TCP/IP-порт с адресом принтера). - На вкладке «Дополнительно» проверьте, что выбран драйвер производителя, а не «Generic / Text Only» или стандартный драйвер Microsoft.
- В настройках печати драйвера задайте ширину и высоту этикетки, зазор и тип носителя (с зазором, с чёрной меткой, сплошная лента).
Ставьте драйвер с сайта производителя. Для Zebra это ZDesigner, у Xprinter и большинства TSPL-моделей — свой пакет или драйверы Seagull. Универсальный драйвер Windows печатает «как на листе А4» и путает размеры.
COM-порт: скорость и параметры
Принтер с последовательным портом печатает мусор или молчит, если параметры порта в Windows не совпадают с параметрами принтера. Текущие настройки принтера обычно видны на распечатке конфигурации (её печатают кнопкой или из утилиты).
Порт можно настроить командой:
mode COM1: baud=9600 parity=n data=8 stop=1
Значения подставьте с распечатки конфигурации своего принтера. Те же параметры укажите в свойствах COM-порта в «Диспетчере устройств».
Сетевой принтер на порту 9100
Для принтера в сети создайте «Стандартный порт TCP/IP» с его адресом. Протокол — RAW, порт 9100: этот порт по умолчанию принимают Zebra, Xprinter, TSC и большинство других этикеточных принтеров.
Быстрая проверка доступности порта в PowerShell:
Test-NetConnection 192.168.1.50 -Port 9100
TcpTestSucceeded : True — принтер слушает порт. False — проблема в сети, брандмауэре или адресе.
Подключение принтера этикеток в 1С: два разных пути
Здесь кроется главная путаница. В типовых конфигурациях на БСП принтер этикеток можно использовать двумя способами, и проблемы у них разные.
| Способ | Как работает | Когда выбирать |
|---|---|---|
| Как обычный принтер Windows | 1С формирует табличный документ по шаблону и отправляет его драйверу | Есть хороший драйвер, этикеток немного |
| Как подключаемое оборудование «Принтер этикеток» | 1С через драйвер оборудования шлёт команды на языке принтера | Большие тиражи, маркировка, нужна скорость |
Печать через драйвер Windows
При таком способе принтер в 1С отдельно не настраивают. Пользователь открывает печатную форму этикеток, нажимает «Печать» и выбирает принтер в стандартном диалоге.
Что проверить:
- В диалоге печати выбран именно принтер этикеток, а не принтер по умолчанию. 1С запоминает последний выбор, и после переустановки драйвера он может сброситься.
- В «Параметрах страницы» печатной формы размер бумаги равен размеру этикетки, поля — нулевые или минимальные.
- Масштаб: если этикетка печатается на две наклейки или с обрезанным краем, включите «по ширине страницы» или подберите процент вручную.
Печать как подключаемого оборудования
Этот путь настраивается в разделе подключаемого оборудования. В 1С:Бухгалтерии он находится в Администрирование → Подключаемое оборудование, в 1С:Управлении торговлей 11 и Рознице — в разделе администрирования в группе настроек РМК и оборудования.
- Включите флажок использования подключаемого оборудования.
- В списке оборудования выберите тип «Принтеры этикеток» и создайте новый экземпляр.
- Укажите драйвер оборудования. Если его нет в списке — его нужно установить: драйверы поставляются производителем принтера или разработчиком драйвера и подключаются как внешняя компонента.
- Откройте настройку экземпляра: порт, скорость, ширину этикетки, язык принтера.
- Нажмите «Тест устройства». Пока тест не проходит, печать из документов работать не будет.
Драйвер оборудования должен соответствовать разрядности клиента 1С. Если 32-битная компонента не загружается в 64-битном клиенте, тест падает с ошибкой загрузки драйвера — поставьте версию компоненты нужной разрядности.
Один физический принтер не стоит одновременно держать и как принтер Windows с открытым COM-портом, и как подключаемое оборудование на том же порту. COM-порт занимает тот, кто открыл его первым, второй получает ошибку доступа.
Очередь печати и диспетчер печати Windows
Бывает, что 1С отправила задание, а принтер стоит. Откройте очередь принтера: если там висит задание со статусом «Ошибка» или «Удаление», все следующие встают за ним.
Как очистить зависшую очередь
Сначала попробуйте отменить задание в окне очереди. Если не удаляется — перезапустите диспетчер печати из командной строки, запущенной от имени администратора:
net stop spooler
del /q /f %systemroot%\System32\spool\PRINTERS\*.*
net start spooler
Команда удаляет задания всех принтеров на этом компьютере. На терминальном сервере остановка службы прервёт печать у всех пользователей — делайте это, когда никто не печатает.
Печать из 1С на терминальном сервере
Если 1С работает через RDP, а принтер этикеток стоит у пользователя, Windows перенаправляет его в сессию. Перенаправленный через Easy Print принтер часто теряет нестандартный размер бумаги: этикетка 58×40 мм уходит как лист А4 и печатается микроскопическим фрагментом или пустой.
Варианты решения:
- 🖥️ установить на сервер тот же драйвер, что и на клиенте, чтобы перенаправление шло через родной драйвер;
- 🌐 подключить сетевой принтер этикеток к серверу напрямую по TCP/IP;
- 📏 создать на сервере форму бумаги точного размера этикетки и выбрать её в настройках драйвера.
Шаблон этикетки и размер наклейки
Принтер работает, тестовая страница выходит, а из 1С приходит пустая наклейка, половина текста или по одной этикетке через одну. Почти всегда это несовпадение размеров в трёх местах: в драйвере, в шаблоне 1С и на реальном рулоне.
Где задаётся размер
В 1С:Управлении торговлей 11 и Рознице шаблоны хранятся в справочнике «Шаблоны этикеток и ценников», а печать идёт через обработку «Печать этикеток и ценников». В шаблоне задаётся макет: поля, штрихкод, размеры области.
Порядок сверки:
- Измерьте этикетку линейкой: ширина, высота, зазор между наклейками.
- Те же значения внесите в настройки драйвера Windows.
- Откройте шаблон в 1С и проверьте, что область этикетки не больше реального размера.
- Напечатайте одну этикетку, не тираж.
Типичные симптомы
Языки ZPL и TSPL: проверка принтера без 1С и драйвера
Этикеточные принтеры понимают свои командные языки. Zebra — ZPL (старые модели — EPL), Xprinter, TSC и многие китайские модели — TSPL. Когда принтер подключён как оборудование, 1С через драйвер отправляет именно такие команды.
Самый надёжный способ понять, кто виноват, — отправить принтеру команду напрямую, в обход 1С.
Тест ZPL для Zebra
Сохраните в файл test.zpl:
^XA
^CI28
^FO50,50^A0N,40,40^FDПроверка печати^FS
^FO50,110^BCN,80,Y,N,N^FD4600000000001^FS
^XZ
Команда ^CI28 включает UTF-8, без неё кириллица превратится в мусор.
Тест TSPL для Xprinter и TSC
Файл test.txt для этикетки 58×40 мм:
SIZE 58 mm, 40 mm
GAP 2 mm, 0 mm
CLS
TEXT 50,50,"3",0,1,1,"TEST 1C"
BARCODE 50,100,"128",80,1,0,2,2,"4600000000001"
PRINT 1,1
Встроенные шрифты TSPL кириллицу обычно не содержат, поэтому в тесте латиница.
Как отправить файл на принтер
- 🔌 USB-принтер: откройте общий доступ к нему в Windows и выполните
copy /b test.zpl \\localhost\ИмяОбщегоРесурса. - 🧷 COM-принтер:
copy /b test.zpl COM1после настройки порта командойmode. - 🌐 Сетевой принтер: отправьте файл на порт 9100 любым TCP-клиентом или через общий ресурс принтера с RAW-портом.
Если тестовая этикетка вышла, принтер и порт исправны. Значит, ошибка в драйвере оборудования 1С (выбран не тот язык или модель) или в шаблоне.
Частая причина «молчания» Zebra — принтер переключён в режим EPL или в режим строчной печати, а драйвер шлёт ZPL. Распечатайте конфигурацию принтера: в ней указан текущий язык.
Если принтер печатает служебный текст
Вместо этикетки выходит лента с кодами вроде ^XA^FO... или SIZE 58 mm. Это значит, что команды пришли через драйвер Windows как обычный текст. Отправляйте их на RAW-порт или через общий ресурс с флагом /b, а в 1С выберите для подключаемого оборудования нужный язык команд.
Если ничего не помогло
Когда принтер печатает тест и ZPL/TSPL напрямую, а 1С по-прежнему молчит, проверьте ещё четыре вещи:
- Под другим пользователем 1С печать идёт? Если да — сбились пользовательские настройки печати. Помогает очистка настроек этого пользователя в
Администрирование → Настройки пользователей и прав(команда работы с настройками пользователей) или запуск клиента с ключом/ClearCache. - На другом компьютере с тем же принтером печать идёт? Если да — переустановите драйвер на проблемном рабочем месте.
- Помогает ли перезапуск 1С после подключения принтера? Подключаемое оборудование инициализируется при старте, «горячее» подключение USB клиент может не увидеть.
- Печатает ли веб-клиент? Он печатает через браузер, и размер этикетки там задаётся в диалоге печати браузера, отдельно от 1С.