При использовании нескольких идентичных принтеров этикеток (в нашем случае — TSC TE200) на одном рабочем месте под управлением Windows пользователи часто сталкиваются с критической ошибкой: после перезагрузки компьютера или самих устройств операционная система хаотично меняет их местами. В результате этикетка, предназначенная для принтера с широкой лентой, уходит на принтер с узкой лентой, или печать вовсе блокируется — для этого подойдёт программа для заказа и печати этикеток маркировки. Проанализируем причины этой ситуации и разберем пошаговые методы решения проблемы.
Разберем природу проблемы. Когда мы подключаем USB-устройство, Windows идентифицирует его по уникальному дескриптору. Если в прошивке принтера не прописан уникальный серийный номер USB (USB Serial Number), система ориентируется на номер физического порта. Однако при загрузке контроллер USB может опрашивать порты в произвольном порядке, назначая логические имена USB001, USB002 и USB003 разным физическим разъемам. Ситуация усугубляется в среде 1С, где настройки печати привязаны к конкретному имени принтера в системе. Если TSC_58mm внезапно оказывается на порту USB002 вместо USB001, связь разрывается.
Первым делом проанализируем состояние внутренних настроек принтеров. Большинство профессиональных принтеров TSC позволяют программно задать или активировать передачу серийного номера по USB. Рассмотрим, как это сделать:
TSC200_01, TSC200_02).Set), Windows начнет воспринимать его как уникальное устройство, «приклеенное» к его внутреннему номеру, а не к номеру порта.Зачастую стандартные драйверы, идущие в комплекте, некорректно обрабатывают несколько экземпляров (Instances) одной модели. Разберем альтернативный вариант — использование универсальных драйверов Seagull Scientific, которые считаются эталоном для термопринтеров.
Рассмотрим алгоритм установки:
Свойства сервера печати.TSC TE200 (Copy 1)). Сразу переименуем их в соответствии с размером этикетки (например, TSC_80x40 и TSC_58x40).Если принтеры все равно продолжают перемешиваться, выясним причину в системных настройках обработки USB. В Windows существует параметр, который заставляет систему игнорировать серийные номера устройств и привязываться только к порту. Нам нужно убедиться, что система, напротив, учитывает серийные номера.
Проанализируем путь в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags
В этом разделе можно создать параметры для конкретных VID (Vendor ID) и PID (Product ID) вашего оборудования. Для TSC TE200 эти данные можно посмотреть в диспетчере устройств. Создание параметра IgnoreHWSerNum со значением 0 для вашего устройства заставит систему всегда искать конкретный серийный номер принтера, независимо от того, в какой порт он воткнут.
Когда мы добились стабильности в самой операционной системе, необходимо правильно настроить программный комплекс 1С. Рассмотрим, как это сделать в современных конфигурациях на базе БСП (Библиотеки стандартных подсистем).
Выполним следующие шаги:
Администрирование — Печатные формы, отчеты и обработки.Настройка макетов этикеток и ценников — есть редактор макетов печатных форм для 1С.Настроить печать.Посмотрим на пример логики работы: 1С сохраняет привязку к имени принтера в настройках пользователя. Если в системе принтер называется TSC_Printer_1, то 1С будет искать именно это имя. Благодаря предварительной настройке серийных номеров (Метод 1), это имя теперь всегда будет указывать на физически правильный аппарат.
Проанализируем физическое подключение. Часто порты USB 3.0 (синие) ведут себя менее стабильно при инициализации старых моделей принтеров, чем порты USB 2.0. Рассмотрим рекомендации по подключению:
Корневой USB-концентратор и на вкладке Управление электропитанием снимем галочку Разрешить отключение этого устройства для экономии энергии. Это предотвратит «засыпание» портов, которое также провоцирует перераспределение номеров USB00x.Если программные методы не помогают (что бывает на специфических сборках Windows 7 или 10), рассмотрим переход на сетевое подключение. Модель TSC TE200 часто имеет модификацию с LAN-портом. Если ваши устройства поддерживают Ethernet:
TSC DiagTool.Сетевое подключение полностью снимает проблему путаницы портов, так как обращение идет по уникальному IP-адресу, который не зависит от последовательности включения устройств или USB-контроллеров. Это самый надежный способ для стабильной работы склада или торговой точки.
Таким образом, мы разобрали комплексный подход к решению проблемы: от низкоуровневой прошивки серийных номеров в DiagTool до тонкой настройки макетов в 1С. Последовательное выполнение этих действий позволит навсегда забыть о «танцах с бубном» после каждой перезагрузки компьютера.