Терминал CipherLab 8001 и 1С:Предприятие 8.3: от подставки до загрузки документа

· 10 мин

Содержание

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

  1. Подключите подставку к COM-порту компьютера и к блоку питания. Без питания подставка не передаёт данные, хотя индикатор терминала может светиться.
  2. Откройте Диспетчер устройств → Порты (COM и LPT) и запомните номер порта, например COM1.
  3. Если на компьютере нет COM-порта, нужен переходник USB–RS-232. Ставьте драйвер от производителя переходника, а не первый найденный.

Подставка с USB

USB-подставка в Windows работает как виртуальный COM-порт. Для неё нужен драйвер USB Virtual COM от CipherLab.

  1. Установите драйвер виртуального COM-порта с правами администратора.
  2. Подключите подставку. В Диспетчер устройств → Порты (COM и LPT) появится новый порт.
  3. Если номер порта больше 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С с подставкой. Драйвер живёт на рабочем месте, а не на сервере 1С.
  2. Откройте список подключаемого оборудования и включите его использование, если флажок ещё не стоит.
  3. Выберите тип оборудования Терминалы сбора данных и создайте новый экземпляр.
  4. В поле драйвера выберите драйвер, поддерживающий CipherLab 8000-й серии. Если его нет в списке, добавьте драйвер из файла поставки через справочник драйверов оборудования.
  5. Проверьте рабочее место: экземпляр привязывается к конкретному компьютеру. На другом ПК его придётся завести отдельно.
  6. Сохраните и нажмите Настроить. Укажите модель, номер COM-порта и скорость — те же, что в Windows и на терминале.
  7. Нажмите Тест устройства при терминале, стоящем в подставке.

Разрядность клиента

Это главный приём, о котором забывают. Компонента драйвера должна совпадать по разрядности с клиентом 1С.

  • 🖥️ Клиент 64-разрядный, а у драйвера только 32-разрядная компонента — устройство не подключится, хотя порт открыт и настройки верны.
  • ✅ Решение — запустить на этом рабочем месте 32-разрядный клиент 1С той же версии платформы. В списке баз для этого в свойствах базы выбирают разрядность запуска.

Драйверы этого класса обычно поставляются вместе с программой для самого терминала. Её загружают в 8001 утилитой производителя. Терминал со «своей» складской программой от другого поставщика с драйвером не договорится, даже если порт и скорость совпадают.

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

Когда тест прошёл, работа идёт по циклу из трёх шагов.

  1. Выгрузка в ТСД. Из 1С в терминал передают товары со штрихкодами. Без этого терминал покажет только штрихкод, без названия, и не проверит, есть ли такой товар.
  2. Сбор данных. Кладовщик сканирует товар и вводит количество с клавиатуры.
  3. Загрузка из ТСД. Терминал ставят в подставку, в нужном документе запускают загрузку, и табличная часть заполняется.

Команды загрузки из ТСД появляются в табличных частях складских документов, когда в базе подключён хотя бы один терминал: инвентаризация, приёмка, перемещение, заказ. Ищите их в командной панели табличной части «Товары».

Как не потерять данные

  • 🔁 Перед загрузкой проверьте, что в документе нет старых строк, иначе количества сложатся.
  • 🧹 Очищайте память терминала только после того, как данные загружены и документ записан.
  • 🏷️ Неизвестные штрихкоды 1С покажет отдельным списком. Привяжите их к номенклатуре и повторите загрузку, а не добавляйте строки руками.
Перед первой инвентаризацией с 8001
Выполнено: 0 / 6

Если вместо 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. Свёртка нужна, потому что один товар часто сканируют несколько раз.

Как отлаживать

  1. Сначала проверьте сам файл: откройте его в Блокноте и найдите разделитель, лишние пробелы, пустую последнюю строку.
  2. Запустите обработку на файле из 3-5 строк с известными товарами.
  3. Поставьте точку останова после цикла чтения и посмотрите таблицу Данные в отладчике.
  4. Если русский текст в файле читается кракозябрами, смените кодировку в ЧтениеТекста: ANSI, UTF8 или OEM — по тому, что пишет утилита обмена.

Почему 1С не видит CipherLab 8001: диагностика связи

Начинайте с нижнего уровня. Пока Windows не видит порт, настройки 1С проверять бесполезно.

Диагностика: выберите симптом

Если подключение через терминальный сервер или удалённый рабочий стол, COM-порт локального ПК нужно пробросить в сеанс. Проще и надёжнее подключить подставку к самому серверу или использовать обмен через файл.

Частые вопросы

Можно ли работать с CipherLab 8001 в веб-клиенте 1С?
Только если драйвер имеет компоненту для веб-клиента и нужного браузера. У старых драйверов ТСД её обычно нет, поэтому надёжнее тонкий клиент или обмен через файл.
Нужен ли драйвер ТСД, если загружать данные через файл?
Нет. Достаточно драйвера подставки, утилиты обмена CipherLab и обработки 1С, которая читает файл.
Сколько данных помещается в терминал?
Зависит от объёма памяти и программы на терминале. Для справочника на несколько тысяч товаров с названиями обычно хватает, но проверьте на своей выгрузке до инвентаризации.
Подойдёт ли эта настройка для CipherLab 8000 или 8300?
Для 8000 — да, это одна серия и тот же принцип. Для 8300 и других моделей проверьте, есть ли модель в списке поддерживаемых у драйвера.
Можно ли сканировать марки «Честного знака» на 8001?
Нет. Сканер 8001 линейный и двумерный код DataMatrix не читает, а проверка статуса марки требует связи. Для маркировки лучше Android-терминал с 2D-сканером.