Торговля и Склад · 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Подключите сканер к USB-порту и дождитесь установки устройства в Windows
- 2Проверьте сканирование в «Блокноте» — определите режим работы устройства
- 3Откройте в 1С «Администрирование» → «Подключаемое оборудование»
- 4Создайте элемент с типом «Сканер штрихкода», выберите драйвер и рабочее место
- 5Нажмите «Настроить», задайте порт или режим клавиатуры, выполните «Тест устройства»
- 6Отсканируйте тестовый код и убедитесь, что данные приходят в окно теста
Привязка штрихкода к товару
Сканер только передаёт строку — найти товар по ней 1С сможет, только если штрихкод записан в базе. Откройте карточку номенклатуры и перейдите по ссылке «Штрихкоды» (или «Ещё» → «Штрихкоды», в зависимости от конфигурации). Добавьте строку, укажите код, при необходимости — характеристику и упаковку.
Быстрый способ — отсканировать код прямо в форме списка штрихкодов: курсор встанет в поле «Штрихкод», и значение подставится автоматически. Если товар приходит с разными кодами от разных поставщиков, к одной номенклатуре допустимо привязывать несколько штрихкодов.
Для собственной маркировки (весовой товар, переупаковка) используйте внутренние коды с префиксом, который не пересекается с EAN-производителей — в типовых конфигурациях для этого зарезервирован диапазон, начинающийся с «2». Проверить, свободен ли код, можно поиском по регистру штрихкодов до записи.
Считывание штрихкода в документах и РМК
В документах («Приходная накладная», «Реализация товаров», «Инвентаризация», «Чек ККМ») сканирование работает из формы документа: отсканируйте код, и 1С добавит строку с товаром либо увеличит количество существующей. Отдельное поле для ввода кода открывать не нужно — обработчик внешнего события срабатывает автоматически.
Если сканер работает в режиме клавиатуры без драйвера, используйте кнопку «Поиск по штрихкоду» (в ряде конфигураций — горячая клавиша F7) или поле поиска по штрихкоду в форме подбора. Курсор должен стоять в поле ввода, иначе код «напечатается» в произвольное место интерфейса.
В рабочем месте кассира (РМК) конфигураций «Розница» и «Управление торговлей» сканирование — основной способ добавления товара в чек. Если товар не найден, программа покажет сообщение «По штрихкоду ничего не найдено» — это сигнал завести код в карточке номенклатуры, а не сканировать повторно.
Как проверить результат
В окне теста появляется строка с кодом
Окно пустое — неверный порт или режим сканера
Добавляется строка с нужным товаром и количеством
Сообщение «не найдено» — кода нет в базе
Цифры кода и перевод строки
Иероглифы или латиница вместо цифр — сбита раскладка сканера
Чтение штрихкодов программно и через ТСД
Для разработчиков в типовых конфигурациях сканирование приходит в форму через обработчик Оповещение с именем события «ScanData» или через подсистему «МенеджерОборудования». Получить данные можно процедурой вида МенеджерОборудованияКлиент.ПолучитьДанныеПоШтрихкодам — она вернёт массив структур с найденной номенклатурой.
На складе вместо стационарного сканера часто используют терминал сбора данных (ТСД) с мобильным клиентом 1С или специализированным софтом. ТСД считывает код встроенным сканером и передаёт пакет данных в 1С по Wi-Fi — так работают операции приёмки, отбора и инвентаризации без привязки к рабочему месту.
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ScanData" Тогда
Штрихкод = Параметр[0];
// далее поиск номенклатуры по штрихкоду на сервере
КонецЕсли;
КонецПроцедурыТипичные ошибки и их устранение
Самая частая жалоба — «сканер пищит, но в 1С ничего не происходит». Причины: сканер не добавлен в подключаемое оборудование, выбран неверный порт в настройках драйвера, либо устройство работает в режиме клавиатуры, а форма не имеет активного поля ввода. Начинайте диагностику с теста устройства в настройках драйвера.
Вторая группа проблем — данные. Код приходит в 1С, но товар не находится: штрихкод не записан в карточке, записан с лишними пробелами, привязан к другой номенклатуре или к архивной позиции. Проверяйте регистр штрихкодов напрямую: «Номенклатура» → переход в регистр сведений «Штрихкоды номенклатуры» с отбором по значению кода.
Третья группа — искажение данных: сканер обрезает ведущий ноль EAN-13, меняет раскладку (цифры превращаются в символы), не отправляет суффикс. Это лечится настройкой самого сканера по управляющим штрихкодам из его руководства: включение передачи полного кода, выбор раскладки «USB-клавиатура, русская/английская», установка суффикса Enter.
Когда стандартного сканирования недостаточно
Если нужно считывать коды маркировки «Честный знак» (DataMatrix), обычный линейный сканер не подойдёт — требуется 2D-сканер, а в 1С должна быть включена функциональность маркировки и обновлён драйвер оборудования, поддерживающий передачу полного кода с криптохвостом.
Для массового учёта (серии, упаковки, весовые штрихкоды) проверьте настройки парсинга: весовой код содержит внутри себя код товара и вес, и 1С должна «разрезать» его по маске префикса. Эта настройка находится в параметрах обмена с весами и правилах формирования штрихкодов.
Частые вопросы
Почему 1С пишет «По штрихкоду ничего не найдено», хотя товар в базе есть?
Сканер передаёт строку, а 1С ищет её в регистре «Штрихкоды номенклатуры». Наличие товара в справочнике недостаточно — код должен быть записан именно в карточке номенклатуры на вкладке штрихкодов. Откройте карточку, добавьте код и повторите сканирование.
Можно ли вводить штрихкод вручную, без сканера?
Да. В формах подбора и документов есть поле поиска по штрихкоду (в ряде конфигураций вызывается клавишей F7): введите цифры с клавиатуры и нажмите Enter — поиск сработает так же, как при сканировании.
Сканер вставляет код в любое поле вместо добавления товара. Что делать?
Устройство работает в режиме эмуляции клавиатуры, а 1С не перехватывает событие. Добавьте сканер в «Подключаемое оборудование» с драйвером, поддерживающим режим клавиатурного перехвата, либо переключите сканер в режим COM-порта и настройте порт в параметрах драйвера.
Как привязать несколько штрихкодов к одному товару?
В карточке номенклатуры откройте список штрихкодов и добавьте нужное количество строк — ограничений по числу кодов на один товар в типовых конфигурациях нет. Обратное невозможно: один код не может ссылаться на разные товары.
Сканер «съедает» первый ноль в штрихкоде. Это проблема 1С?
Нет, это настройка самого сканера: отключена передача ведущего нуля (параметр UPC/EAN в конфигурации устройства). Включите передачу полного кода через управляющие штрихкоды из руководства сканера, затем проверьте ввод в «Блокноте».
Нужен ли отдельный сканер для маркированного товара?
Для кодов DataMatrix системы «Честный знак» нужен 2D-сканер (фотосканер), линейный лазерный их не считывает. Дополнительно в 1С должна быть включена функциональность маркировки и актуальная версия драйвера торгового оборудования.
Что важно запомнить
Считывание штрихкода в 1С складывается из трёх условий: исправный сканер, зарегистрированный в «Подключаемом оборудовании» с правильным драйвером; корректные штрихкоды в карточках номенклатуры; и проверка результата через тест устройства и пробное сканирование в документе. Большинство проблем решается проверкой режима сканера и поиском кода в регистре штрихкодов.