К статье
Практический материал

Торговля и Склад · 10 мин

Как считать штрихкод в 1С: подключение сканера и работа с кодами

Как считать штрихкод в 1С: подключение сканера, настройка оборудования, поиск товара по коду, типовые ошибки и способы их устранения.

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

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

Инструкция ориентирована на типовые конфигурации — «Управление торговлей», «Розница», «Комплексная автоматизация», «ERP», а также «1С:Розница» для магазинов. В других конфигурациях названия разделов могут отличаться, но логика настройки совпадает.

Как сканер передаёт штрихкод в 1С

Сканер штрихкодов работает с 1С в одном из двух режимов. Первый — эмуляция клавиатуры (USB-HID): устройство «печатает» считанный код так, будто его набрали на клавиатуре, и добавляет суффикс (обычно Enter). Этот режим не требует драйверов, но работает только там, где открыто поле ввода, и уязвим к раскладке клавиатуры.

Второй режим — через драйвер торгового оборудования (COM-порт или эмуляция COM через USB). Здесь 1С перехватывает событие сканирования через подсистему «Подключаемое оборудование» (БПО — библиотека подключаемого оборудования), и код попадает в программу независимо от того, где находится курсор. Это основной способ для рабочих мест кассира и кладовщика.

Подключение и настройка сканера

Сначала подключите сканер к компьютеру и проверьте его вне 1С: откройте «Блокнот» и отсканируйте любой код. Если цифры появляются — устройство исправно и работает в режиме клавиатуры. Если ничего не происходит, сканер настроен на COM-порт, и без драйвера в «Блокноте» вы его не увидите — это нормально.

Для полноценной работы добавьте сканер в список оборудования 1С. Путь в типовых конфигурациях: «Администрирование» → «Подключаемое оборудование» (в «Рознице» — «Администрирование» → «Настройка подключаемого оборудования»). Создайте новый элемент с типом «Сканер штрихкода», выберите драйвер (обычно «1С: Сканеры штрихкода (Native API)») и нажмите «Настроить».

В параметрах драйвера укажите порт и суффикс. Для сканеров в режиме клавиатуры драйвер 1С умеет перехватывать ввод по скорости набора — это удобно, если перепрошить устройство в COM-режим нельзя. После настройки нажмите «Тест устройства» и отсканируйте код: в окне теста должна появиться строка с данными.

Порядок подключения сканера
  1. 1
    Подключите сканер к USB-порту и дождитесь установки устройства в Windows
  2. 2
    Проверьте сканирование в «Блокноте» — определите режим работы устройства
  3. 3
    Откройте в 1С «Администрирование» → «Подключаемое оборудование»
  4. 4
    Создайте элемент с типом «Сканер штрихкода», выберите драйвер и рабочее место
  5. 5
    Нажмите «Настроить», задайте порт или режим клавиатуры, выполните «Тест устройства»
  6. 6
    Отсканируйте тестовый код и убедитесь, что данные приходят в окно теста

Привязка штрихкода к товару

Сканер только передаёт строку — найти товар по ней 1С сможет, только если штрихкод записан в базе. Откройте карточку номенклатуры и перейдите по ссылке «Штрихкоды» (или «Ещё» → «Штрихкоды», в зависимости от конфигурации). Добавьте строку, укажите код, при необходимости — характеристику и упаковку.

Быстрый способ — отсканировать код прямо в форме списка штрихкодов: курсор встанет в поле «Штрихкод», и значение подставится автоматически. Если товар приходит с разными кодами от разных поставщиков, к одной номенклатуре допустимо привязывать несколько штрихкодов.

Для собственной маркировки (весовой товар, переупаковка) используйте внутренние коды с префиксом, который не пересекается с EAN-производителей — в типовых конфигурациях для этого зарезервирован диапазон, начинающийся с «2». Проверить, свободен ли код, можно поиском по регистру штрихкодов до записи.

Считывание штрихкода в документах и РМК

В документах («Приходная накладная», «Реализация товаров», «Инвентаризация», «Чек ККМ») сканирование работает из формы документа: отсканируйте код, и 1С добавит строку с товаром либо увеличит количество существующей. Отдельное поле для ввода кода открывать не нужно — обработчик внешнего события срабатывает автоматически.

Если сканер работает в режиме клавиатуры без драйвера, используйте кнопку «Поиск по штрихкоду» (в ряде конфигураций — горячая клавиша F7) или поле поиска по штрихкоду в форме подбора. Курсор должен стоять в поле ввода, иначе код «напечатается» в произвольное место интерфейса.

В рабочем месте кассира (РМК) конфигураций «Розница» и «Управление торговлей» сканирование — основной способ добавления товара в чек. Если товар не найден, программа покажет сообщение «По штрихкоду ничего не найдено» — это сигнал завести код в карточке номенклатуры, а не сканировать повторно.

Контрольные точки

Как проверить результат

Тест устройства в настройках драйвера
Норма

В окне теста появляется строка с кодом

Тревожный признак

Окно пустое — неверный порт или режим сканера

Сканирование в документе
Норма

Добавляется строка с нужным товаром и количеством

Тревожный признак

Сообщение «не найдено» — кода нет в базе

Сканирование в «Блокноте»
Норма

Цифры кода и перевод строки

Тревожный признак

Иероглифы или латиница вместо цифр — сбита раскладка сканера

Чтение штрихкодов программно и через ТСД

Для разработчиков в типовых конфигурациях сканирование приходит в форму через обработчик Оповещение с именем события «ScanData» или через подсистему «МенеджерОборудования». Получить данные можно процедурой вида МенеджерОборудованияКлиент.ПолучитьДанныеПоШтрихкодам — она вернёт массив структур с найденной номенклатурой.

На складе вместо стационарного сканера часто используют терминал сбора данных (ТСД) с мобильным клиентом 1С или специализированным софтом. ТСД считывает код встроенным сканером и передаёт пакет данных в 1С по Wi-Fi — так работают операции приёмки, отбора и инвентаризации без привязки к рабочему месту.

bsl
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия = "ScanData" Тогда
        Штрихкод = Параметр[0];
        // далее поиск номенклатуры по штрихкоду на сервере
    КонецЕсли;
КонецПроцедуры

Типичные ошибки и их устранение

Самая частая жалоба — «сканер пищит, но в 1С ничего не происходит». Причины: сканер не добавлен в подключаемое оборудование, выбран неверный порт в настройках драйвера, либо устройство работает в режиме клавиатуры, а форма не имеет активного поля ввода. Начинайте диагностику с теста устройства в настройках драйвера.

Вторая группа проблем — данные. Код приходит в 1С, но товар не находится: штрихкод не записан в карточке, записан с лишними пробелами, привязан к другой номенклатуре или к архивной позиции. Проверяйте регистр штрихкодов напрямую: «Номенклатура» → переход в регистр сведений «Штрихкоды номенклатуры» с отбором по значению кода.

Третья группа — искажение данных: сканер обрезает ведущий ноль EAN-13, меняет раскладку (цифры превращаются в символы), не отправляет суффикс. Это лечится настройкой самого сканера по управляющим штрихкодам из его руководства: включение передачи полного кода, выбор раскладки «USB-клавиатура, русская/английская», установка суффикса Enter.

Типичные ошибки
01
Настройка сканера только в Windows без добавления в «Подключаемое оборудование» — 1С не перехватывает событие, код попадает не в те поля
02
Хранение штрихкода в текстовом поле карточки вместо регистра «Штрихкоды номенклатуры» — поиск при сканировании не срабатывает
03
Дублирование одного кода на несколько товаров — в чек попадает неправильная позиция
04
Игнорирование ведущего нуля в EAN-13 — код в базе не совпадает с тем, что передаёт сканер
05
Работа сканера в режиме клавиатуры при английской раскладке — вместо цифр вводятся символы

Когда стандартного сканирования недостаточно

Если нужно считывать коды маркировки «Честный знак» (DataMatrix), обычный линейный сканер не подойдёт — требуется 2D-сканер, а в 1С должна быть включена функциональность маркировки и обновлён драйвер оборудования, поддерживающий передачу полного кода с криптохвостом.

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

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

Почему 1С пишет «По штрихкоду ничего не найдено», хотя товар в базе есть?

Сканер передаёт строку, а 1С ищет её в регистре «Штрихкоды номенклатуры». Наличие товара в справочнике недостаточно — код должен быть записан именно в карточке номенклатуры на вкладке штрихкодов. Откройте карточку, добавьте код и повторите сканирование.

Можно ли вводить штрихкод вручную, без сканера?

Да. В формах подбора и документов есть поле поиска по штрихкоду (в ряде конфигураций вызывается клавишей F7): введите цифры с клавиатуры и нажмите Enter — поиск сработает так же, как при сканировании.

Сканер вставляет код в любое поле вместо добавления товара. Что делать?

Устройство работает в режиме эмуляции клавиатуры, а 1С не перехватывает событие. Добавьте сканер в «Подключаемое оборудование» с драйвером, поддерживающим режим клавиатурного перехвата, либо переключите сканер в режим COM-порта и настройте порт в параметрах драйвера.

Как привязать несколько штрихкодов к одному товару?

В карточке номенклатуры откройте список штрихкодов и добавьте нужное количество строк — ограничений по числу кодов на один товар в типовых конфигурациях нет. Обратное невозможно: один код не может ссылаться на разные товары.

Сканер «съедает» первый ноль в штрихкоде. Это проблема 1С?

Нет, это настройка самого сканера: отключена передача ведущего нуля (параметр UPC/EAN в конфигурации устройства). Включите передачу полного кода через управляющие штрихкоды из руководства сканера, затем проверьте ввод в «Блокноте».

Нужен ли отдельный сканер для маркированного товара?

Для кодов DataMatrix системы «Честный знак» нужен 2D-сканер (фотосканер), линейный лазерный их не считывает. Дополнительно в 1С должна быть включена функциональность маркировки и актуальная версия драйвера торгового оборудования.

Итог

Что важно запомнить

Считывание штрихкода в 1С складывается из трёх условий: исправный сканер, зарегистрированный в «Подключаемом оборудовании» с правильным драйвером; корректные штрихкоды в карточках номенклатуры; и проверка результата через тест устройства и пробное сканирование в документе. Большинство проблем решается проверкой режима сканера и поиском кода в регистре штрихкодов.