Штрих-код: расшифровка, виды, структура, применение

Привет, Хабр! Со штрихкодами современный человек сталкивается каждый день, даже не задумываясь об этом. Когда мы покупаем в супермаркете продукты, их коды считываются именно с помощью штрихкода. Также посылки, товары на складах, и прочее и прочее.

Однако, мало кто знает, как же реально это работает. Как устроен баркод, и что закодировано на этой картинке? Штрих-код: расшифровка, виды, структура, применение

Попробуем разобраться, заодно напишем декодер таких кодов.

Введение

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

В 1962г коды стали официально использоваться для идентификации вагонов на американской железной дороге (система KarTrak), в 1968 прожектор заменили лазерным лучом, что позволило повысить точность и уменьшить размер считывателя.

В 1973г появился формат «универсального кода продукта» (Universal Product Code), и в 1974 с использованием сканера кодов был продан первый продукт (жевательная резинка Wrigley’s — это же США;) в супермаркете. В 1984 треть магазинов использовали штриходы, в России же они начали использоваться примерно с 90х годов.

Разных кодов под разные задачи сейчас используется довольно много, к примеру, последовательность «12345678» может быть представлена такими способами (и это еще не все): Штрих-код: расшифровка, виды, структура, применение

Приступим к побитовому разбору. Далее, все ниженаписанное будет относиться к виду «Code-128» — просто потому, что его формат довольно простой и понятный. Желающие поэкспериментировать с другими видами, могут открыть онлайн-генератор и посмотреть самостоятельно.

На первый взгляд штрихкод кажется просто беспорядочной последовательностью линий, на самом деле, его структура четко фиксирована: Штрих-код: расшифровка, виды, структура, применение 1 — Пустое место, нужное для четкого определения начала кода

2 — Стартовый символ. Для Code-128 возможны 3 варианта (называемых А, В и С): 11010000100, 11010010000 или 11010011100, им соответствуют разные кодовые таблицы (подробнее в Википедии).

3 — Собственно код, содержащий нужные нам данные 4 — Контрольная сумма 5 — Стоп символ. Для Code-128 это 1100011101011. 6(1) — Пустое место. Теперь о том, как кодируются биты. Тут все очень просто — если взять ширину самой тонкой линии за «1», то линия двойной ширины даст код «11», тройная «111», и так далее. Пустое место будет «0» или «00» или «000» по тому же самому принципу. Желающие могут сравнить стартовый код на картинке, чтобы убедиться что правило выполняется. Теперь можно начинать программировать.

Получаем битовую последовательность

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

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

image_path = «barcode.jpg»
img = Image.open(image_path)
width, height = img.size
basewidth = 4*width
img = img.resize((basewidth, height), Image.ANTIALIAS)
hor_line_bw = img.crop((0, int(height/2), basewidth, int(height/2) + 1)).convert('L')
hor_data = np.

asarray(hor_line_bw, dtype=»int32″)[0]
На штрихкоде черному соответствует «1», а в RGB наоборот, 0, так что массив нужно инвертировать. Заодно вычислим среднее значение. hor_data = 255 — hor_data
avg = np.average(hor_data)

plt.plot(hor_data)
plt.show()
Запускаем программу, чтобы убедиться, что баркод загружен корректно: Штрих-код: расшифровка, виды, структура, применение Теперь нужно определить ширину одного «бита». Для этого мы выделим начало стартовой последовательности «1101», записывая моменты перехода графика через среднюю линию. pos1, pos2 = -1, -1
bits = «»
for p in range(basewidth — 2):
if hor_data[p] < avg and hor_data[p + 1] > avg:
bits += «1»
if pos1 == -1:
pos1 = p
if bits == «101»:
pos2 = p
break
if hor_data[p] > avg and hor_data[p + 1] < avg: bits += "0" bit_width = int((pos2 - pos1)/3) Мы записываем только переходы через середину, так что код «1101» будет записан как «101», но нам этого достаточно чтобы узнать его ширину в пикселах. Теперь собственно декодирование. Находим очередной переход через середину, и определяем число бит, попавших в интервал. Поскольку совпадение не абсолютное (код может быть слегка изогнут или растянут), используем округление. bits = "" for p in range(basewidth - 2): if hor_data[p] > avg and hor_data[p + 1] < avg: interval = p - pos1 cnt = interval/bit_width bits += "1"*int(round(cnt)) pos1 = p if hor_data[p] < avg and hor_data[p + 1] > avg:
interval = p — pos1
cnt = interval/bit_width
bits += «0»*int(round(cnt))
pos1 = p
Не уверен что это оптимальный вариант, возможно, есть способ лучше, желающие могут написать в х. Если все было сделано правильно, то мы получаем на выходе примерно такую последовательность:

  • 11010010000110001010001000110100010001101110100011011101000111011011 01100110011000101000101000110001000101100011000101110110011011001111
  • 00010101100011101011

Декодирование

Здесь никаких сложностей в принципе, нет. Символы в Code-128 кодируются 11-битным кодом, который имеет 3 разновидности (А, В и С) и может хранить либо разные кодировки символов, либо цифры от 00 до 99. В нашем случае, начало последовательности 11010010000, что соответствует «Code B».

Было жутко влом вбивать вручную все коды из Википедии, поэтому таблица была просто скопирована из браузера и ее парсинг был тоже сделан на Python (hint: на продакшене так делать не надо).

CODE128_CHART = «»»
0 _ _ 00 32 S 11011001100 212222
1 ! ! 01 33 ! 11001101100 222122
2 » » 02 34 » 11001100110 222221
3 # # 03 35 # 10010011000 121223

93 GS } 93 125 } 10100011110 111341
94 RS ~ 94 126 ~ 10001011110 131141
103 Start Start A 208 SCA 11010000100 211412
104 Start Start B 209 SCB 11010010000 211214
105 Start Start C 210 SCC 11010011100 211232
106 Stop Stop — — — 11000111010 233111″»».

split()
SYMBOLS = [value for value in CODE128_CHART[6::8]]
VALUESB = [value for value in CODE128_CHART[2::8]]
CODE128B = dict(zip(SYMBOLS, VALUESB))
Теперь осталось самое простое.

Разбиваем нашу битовую последовательность на 11-символьные блоки: sym_len = 11
symbols = [bits[i:i+sym_len] for i in range(0, len(bits), sym_len)]
Наконец, формируем строку и выводим ее на экран: str_out = «»
for sym in symbols:
if CODE128A[sym] == 'Start':
continue
if CODE128A[sym] == 'Stop':
break
str_out += CODE128A[sym]
print(» «, sym, CODE128A[sym])

print(«Str:», str_out)
Ответ на то, что закодировано в таблице, приводить не буду, пусть это будет домашним заданием для читателей (использование готовых программ для смартфонов будет считаться читерством:). В коде также не реализована проверка CRC, желающие могут сделать это самостоятельно.

Разумеется, алгоритм неидеален, и был написан за полчаса. Для более профессиональных целей есть готовые библиотеки, например pyzbar. Код с использованием такой библиотеки займет всего 4 строчки:

from pyzbar.pyzbar import decode

img = Image.open(image_path)
decode = decode(img)
print(decode)
(предварительно нужно установить библиотеку, введя команду «pip install pyzbar»)

Дополнение: о подсчете CRC написал в х пользователь vinograd19:

Интересна история контрольной цифры. Она возникла эволюционно. Контрольная цифра нужна для того, чтобы избежать неправильного декодирования. Если штрихкод был 1234, а его распознали как 7234, то нужна валидация, которая предупредит замену 1 на 7. Валидация может быть неточная, чтобы хотя бы в 90% невалидные номера определялись заранее. 1-й подход: Давайте просто возьмем сумму.

Чтобы в остатке от деления на 10 был 0. Ну то есть первые 12 символов несут информационную нагрузку, а последняя цифры подбирается так, чтобы сумма цифр делилась на 10. Декодируем последовательность, если сумма не делится на десять — значит декодировали с багом и нужно сделать это еще раз. Например, код 1234 — валидный. 1+2+3+4 = 10. Код 1216 — тоже валидный, а вот 1218 — нет.

Это позволяет избежать проблем с автоматикой. Однако в момент создания штрихкодов был фоллбек в виде набивания номер на клавишах. И там есть плохой кейс: если поменять порядок следования двух цифр, то контрольная сумма не меняется, и это плохо. То есть если штрихкод 1234 был вбит как 2134, контрольная сумма сойдется, а вот номер мы вбили неправильный.

Оказывается, неправильный порядок цифр — это распространенный кейс, если стучать по клавишам быстро. 2-й подход. Хорошо, давайте сумму сделаем чуть сложнее. Чтобы цифры на четных местах учитывались дважды. Тогда при изменении порядка, сумма точно не сойдется к нужной. Например код 2364 валидный (2 + 3+3 + 6 + 4+4 = 20), а код 3264 — невалидный (3+ 2+2 + 6 + 4+4 = 19).

Читайте также:  Будущий учет расходов на санаторий и отдых для персонала

Но тут оказался еще один плохой пример вбития. Некоторые клавиатуры такие, что десять цифр располагаются в два ряда. первый ряд 12345 и под ним второй второй ряд 67890. Если вместо клавишы «1» нажать правее клавишу «2», то контрольная сумма предупредит неправильный ввод. А вот если вместо клавишу «1» нажать ниже клавишу «6» — то может не предупредить.

Ведь 6=1+5, и в случае когда эта цифра стоит на четном месте при вычислении контрольной суммы, мы имеем 2*6 = 2*1 + 2*5. То есть контрольная сумму увеличилась ровно на 10, поэтому ее последняя цифра не изменилась. Например контрольные суммы кодв 2134 и 2634 одинаковые. Та же ошибка будет, если мы вместо 2 нажмем 7, вместо 3 нажмем 8 и тд. 3-й подход.

Ок, давайте что ли возьмем опять сумму, только цифры, стоящие на четных местах будем учитывать… трижды. То есть код 1234565 — валидный, потому как 1 + 2*3 + 3 + 4*3 + 5 + 6*3 +5 = 50.

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

Заключение

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

Это сделано для того, чтобы в случае нечитабельности кода, оператор мог ввести его вручную. Так что узнать содержимое штрихкода обычно просто — достаточно посмотреть на текст под ним.

Как подсказали в х, наиболее популярным в торговле является код EAN-13, битовое кодирование там такое же, а структуру символов желающие могут посмотреть самостоятельно.

Если у читателей не пропал интерес, отдельно можно рассмотреть QR-коды.

Спасибо за внимание.

Штрих-код: расшифровка, виды, структура, применение

Штриховой код представляет собой вид информации, наносимой на упаковку товара, и дающей представление об основных свойствах того или иного товара. Наносится штрих-код либо в виде последовательно располагаемых черных и белых полос, являющихся продолжением идеи азбуки Морзе, либо в виде геометрических рисунков, расположенных в определенной последовательности.

Вопрос: Можно ли внести в форму товарной накладной N ТОРГ-12 такой дополнительный реквизит, как штрихкод?
Посмотреть ответ

Расшифровка и структура

Штрих-код: расшифровка, виды, структура, применение

Тринадцатизначный код EAN разделяется на отдельные структурные зоны:

  • 3 цифры для префикса, означающего код национальной (региональной) организации, в реестрах которой зарегистрирован производитель. Будет неправильным отнесение этого 3-значного префикса к коду страны-производителя. Это именно код регистрирующей организации, которая может находиться совсем в другой стране;
  • Как получить код товара и нанести маркировку?

  • от 4 до 6 цифр для номера регистрации производителя или дистрибьютора товара;
  • 3-5 цифр для кода товара. Эти цифры не имеют отношения к характеристикам товара по цвету, весу и т.д. Это – номер товара, под которым он зарегистрирован в базе данных продавца, в которой, в свою очередь, под порядковым номером со штрих-кода зарегистрированы наименование товара, его вес и цена;
  • от 1 до 2 цифр – внутренний код изготовителя, отражающий некие производственные процессы;
  • одна цифра для контрольного числа, необходимого для запуска считывания сканером;
  • опциональное поле со знаком «>», означающим «свободную зону».

Сравнение технологий обычного штрихкодирования и радиочастотных RFID-меток

Расчёт контрольной цифры в штрих-коде

Воспользуйтесь приведённым ниже алгоритмом:

  1. Сложите цифры, находящиеся на четных местах: 2+4+6+8+0+2=22
  2. Полученную сумму умножьте на 3: 22*3=66
  3. Сложите цифры, находящиеся на нечетных местах (кроме последней, контрольной): 1+3+5+7+9+1=26
  4. Сложите числа, полученные в п.2 и п.3: 66+26=92
  5. Отбросьте десятки: 92-90=2
  6. Из 10 вычтите полученное в п.5: 10-2=8

Полученная цифра и есть контрольная. Если не совпала — товар может быть произведён незаконно.

Штрих-коды стран производителей

Код производителя
Страна
Национальная организация EAN/UCC
00-13 США и Канада UCC (U.S.A. & Canada)
30-37 Франция GENCOD-EAN France
380 Болгария BCCI (Bulgaria)
383 Словения EAN Slovenia
385 Хорватия EAN Croatia
387 Босния и Герцеговина EAN-BIH (Bosnia-Herzegovina)
400-440 Германия CCG (Germany)
45-49 Япония Distribution Code Center — DCC (Japan)
460-469 Россия UNISCAN / EAN RUSSIA (Russian Federation)
471 Тайвань EAN Taiwan
474 Эстония EAN Eesti (Estonia)
475 Латвия EAN Latvia
476 Азербайджан EAN Azerbaijan
477 Литва EAN Lithuania
478 Узбекистан EAN Uzbekistan
479 Шри-Ланка EAN Sri Lanka
480 Филиппины PANC (Philippines)
481 Беларусь EAN Belarus
482 Украина EAN Ukraine
484 Молдова EAN Moldova
485 Армения EAN Armenia
486 Грузия EAN Georgia
487 Казахстан EAN Kazakhstan
489 Гонконг HKANA (Hong Kong)
50 Великобритания E Centre UK
520 Греция HELLCAN — EAN HELLAS (Greece)
528 Ливан EAN Lebanon
529 Кипр EAN Cyprus
531 Македония EAN-MAC (FYR Macedonia)
535 Мальта EAN Malta
539 Ирландия EAN Ireland
54 Бельгия, Люксембург ICODIF/EAN Belgium.Luxembourg
560 Португалия CODIPOR (Portugal)
569 Исландия EAN Iceland
57 Дания EAN Danmark
590 Польша EAN Poland
594 Румыния EAN Romania
599 Венгрия EAN Hungary
600-601 Южная Африка EAN South Africa
609 Маврикий EAN Mauritius
611 Марокко EAN Maroc (Marocco)
613 Алжир EAN Algeria
616 Кения EAN Kenya
619 Тунис TUNICODE (Tunisia)
621 Сирия EAN Syria
622 Египет EAN Egypt
624 Ливия EAN Libya
625 Иордания EAN Jordan
626 Иран EAN Iran
627 Кувейт EAN Kuwait
628 Саудовская Аравия EAN Saudi Arabia
629 Объединенные Арабские Эмираты EAN Emirates
64 Финляндия EAN Finland
690-693 Китай Article Numbering Centre of China — ANCC (China)
70 Норвегия EAN Norge (Norway)
729 Израиль Israeli Bar Code Association — EAN Israel
73 Швеция EAN Sweden
740 Гватемала EAN Guatemala
741 Сальвадор EAN El Salvador
742 Гондурас EAN Honduras
743 Никарагуа EAN Nikaragua
744 Коста-Рика EAN Costa Rica
745 Панама EAN Panama
746 Доминиканская Республика EAN Republica Dominicana
750 Мексика AMECE (Mexico)
759 Венесуэла EAN Venezuela
76 Швейцария EAN (Schweiz, Suisse, Svizzera)
770 Колумбия IAC (Colombia)
773 Уругвай EAN Uruguay
775 Перу EAN Peru
777 Боливия EAN Bolivia
779 Аргентина CODIGO — EAN Argentina
780 Чили EAN Chile
784 Парагвай EAN Paraguay
786 Эквадор ECOP (Ecuador)
789 Бразилия EAN Brazil
80-83 Италия INDICOD (Italy)
84 Испания AECOC (Spain)
850 Куба Camera de Comercio de la Republica de Cuba (Cuba)
858 Словакия EAN Slovakia
859 Чехия EAN Czech
860 Югославия EAN YU (Yugoslavia)
867 Северная Корея EAN DPR Korea (North Korea)
869 Турция Union of Chambers of Commerce of Turkey (Turkey)
87 Нидерланды EAN Nederland (Netherlands)
880 Южная Корея EAN Korea (South Korea)
885 Таиланд EAN Thailand
888 Сингапур SANC (Singapore)
890 Индия EAN India
893 Вьетнам EAN Vietnam
899 Индонезия EAN Indonesia
90-91 Австрия EAN Austria
93 Австралия EAN Australia
94 Новая Зеландия EAN New Zealand
955 Малайзия Malaysian Article Numbering Council (MANC)
958 Макао EAN Macau

Назначение штрих-кода

  • Введение в действие штрихового кода имело место в 1974 году, хоть патент на его изобретение был выдан в 1962 году.
  • Изначально назначением штрих-кода было нанесение маркировочных признаков на товары потребления с целью упрощения процедуры передачи товаров на реализацию и их последующей продажи конечным потребителям.
  • В настоящее время штриховой код имеет и иные функции, а именно:
  • функцию идентификации товара при помощи сканеров;
  • функцию учета и контроля товаров на складах;
  • логистическую функцию – транспортировку, разгрузку, погрузку и т.д.;
  • функцию оптимизации обслуживания;
  • статистическую функцию, необходимую для исследований в сфере маркетинга.
Читайте также:  Новые правила исчисления пеней: с какого числа действуют?

Местом нанесения штрихового кода является упаковка товара, а способом его нанесения – приклеивание ярлыков с нанесенными на них печатными штрих-кодами.

Виды штрих-кодов

Существует два вида штриховых кодов, дифференцируемых по типу наносимых на товар графических изображений: линейный и двумерный. Различие состоит в способе кодирования информации и в способе ее считывания.

Линейный код читается по горизонтали, то есть в одном направлении. К линейным штрих-кодам относятся следующие подвиды, различающиеся, в том числе, и по количеству включаемых в код символов. Например, код EAN имеет два варианта – восьмизначный и тринадцатизначный. Логично предположить, что 13-значный код включает в себя больший объем информации о товаре.

Однако по сравнению с двумерными кодами все линейные штриховые коды обладают относительно малой информативной емкостью.

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

Дополнительно двумерные штриховые коды дифференцируются на:

  • коды с несколькими уровнями (stacked), представляющие собой совокупность линейных кодов, расположенных друг над другом;
  • матричные, то есть представляющие собой плотное размещение информации по вертикали.

Современные двумерные штриховые коды могут вмещать в себя, в зависимости от количества слоев, от 7 до 1900 байт информации о товаре.

Применение в штрих-кодов в РФ

В Российской Федерации наиболее распространенным видом штриховых кодов являются линейный 13-значный и линейный 8-значный.

Предполагается, что в ближайшее время в РФ будет введен в действие расширенный штриховой код, в который будет вноситься информация о дополнительных характеристиках товара. Например:

  • при нанесении штрих-кода на мясную продукцию будет дополнительно вводиться информация о дате забоя и о способе выращивания скота у производителя;
  • при нанесении штрих-кода на рыбную продукцию предполагается вводить информацию о количестве улова и о способе раздела тушек рыбы.

Считывание

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

В настоящее время существуют два вида сканеров – стационарные, то есть кассовые, и портативные, чаще всего выглядящие как небольшая трубка с читающим устройством на одном из ее концов.

Применение того или иного вида сканера обусловлено их разрешительной способностью при считывании информации, объемом товаров, товарооборотом и количеством покупателей.

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

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

Штрих код: что это, каким бывает и как используется

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

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

В статье разберемся, какие бывают штрих коды, по какому принципу они работают, и какие сведения содержат.

Оборудование для считывания штрихкодов. Доставим в любую точку РФ!

Штрихкод на товаре: для чего нужен

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

Для чего нужен штрих код на товаре? Он предоставляет основные характеристики изделий, тем самым облегчает и ускоряет работу с ними на различных предприятиях.

Зачем нужен штрих код:

  • в торговле — для упрощения процесса продаж;
  • на складах — для автоматизации бизнес-процессов (приемки, отгрузки, инвентаризации и прочих);
  • в охране — для учета перемещения людей по территории;
  • в почтовых службах — для отслеживания отправлений;
  • в библиотеках — для учета перемещения книг и читателей.

Виды и типы штрих кодов

Существуют два способа кодирования:

  • линейный — позволяет зашифровать небольшой объем информации (до 20–30 символов). Код такого типа может считываться только в одном направлении (по горизонтали), распознается даже самым недорогим и простым сканером.
  • двумерный — более сложный способ, с помощью которого можно зашифровать увеличенный объем данных (до 2 Кб). Расшифровывается в двух направлениях (по горизонтали и вертикали). Для считывания таких штрихкодов необходимы 2D-сканеры.

Рассмотрим виды и основные типы штрихкодов подробнее.

Линейный штрих код: описание, какие бывают

Линейный (одномерный или 1D-) штрих код представляет собой рисунок, состоящий из комбинации черных полос разной ширины и пробелов между ними. Под линиями располагаются цифры, дублирующие информацию.

Штрихкод содержит закодированные по определенным стандартам текстовые и/или числовые данные. Их запись обеспечивается двоичной системой кодирования, где полосы обозначаются символом «1», а пробелы — «0».

Характерные особенности штрихкода:

  • распознается любым видом сканера;
  • применяется для автоматизации товарных оборотов;
  • занимает большую площадь на этикетке, упаковке;
  • с трудом читается или не читается вовсе, если имеет какие-либо повреждения.

Какие бывают 1D-штрихкоды (наиболее распространенные типы):

EAN — самый популярный тип линейных штрихкодов, используемый практически во всех торговых точках. Обычно кодировка состоит из 13 символов, но для небольших упаковок, где не хватает места для размещения полноразмерного кода, может использоваться EAN-8.

Цифры, расположенные под вертикальными штрихами, дублируют данные, зашифрованные в комбинации полос. Это нужно для того, чтобы при повреждении кода можно было получить информацию, вбив в учетную базу числовое сочетание.

Как выглядит штрих код EAN-13:

ITF-14 — обычно используется для учета оптовых партий товаров и организации складского хранения. Содержит 14 цифровых символов. Отличительная особенность кода — черная полоса по периметру, которая нужна для снижения вероятности неправильного чтения.

ISBN — используется в библиотечном деле, по сути это книжный паспорт. Литературу без такого кода можно продавать, это не является нарушением закона, но в библиотеку ее не примут, потому что не смогут зарегистрировать в базе.

Двумерный штрих код: описание, какие бывают

Двумерный (2D-) штрихкод — изображение в виде прямоугольника или квадрата, которое считывается сразу в двух плоскостях.

Такой способ шифрования позволяет экономить место на этикетке или упаковке и при этом хранить большой объем данных о товаре (до нескольких страниц текста).

Применяется в торговле, в области документооборота, удостоверения личности, в складском учете, при маркировке товаров, транспортировке грузов и не только.

Характерные особенности кода:

  • состоит из последовательности фигур и модулей;
  • для считывания необходим 2D-сканер, обычный линейный с этой задачей не справляется;
  • распознается, даже когда есть серьезные повреждения (царапины, потертости, выцветание).
Читайте также:  Нельзя освободиться от НДС сразу после регистрации ИП даже при низкой выручке

На какие две распространенные группы делятся 2D-штрих коды:

QR-код — пожалуй, самый популярный тип. Он активно используется в торговле, рекламе, маркетинге, туризме, сервисах продаж электронных билетов и многих других сферах.

Любой QR-код содержит несколько обязательных элементов — 3 квадрата, благодаря которым сканер может определять положение рисунка, а также исправлять искажение.

Data Matrix — код, представляющий собой изображение из модулей контрастных цветов (чаще черного и белого). С двух сторон ограничивается линиями, благодаря которым сканер понимает ориентацию штрихкода. Алгоритмы шифрования позволяют восстанавливать утраченные фрагменты.

В России применяется для обязательной маркировки продукции. Такой код может иметь размеры 0,5 × 0,5 см, благодаря этому его удобно размещать на небольших упаковках, например, пачках сигарет или лекарств.

Подскажем, какой сканер штрихкодов из нашего каталога подойдет под ваш бизнес.

Какую информацию несет в себе штрих код

Наиболее распространенная в России кодировка — EAN (13 или 8 символов). Второй вариант используется, когда нет физической возможности расположить на упаковке или товаре первый, расширенный тип.

Штрихкод включает:

первые 1–3 символа — код национальной компании, в чьих реестрах зарегистрирован производитель товара. Можно было бы сказать, что это информация о стране-производителе, но это не совсем корректно, поскольку регистрирующая организация может находиться в другом государстве.

Каждая страна имеет одну или несколько уникальных комбинаций кода, например, для России это 460–469, США и Канады — 00–13, Китая — 690–693. Номера присваиваются Международной Ассоциацией товарной нумерации (GS1).

вторые 4–5 цифр — номер регистрации компании-изготовителя. Он выдается национальным органом страны, в которой был произведен товар.

следующие 3–5 символов — сведения о товаре. Номер, под которым продукция занесена в базу данных компании-продавца. И уже в ней под порядковым номером со штрихкода зарегистрированы название товара, габариты, стоимость и другие характеристики.

последняя цифра — контрольное число, необходимое для проверки сканером подлинности товара.

поле, содержащее знак «>» — «свободная зона» (пустое пространство, по которому сканер определяет конец штрихкода).

Информация, зашифрованная в штрих коде, как правило, не предназначена для покупателей. Но с введением в России обязательной маркировки кодами Data Matrix, это изменилось. Теперь содержание штрихкода доступно для потребителей и является свидетельством качества продукции.

Какую информацию несет в себе штрихкод (что зашифровано в нем):

  • наименование объекта, товара;
  • компания-производитель или импортер;
  • артикул;
  • цвет;
  • масса;
  • размер;
  • срок годности и др.

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

Что в штрихкоде стандартизировано

И штрихкоды, и считывающие устройства должны быть стандартизированы. Нормы позаимствованы у Национального института США (ANSI) и Европейского комитета по стандартизации (СЕН). У нас они отражены в ГОСТе ИСО/МЭК 15420-2001*. В РФ, как правило, используются два вида стандартизированных штрихкодов: EAN — для продуктовых упаковок, ITF-14 — для транспортных.

Что может быть стандартизировано в самом штрихкоде? Например, номинальные размеры кода. Для EAN ширина и высота символа составляют 37,29 мм и 25,93 мм, высота штриха — 22,85 мм. Стандарт позволяет пропорционально увеличивать элементы кода до 200% или уменьшать до 80% от указанных номинальных значений.

Если говорить о двумерных штрихкодах, то Data Matrix является мировым стандартом Международной организации GS1, поскольку по результатам тестовых проектов показал наилучший результат среди прочих 2D-кодов. Средства идентификации должны наноситься в соответствии с требованиями национального стандарта РФ ГОСТ Р ИСО/МЭК 16022-2008*.

Минимальные рекомендованные размеры кода — 24 × 24 символа (6,12–14,76 мм), в отдельных вариантах — 0,255–0,615 мм. Вокруг Data Matrix располагается свободная зона, ширина которой должна быть в 4 раза больше одного символа либо составлять 17% от ширины Data Matrix. Сокращать свободную область нельзя, так как это приведет к ухудшению читаемости кода.

Также запрещено ламинировать идентификатор, покрывать пленкой и лаком.

Преимущества работы со штрихкодами

Использование системы штрихкодирования имеет ряд преимуществ для компании:

  • сведение ошибок к минимуму — когда каждый товар имеет персональное средство идентификации, вероятность пересортицы или другой ошибки минимальна;
  • упрощение учета — все данные, полученные при сканировании штрихкодов, вносятся в единую базу, что автоматизирует ведение как товарного, так и бухгалтерского учета;
  • рост эффективности и производительности труда — все процессы, связанные с движением, размещением и комплектацией ТМЦ (товарно-материальных ценностей) за счет использования штрихкодов выполняются намного быстрее (например, ввод информации в ПК с помощью сканера штрихкодов как минимум в 100 раз быстрее по сравнению с ручным вводом с клавиатуры);
  • увеличение прибыли компании — за счет роста производительности труда и оптимизации бизнес-процессов.

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

При продаже товара кассир считывает код, информация сравнивается с той, что имеется в учетной базе магазина или склада, стоимость автоматически пробивается на кассе.

Если компания занимается продажей продукции, подлежащей обязательной маркировке, порядок действий несколько сложнее. Для начала необходимо зарегистрироваться в единой системе прослеживаемости «Честный ЗНАК» при помощи электронной подписи, описать остатки товара в магазине и на складе (для розницы) и заказать на них коды Data Matrix, затем распечатать и наклеить на продукцию.

При реализации товаров кассир сканирует штрихкоды и выдает чек покупателю. Данные с онлайн-кассы автоматически поступают в «Честный ЗНАК», и коды маркировки выводятся из оборота.

Автоматизация работы со штихкодами и обязательной маркировкой с DataMobile

Чтобы работать с товарами, подлежащими обязательной маркировке, в соответствии с требованиями законодательства, необходимо грамотное программное обеспечение. DataMobile Маркировка — решение, разработанное специально для автоматизации учета товаров с кодами Data Matrix.

Софт позволяет:

  • получать информацию о продукции посредством расшифровки маркировочного кода;
  • проверять данные, указанные в документах на приемку, с фактически поступившими товарами (единично или партиями);
  • создавать документы на отгрузку для передачи сведений в «Честный ЗНАК»;
  • проводить инвентаризацию, списывать и перемещать товары;
  • вводить коды маркировки в оборот;
  • работать с групповыми упаковками, создавать собственные;
  • выводить коды идентификации на печать.

Работать с ПО DataMobile Маркировка удобно благодаря быстрой интеграции с любой товароучетной системой, простой настройке галочками, понятному интерфейсу, поддержке большинства современных моделей сканеров штрихкодов и терминалов сбора данных (ТСД). Также важным преимуществом являются регулярные бесплатные обновления в соответствии с меняющимися требованиями законодательства. Чтобы выполнять операции с новыми категориями товаров, не нужно покупать или устанавливать другое ПО.

Функциональность софта можно расширять за счет перехода на старшую версию (по разнице в цене) и подключения дополнительных модулей (ЕГАИС, RFID, Конструктор).

Автоматизируем работу с маркированными товарами! Бесплатная консультация.

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

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

Ссылки на материалы, законы, постановления, использованные в статье:

Ссылка на основную публикацию
Adblock
detector