Как подключить несколько ТСД CipherLab 8001 к 1С:Розница через одну базу (cradle)?

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

Часто при автоматизации инвентаризации и приемки товаров возникает потребность использовать несколько терминалов сбора данных (ТСД) с одной коммуникационной подставкой (базой/cradle). Разберем нетривиальную ситуацию на примере CipherLab серии 8001: в наличии одна база и три терминала. Через «Генератор приложений» с базой связываются все три устройства, однако 1С:Розница корректно работает только с одним. При попытке проверки оборудования на остальных 1С выдает ошибку: «Тест не пройден, устройство не отвечает на команду».

Проанализируем эту ситуацию и выясним причины такого поведения. Важно понимать, что технически модели серии 8001 (работающие в batch-режиме) абсолютно не привязаны к конкретной подставке. Одна база, использующая IrDA для связи, может обслуживать любое количество терминалов. Для подставки терминалы «безликие», и обмен данными должен работать корректно при поочередной установке разных устройств. Создание разных экземпляров оборудования в 1С под каждый терминал — шаг правильный, но проблема кроется глубже. Рассмотрим по шагам, как диагностировать и решить эту проблему.

Шаг 1. Проверка прошивок и лицензий (Драйверы от разных дистрибьюторов)

Самая распространенная причина кроется в исторической специфике российского рынка. Для ТСД CipherLab драйверы (OLE-компоненты) и прошивки писались разными крупными дистрибьюторами (например, ScanCode и ScanCity). У каждого из них — своя обработка обслуживания для 1С и своя версия «Генератора приложений».

Почему генератор приложений видит терминалы, а 1С — нет? Генератор использует более универсальный протокол. А вот 1С:Розница жестко привязана к компоненте конкретного разработчика. Если работающий терминал прошит под один драйвер, а два других имеют прошивку от другого дистрибьютора, 1С будет отправлять специфические команды, которые нераспознаются «чужой» прошивкой.

Критически важное правило: ни в коем случае не пытайтесь сразу перепрошивать неработающие терминалы! Как отмечают эксперты, в прошивку вшита лицензия (лицуха). При неосторожной смене прошивки лицензия слетает, и восстановить её без официального обращения к дистрибьютору будет практически невозможно. Терминал лишится русификации и полностью перестанет коннектиться с 1С.

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

Шаг 2. Идентичность загруженных «Задач»

Алгоритм работы ТСД, форматы штрихкодов и разделители задаются в «Задаче» через Генератор приложений. В процессе проверки связи драйвер 1С часто проверяет соответствие структуры базы ожидаемому формату.

Сравним настройки того терминала, который работает, с настройками двух других. Убедимся, что на все три устройства залит абсолютно одинаковый файл задачи с расширением *.AG. Если на одном терминале структура полей отличается от той, которую ожидает 1С, тест связи будет провален.

Шаг 3. Режимы работы терминала при обмене

Разберем еще один нюанс. Разные версии прошивок требуют разного состояния устройства для передачи данных. Одно устройство может коннектиться, когда вы просто находитесь в главном меню, другое требует обязательного перехода в специальный режим.

  1. Включите ТСД.
  2. Если используется базовая прошивка, перейдите в меню «Утилиты».
  3. Выберите пункт «Передача данных».
  4. Установите ТСД в кредл и запустите проверку связи в 1С.

Иногда передача данных блокируется, если терминал находится в режиме сканирования штрихкодов. Протестируйте подключение, поочередно переводя неработающие ТСД в разные пункты системного меню.

Шаг 4. Настройки скорости и захват COM-порта

Подставка CipherLab связывается с компьютером через эмуляцию виртуального COM-порта (например, драйвер Silicon Labs CP210x). 1С может блокировать этот порт. Если вы проверили первый терминал, 1С «захватывает» порт. Когда вы ставите в базу второй ТСД, 1С пытается обратиться к нему по тому же каналу, но может произойти сбой инициализации.

Проанализируем параметры скорости. Они должны быть строго идентичны в трех местах:

  1. В настройках самого ТСД (обычно устанавливается значение 115200 бод).
  2. В диспетчере устройств Windows для соответствующего виртуального COM-порта.
  3. В настройках подключаемого оборудования внутри 1С:Розница.

Попробуйте снять галочку «Устройство включено» в карточке оборудования 1С перед тем, как вынуть первый терминал из базы и вставить второй. Затем снова установите флажок для нового экземпляра оборудования.

Шаг 5. Сброс настроек (Холодная перезагрузка)

Если вы убедились, что версии прошивок идентичны, настройки скорости совпадают, а задачи залиты одинаковые, но терминалы всё ещё не откликаются в 1С, выполним «холодную перезагрузку» (сброс к заводским настройкам). Это очистит оперативную память от зависших процессов.

После холодной перезагрузки вам придется заново залить файл задачи через Генератор приложений. Обязательно проверьте, что база (подставка) чистая, контакты (или окно IrDA) не поцарапаны и не загрязнены, так как оптическая связь чувствительна к физическим помехам.

Применяя эти шаги последовательно, вы сможете настроить корректную работу парка ТСД CipherLab 8001 с одной базой в 1С без риска потери лицензий на оборудование.

← На главную