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

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

Как работают штрихкоды в 1С: настройка и практика

Как работают штрихкоды в 1С: типы кодов EAN-13 и Code128, подключение сканера, присвоение штрихкодов номенклатуре, печать этикеток и решение типичных проблем.

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

В типовых конфигурациях (1С:Розница, Управление торговлей, Комплексная автоматизация, ERP) работа со штрихкодами встроена изначально. Не нужно ничего программировать, чтобы начать сканировать товары на кассе: достаточно подключить сканер, присвоить штрихкоды номенклатуре и убедиться, что поиск работает. Сложности возникают на этапе настройки оборудования и при нестандартных сценариях — например, когда у одного товара несколько кодов от разных поставщиков.

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

Какие форматы штрихкодов поддерживает 1С

Типовые конфигурации работают с линейными и двумерными кодами. Чаще всего в рознице и на складе встречаются три формата. EAN-13 — стандартный тринадцатизначный код товара, который наносит производитель; именно его 1С умеет генерировать автоматически с префиксом внутреннего диапазона. EAN-8 — укороченный вариант для мелкой упаковки. Code128 — код с переменной длиной, позволяющий зашифровать буквы и цифры; его удобно использовать для внутренних нужд: маркировки серий, складских ячеек, сотрудников.

Двумерные коды — DataMatrix и QR — применяются там, где это требует законодательство о маркировке (обувь, одежда, табак, молочная продукция и другие товарные группы). Обработка кодов маркировки в 1С ведётся через отдельный механизм обмена с системой «Честный ЗНАК», это более сложный сценарий, чем обычное сканирование EAN-13.

Как 1С хранит и ищет штрихкоды

Все коды хранятся в регистре сведений «Штрихкоды номенклатуры» (в разных конфигурациях название может немного отличаться). Каждая запись содержит сам штрихкод, ссылку на номенклатуру, характеристику и упаковку. Благодаря этому сканирование короба и штучного товара может давать разное количество в документе: у упаковки свой код и свой коэффициент пересчёта.

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

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

Подключение сканера штрихкодов к 1С

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

Режим эмуляции COM-порта (или работа через драйвер) требует установки драйвера сканера и подключения оборудования в 1С через «Администрирование → Подключаемое оборудование». В типовых конфигурациях используется драйвер «1С:Сканер штрихкода» из библиотеки подключаемого оборудования (БПО). Этот режим надёжнее: 1С перехватывает событие сканирования независимо от положения курсора и корректно обрабатывает коды с нестандартными символами.

Подключение сканера через драйвер
  1. 1
    Установите драйвер сканера (для режима COM — драйвер виртуального порта производителя).
  2. 2
    Откройте Администрирование → Подключаемое оборудование → Сканеры штрихкода.
  3. 3
    Создайте новое устройство, выберите драйвер «1С:Сканер штрихкода» и укажите COM-порт.
  4. 4
    Нажмите «Настроить» и задайте суффикс (обычно Enter, код 13) и скорость порта из документации сканера.
  5. 5
    Нажмите «Тест устройства» и отсканируйте любой код — в окне теста должна появиться строка.
  6. 6
    Проверьте поиск: откройте документ продажи и отсканируйте товар с известным штрихкодом.

Как присвоить штрихкоды товарам

Если производитель уже нанёс EAN-13 на упаковку, достаточно занести его в карточку: откройте номенклатуру, перейдите по ссылке «Штрихкоды» и отсканируйте код в поле новой строки — сканировать быстрее и надёжнее, чем вводить вручную. Для товаров с характеристиками (размеры, цвета) штрихкод присваивается каждой характеристике отдельно.

Для товаров без заводского кода 1С умеет генерировать внутренние штрихкоды автоматически. В карточке номенклатуры или в списке штрихкодов есть команда создания нового кода: программа формирует EAN-13 с префиксом внутреннего диапазона (обычно начинается с 2). Внутренние коды не конфликтуют с кодами производителей, если префикс настроен корректно.

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

Типичные ошибки при присвоении кодов
01
Ввод штрихкода вручную с ошибкой в одной цифре — товар не находится на кассе, а контрольная цифра EAN-13 не совпадает.
02
Хранение кодов в Excel с числовым форматом — теряются ведущие нули, и после загрузки коды не совпадают с этикетками.
03
Присвоение одного кода разным характеристикам товара — при сканировании подставляется не тот вариант.
04
Игнорирование упаковок — у короба нет своего кода, кладовщик сканирует штучную этикетку и получает неверное количество.

Печать этикеток и ценников

Печать этикеток выполняется через обработку «Печать этикеток и ценников» (в Рознице — «Ценники и этикетки»). В шаблоне этикетки задаётся размер, состав полей и объект штрихкода: тип кода (EAN-13, Code128), ширина штрихов и отображение цифр под кодом. Шаблоны можно редактировать: добавить артикул, цену, наименование, логотип.

Критичный параметр — ширина штриха. Слишком мелкий штрих при печати на обычном офисном принтере даёт нечитаемый код: сканер не распознаёт этикетку или читает её через раз. Для стабильного считывания используйте термопринтер этикеток и не уменьшайте масштаб штрихкода ниже рекомендованного в шаблоне. После изменения шаблона всегда печатайте пробную этикетку и проверяйте её сканером до тиражирования.

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

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

Сканирование напечатанной этикетки
Норма

Код считывается с первого раза, в документ подставляется нужный товар

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

Сканер не реагирует или 1С сообщает, что штрихкод не найден

Совпадение цифр под кодом
Норма

Цифры на этикетке совпадают со строкой в регистре штрихкодов

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

Цифры отличаются — шаблон берёт код из другого поля или обрезает его

Поиск товара по сканированию
Норма

Находится ровно одна позиция с нужной характеристикой

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

Подставляется другой товар или другая характеристика

Типичные проблемы и их диагностика

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

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

Маршрут решения

Как выбрать действие

В блокноте код появляется, в 1С — нетПроверьте, что в форме документа активен приём штрихкодов, и переходите на драйверный режим подключения
Код в блокноте отличается от кода в регистреИсправьте запись в регистре, отсканировав код заново из карточки номенклатуры
В блокноте пустоПроверьте режим сканера, драйвер виртуального COM-порта и кабель; выполните тест устройства в настройках оборудования
Код находится, но подставляется не тот товарНайдите дубли: откройте регистр штрихкодов и отберите записи по этому коду

Ограничения и когда нужна доработка

Типовые механизмы покрывают стандартные сценарии розницы и склада, но у них есть границы. Поиск идёт только по регистру штрихкодов — если нужно искать товар по коду поставщика из его прайса, коды придётся загрузить в регистр. Работа с маркированными товарами требует настройки обмена с «Честным ЗНАКом» и поддерживающей это конфигурации актуальной версии. Терминалы сбора данных (ТСД) подключаются через драйверы и требуют отдельной настройки форм для складских операций.

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

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

Можно ли работать со штрихкодами в 1С без сканера?

Да. Штрихкод можно ввести вручную в поле поиска по штрихкоду в документе или в карточке номенклатуры. Это медленнее, но механизм поиска тот же: 1С ищет строку в регистре и подставляет товар.

Почему 1С не находит товар, хотя штрихкод точно правильный?

Чаще всего код не занесён в регистр штрихкодов или занесён к другой характеристике. Также проверьте ведущие нули: при ручном вводе или загрузке из Excel они могли потеряться. Сравните строку из блокнота после сканирования с записью в регистре посимвольно.

Может ли один товар иметь несколько штрихкодов?

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

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

Внутренний код 1С генерирует сама, обычно в формате EAN-13 с префиксом внутреннего диапазона (начинается с 2). Он действует только внутри вашей базы и не регистрируется в ГС1. Для продажи через маркетплейсы и сети обычно требуется зарегистрированный код производителя.

Работают ли штрихкоды в веб-клиенте и тонком клиенте?

В тонком клиенте работают полноценно, включая драйверный режим. В веб-клиенте надёжнее всего сканер в режиме эмуляции клавиатуры; для драйверного режима потребуется установка расширения работы с оборудованием в браузере, и поддержка зависит от версии платформы.

Как распечатать этикетки для всех товаров без штрихкодов?

Откройте обработку «Печать этикеток и ценников», отберите номенклатуру без штрихкодов, выполните команду генерации кодов, затем отправьте этикетки на печать. Перед полным тиражом напечатайте одну этикетку и проверьте её сканером.

Итог

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

Штрихкод в 1С — это запись в регистре, связывающая код с товаром, характеристикой и упаковкой. Для старта нужны сканер (проще всего в клавиатурном режиме), заполненные штрихкоды номенклатуры и проверенный шаблон этикетки. Большинство проблем решается сравнением кода из блокнота с записью в регистре и проверкой на дубли.