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

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

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

Как штрихкод хранится и представляется в базе 1С: типы штрихкодов EAN-13, EAN-8, Code39, регистр сведений, печать этикеток и типичные ошибки при работе.

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

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

Кроме значения самого кода, в базе хранится его тип: EAN-13, EAN-8, Code39, Code128, QR и другие. Тип влияет на то, как код будет отображаться в печатных формах, как он проверяется на корректность и как обрабатывается при сканировании. Ошибка в типе — частая причина того, что этикетка печатается нечитаемой или сканер не распознаёт код.

Как штрихкод хранится в структуре базы 1С

Основная единица хранения — запись регистра сведений. Типовая структура включает: сам штрихкод (строка, обычно до 13–20 символов в зависимости от конфигурации), владельца (ссылка на справочник «Номенклатура»), а также дополнительные измерения — характеристику, серию, упаковку или единицу измерения. Благодаря этому одна и та же позиция в разных упаковках (штука, короб, паллета) может иметь разные штрихкоды, и сканер на кассе или ТСД будет находить именно нужную единицу.

Само значение штрихкода хранится как текст, а не как число. Это принципиально важно: ведущие нули в EAN-13 или EAN-8 значимы, и если при выгрузке в Excel или при обмене код преобразовать в число, ведущий ноль потеряется и штрихкод перестанет совпадать с тем, что читает сканер. Все обмены и печатные формы должны работать со строковым представлением.

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

Типы штрихкодов и какой выбрать

Тип штрихкода задаётся при вводе кода в карточку или при автоматической генерации. На практике чаще всего встречаются EAN-13 (стандарт розничной торговли, 13 цифр с контрольной), EAN-8 (укороченный, для мелкой упаковки), Code39 (буквенно-цифровой, допускает произвольные значения) и Code128 (плотный буквенно-цифровой, используется в логистике и на ТСД). Для маркированных товаров применяются DataMatrix и коды Честного знака, которые обрабатываются отдельными механизмами.

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

Сравнение вариантов

EAN-13

Стандарт для розницы и маркетплейсов. Только цифры, строго 13 знаков с контрольной цифрой. Не подходит для произвольных внутренних кодов с буквами.

Code39

Допускает цифры, заглавные латинские буквы и часть символов. Удобен для внутренних артикулов, но менее плотный — этикетка получается длиннее.

Code128

Плотный буквенно-цифровой код, хорошо читается ТСД. Подходит для складских и транспортных этикеток, но не все кассовые сценарии розницы рассчитаны на него по умолчанию.

Внутренний код с префиксом 2

Генерируется самой 1С для товаров без заводского штрихкода. Не конфликтует с EAN поставщиков, но не принимается маркетплейсами как внешний код товара.

Как посмотреть и добавить штрихкод в карточке товара

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

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

Порядок действий
  1. 1
    Откройте карточку номенклатуры и перейдите к списку штрихкодов (вкладка или команда «Штрихкоды»).
  2. 2
    Установите курсор в поле нового штрихкода и отсканируйте этикетку сканером либо введите код вручную.
  3. 3
    Проверьте автоматически определённый тип: для 13-значного кода должен быть EAN-13, для 8-значного — EAN-8.
  4. 4
    Укажите упаковку или характеристику, если код относится не к базовой единице товара.
  5. 5
    Запишите карточку и проверьте поиск: отсканируйте код в форме подбора — должна найтись именно эта позиция.

Проверка корректности и типичные ошибки

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

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

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

Как штрихкод выводится на печать

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

Размер и тип кода на этикетке имеют практические ограничения. Слишком мелкая печать EAN-13 на узком ценнике даёт нечитаемый код: полоски сливаются, и сканер не берёт его с первого раза. Для маленьких этикеток лучше использовать EAN-8 или увеличивать масштаб шаблона. После настройки шаблона всегда печатайте пробную этикетку и проверяйте её реальным сканером, а не только визуально.

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

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

Поиск товара сканером в форме подбора
Норма

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

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

Ничего не найдено, найдено несколько позиций или подставился другой товар

Напечатанная этикетка
Норма

Полоски чёткие, сканер считывает код с первого раза, цифры под полосками совпадают с кодом в базе

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

Пустое место вместо штрихкода, смазанные полоски, сканер не читает или читает другой код

Значение кода в регистре после обмена
Норма

Длина и ведущие нули совпадают с этикеткой поставщика

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

Код стал короче на один символ или изменился формат

Штрихкоды в обменах и при интеграции

При выгрузке каталога на маркетплейсы, в ЭДО или на сайт штрихкод передаётся как строка, и формат поля на стороне приёмника должен это учитывать. Если обмен идёт через CSV или Excel-форматы, задайте текстовый формат колонки заранее — до загрузки данных. При обмене через XML, JSON или CommerceML строковый тип обычно сохраняется автоматически, но контрольная выборка после первого обмена обязательна.

При работе с весовым и штучным товаром одновременно учитывайте, что весовые штрихкоды (с весом внутри кода, префикс обычно из диапазона 20–29) обрабатываются отдельным механизмом: 1С разбирает код на префикс, код товара и вес. Простое сравнение строки с регистром тут не работает — нужна настройка шаблона весового штрихкода в параметрах торгового оборудования.

Частые вопросы по представлению штрихкодов в 1С

Почему сканер вводит код, а 1С не находит товар?

Чаще всего значение в базе отличается от отсканированного: потерян ведущий ноль, лишний пробел, другой регистр символов в буквенно-цифровом коде или сканер добавляет префикс/суффикс. Сравните посимвольно то, что вводит сканер (например, в блокноте), с тем, что записано в регистре штрихкодов.

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

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

Что делать, если один штрихкод оказался у двух товаров?

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

Нужно ли хранить картинку штрихкода в базе?

Нет. Изображение генерируется при печати из строкового значения и типа кода. Хранение картинок только увеличит базу и создаст риск рассинхронизации: код в данных изменили, а картинка осталась старой.

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

Внутренний код генерирует сама 1С, обычно в диапазоне с префиксом 2, и он уникален только внутри вашей базы. Код поставщика — зарегистрированный EAN, единый для товара у всех продавцов. Для маркетплейсов и ЭДО нужен код поставщика, внутренний подходит только для собственной розницы и склада.

Почему после обновления конфигурации перестали печататься штрихкоды?

Типичная причина — сброс или несовместимость внешней компоненты печати штрихкодов. Проверьте её наличие и версию в настройках печати этикеток, при необходимости переустановите компоненту и напечатайте пробную этикетку до начала рабочей смены.

Итог

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

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