Терминал CipherLab 8001 и 1С:Предприятие 8.3: от подставки до загрузки документа
Содержание
CipherLab 8001 подключают к 1С как пакетный (offline) терминал сбора данных: терминал ставят в подставку, подставка соединяется с компьютером по RS-232 или USB (виртуальный COM-порт), а в 1С терминал заводят в списке Подключаемое оборудование с типом «Терминалы сбора данных» и драйвером, который поддерживает эту модель. Онлайн-режима у 8001 нет: радиомодуля в нём нет, данные уходят в 1С только через подставку.
Отсюда два рабочих пути. Первый — драйвер ТСД стороннего разработчика, совместимый с библиотекой подключаемого оборудования (БПО): тогда выгрузка справочника и загрузка документов идут штатными командами 1С. Второй — собственная программа на терминале и обработка 1С, которая читает текстовый файл. Ниже оба пути, от выбора до диагностики.
Что умеет CipherLab 8001 и какой режим работы выбрать
8001 — компактный терминал серии 8000 с клавиатурой, монохромным экраном и встроенным сканером штрихкодов. Операционная система у него собственная, не Windows CE и не Android. Программы для него пишут в инструментах CipherLab (генератор приложений, BASIC или C) и загружают через подставку.
Что это значит для 1С:
- 📦 только пакетный режим — сканируете на складе, потом ставите терминал в подставку и обмениваетесь данными;
- 🔌 связь через подставку — инфракрасный канал между терминалом и подставкой, от подставки к ПК кабель RS-232 или USB;
- 🧾 на терминале должна стоять программа, которая понимает драйвер 1С или пишет файл в нужном формате;
- 🚫 нет обмена в реальном времени — проверить остаток или цену прямо на терминале можно только по справочнику, выгруженному заранее.
Какую схему взаимодействия выбрать
| Схема | Когда подходит | Что нужно | Риски |
|---|---|---|---|
| Драйвер ТСД под БПО | Типовые УТ 11, КА 2, БП 3.0, Розница; нужна штатная загрузка в документы | Платный драйвер с поддержкой CipherLab 8000-й серии, его программа для терминала | Драйвер может не иметь 64-разрядной компоненты |
| Своя программа + файл | Нетиповая конфигурация, один-два сценария (инвентаризация, приёмка) | Программа на терминале, утилита передачи файла, обработка 1С | Всё сопровождаете сами |
| Замена терминала | Нужен онлайн, проверка заказа на месте, маркировка | Современный ТСД на Android | Затраты на оборудование и ПО |
Для типовой конфигурации разумнее первая схема. Вторую выбирают, когда драйвер уже не купить или конфигурация сильно доработана.
Драйвер подставки и COM-порт в Windows
До 1С дело доходит только после того, как Windows увидела подставку. Здесь ломается больше всего подключений.
Подставка с RS-232
- Подключите подставку к COM-порту компьютера и к блоку питания. Без питания подставка не передаёт данные, хотя индикатор терминала может светиться.
- Откройте
Диспетчер устройств → Порты (COM и LPT)и запомните номер порта, напримерCOM1. - Если на компьютере нет COM-порта, нужен переходник USB–RS-232. Ставьте драйвер от производителя переходника, а не первый найденный.
Подставка с USB
USB-подставка в Windows работает как виртуальный COM-порт. Для неё нужен драйвер USB Virtual COM от CipherLab.
- Установите драйвер виртуального COM-порта с правами администратора.
- Подключите подставку. В
Диспетчер устройств → Порты (COM и LPT)появится новый порт. - Если номер порта больше 9, а драйвер ТСД старый, смените номер: свойства порта → вкладка
Параметры порта→Дополнительно→Номер COM-порта. Выберите свободный отCOM2доCOM9.
Номер виртуального порта привязан к конкретному USB-разъёму. Переткнули подставку в соседний разъём — Windows может выдать новый номер, и 1С перестанет видеть терминал. Подписывайте разъём или закрепите подставку за одним портом.
Параметры связи
Скорость, чётность и число бит должны совпадать на трёх сторонах: в программе терминала, в драйвере и в настройке устройства в 1С. Типичный набор для серии 8000 — 115200, 8 бит данных, без чётности, 1 стоповый бит. Если программа на терминале настроена на 9600 или 38400, ставьте то же значение в драйвере.
COM-порт может держать открытым только одна программа. Если запущена утилита обмена CipherLab, терминальная программа или вторая копия 1С, драйвер получит отказ при открытии порта.
Подключение CipherLab 8001 в 1С: настройка оборудования
В конфигурациях на БПО порядок одинаковый, отличается только путь к списку оборудования.
| Конфигурация | Путь к списку оборудования |
|---|---|
| БП 3.0 | Администрирование → Подключаемое оборудование |
| УТ 11, КА 2, ERP | НСИ и администрирование → Администрирование → РМК и оборудование → Подключаемое оборудование |
Шаги настройки
- Установите драйвер ТСД на тот компьютер, где работает клиент 1С с подставкой. Драйвер живёт на рабочем месте, а не на сервере 1С.
- Откройте список подключаемого оборудования и включите его использование, если флажок ещё не стоит.
- Выберите тип оборудования
Терминалы сбора данныхи создайте новый экземпляр. - В поле драйвера выберите драйвер, поддерживающий CipherLab 8000-й серии. Если его нет в списке, добавьте драйвер из файла поставки через справочник драйверов оборудования.
- Проверьте рабочее место: экземпляр привязывается к конкретному компьютеру. На другом ПК его придётся завести отдельно.
- Сохраните и нажмите
Настроить. Укажите модель, номер COM-порта и скорость — те же, что в Windows и на терминале. - Нажмите
Тест устройствапри терминале, стоящем в подставке.
Разрядность клиента
Это главный приём, о котором забывают. Компонента драйвера должна совпадать по разрядности с клиентом 1С.
- 🖥️ Клиент 64-разрядный, а у драйвера только 32-разрядная компонента — устройство не подключится, хотя порт открыт и настройки верны.
- ✅ Решение — запустить на этом рабочем месте 32-разрядный клиент 1С той же версии платформы. В списке баз для этого в свойствах базы выбирают разрядность запуска.
Драйверы этого класса обычно поставляются вместе с программой для самого терминала. Её загружают в 8001 утилитой производителя. Терминал со «своей» складской программой от другого поставщика с драйвером не договорится, даже если порт и скорость совпадают.
Обмен с терминалом: выгрузка справочника и загрузка документа
Когда тест прошёл, работа идёт по циклу из трёх шагов.
- Выгрузка в ТСД. Из 1С в терминал передают товары со штрихкодами. Без этого терминал покажет только штрихкод, без названия, и не проверит, есть ли такой товар.
- Сбор данных. Кладовщик сканирует товар и вводит количество с клавиатуры.
- Загрузка из ТСД. Терминал ставят в подставку, в нужном документе запускают загрузку, и табличная часть заполняется.
Команды загрузки из ТСД появляются в табличных частях складских документов, когда в базе подключён хотя бы один терминал: инвентаризация, приёмка, перемещение, заказ. Ищите их в командной панели табличной части «Товары».
Как не потерять данные
- 🔁 Перед загрузкой проверьте, что в документе нет старых строк, иначе количества сложатся.
- 🧹 Очищайте память терминала только после того, как данные загружены и документ записан.
- 🏷️ Неизвестные штрихкоды 1С покажет отдельным списком. Привяжите их к номенклатуре и повторите загрузку, а не добавляйте строки руками.
Если вместо 8001 терминал CipherLab на Android
Современные модели CipherLab — на Android (например, серии RS и RK). С 1С они работают совсем иначе, чем 8001, и настройки из разделов выше к ним почти не относятся.
| Способ | Как работает | Режим |
|---|---|---|
| Режим клавиатуры | Сканер вводит штрихкод в поле активного приложения | Онлайн, если открыт клиент 1С или веб-клиент |
| Складское ПО для ТСД | Мобильное приложение стороннего разработчика обменивается с 1С через свою обработку или веб-сервис | Онлайн и офлайн |
| Мобильное приложение на платформе 1С | Своё мобильное приложение или мобильный клиент 1С с доступом к базе | Онлайн |
Подставка и COM-порт для Android-терминала не нужны: обмен идёт по Wi-Fi или через USB как с обычным телефоном. Драйвер серии 8000 для них не подходит.
💡 Если меняете парк 8001 на Android, сохраните формат файла выгрузки. Тогда обработку из следующего раздела можно оставить как запасной канал загрузки.
Своя обработка загрузки и отладка обмена
Когда драйвера нет, схема простая. Программа на 8001 пишет строки «штрихкод;количество». Утилита обмена CipherLab забирает данные через подставку и сохраняет текстовый файл на диск. Обработка 1С читает файл и заполняет таблицу.
Формат файла
4601234567890;12
4601234567906;3
4601234567913;1
Разделитель и кодировку задаёте в программе терминала или в утилите обмена. Договоритесь об одном варианте и не меняйте его.
Чтение файла в обработке
Пример ниже собирает штрихкоды и количества в таблицу значений и одним запросом находит номенклатуру. Регистр ШтрихкодыНоменклатуры есть в конфигурациях на БПО, в доработанной базе имя может быть другим.
&НаСервере
Функция ПрочитатьФайлТСД(АдресФайла)
ИмяВременное = ПолучитьИмяВременногоФайла("txt");
ПолучитьИзВременногоХранилища(АдресФайла).Записать(ИмяВременное);
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(200)));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Чтение = Новый ЧтениеТекста(ИмяВременное, КодировкаТекста.ANSI);
Строка = Чтение.ПрочитатьСтроку();
Пока Строка <> Неопределено Цикл
Части = СтрРазделить(Строка, ";", Ложь);
Если Части.Количество() >= 2 Тогда
Попытка
Количество = Число(СокрЛП(Части[1]));
Исключение
Количество = 0;
КонецПопытки;
Если Количество > 0 Тогда
НоваяСтрока = Данные.Добавить();
НоваяСтрока.Штрихкод = СокрЛП(Части[0]);
НоваяСтрока.Количество = Количество;
КонецЕсли;
КонецЕсли;
Строка = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();
УдалитьФайлы(ИмяВременное);
Данные.Свернуть("Штрихкод", "Количество");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Д.Штрихкод КАК Штрихкод,
| Д.Количество КАК Количество
|ПОМЕСТИТЬ ВТ_Данные
|ИЗ
| &Данные КАК Д
|;
|ВЫБРАТЬ
| ВТ_Данные.Штрихкод КАК Штрихкод,
| ВТ_Данные.Количество КАК Количество,
| Ш.Номенклатура КАК Номенклатура
|ИЗ
| ВТ_Данные КАК ВТ_Данные
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК Ш
| ПО ВТ_Данные.Штрихкод = Ш.Штрихкод";
Запрос.УстановитьПараметр("Данные", Данные);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
На клиенте файл передают на сервер через ПоместитьФайл или НачатьПомещениеФайла, адрес из временного хранилища отдают в функцию. Так обработка работает и в клиент-серверной базе, где сервер 1С не видит диски рабочего места. Строки с пустой номенклатурой — это неизвестные штрихкоды, их выводят отдельным списком.
СтрРазделить есть в платформе с 8.3.6. Свёртка нужна, потому что один товар часто сканируют несколько раз.
Как отлаживать
- Сначала проверьте сам файл: откройте его в Блокноте и найдите разделитель, лишние пробелы, пустую последнюю строку.
- Запустите обработку на файле из 3-5 строк с известными товарами.
- Поставьте точку останова после цикла чтения и посмотрите таблицу
Данныев отладчике. - Если русский текст в файле читается кракозябрами, смените кодировку в
ЧтениеТекста:ANSI,UTF8илиOEM— по тому, что пишет утилита обмена.
Почему 1С не видит CipherLab 8001: диагностика связи
Начинайте с нижнего уровня. Пока Windows не видит порт, настройки 1С проверять бесполезно.
Если подключение через терминальный сервер или удалённый рабочий стол, COM-порт локального ПК нужно пробросить в сеанс. Проще и надёжнее подключить подставку к самому серверу или использовать обмен через файл.