Обновлено 26.08.2019

Штрих-кодирование

Программа поддерживает работу с одномерными (линейными) и двухмерными штрих-кодами.

Доступны следующие возможности:

Добавить новый штрих-код: необходимо выбрать одномерный или двухмерный штрих-код.
Править параметры штрих-кода.

Одномерный штрих код

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

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

Существует два способа вывести одномерный штрих-код в документ:

  1. С помощью соответствующего штрих-кодового шрифта
  2. С помощью данного генератора штрих-кодов

Поддерживаемые линейные (1d) виды штрих-кодов:

Название Описание
Code 25 Industrial Code 2 of 5 Промышленная Версия
Code 25 Interleaved Code 2 of 5 Interleaved (известно как ITF или Code 2/5 IL)- высокоплотный, с изменяемой длиной, только цифровой штрих-код
Code 25 Matrix Code 2 of 5 Matrix (известно как Стандарт 2of5)
Code128A Code 128 Подгруппа A - символы в формате ASCII от 00 до 95 (цифры от «0» до «9» и буквы от «A» до «Z») и специальные символы
Code128B Code 128 Подгруппа B - символы в формате ASCII от 32 до 127 (цифры от «0» до «9», буквы от «A» до «Z» и от «a» до «z») и специальные символы
Code128C Code 128 Подгруппа C - символы в формате ASCII от 00 до 99 (только для числовых кодов), штрих код чрезвычайно компактный.
Code39 Code 3 of 9 известно как Code-39
Code39 Extended Code 3 of 9 Расширенная Версия (ASCII)
Code93 Code 93
Code93 Extended Code 93 Расширенная Версия (ASCII)
Codabar Штрих-код переменной длины для кодирования числовых данных. В основном используется библиотеками, банками крови и плазмы, а также курьерской службой FedEx. Набор символов состоит из чисел от 0 до 9 плюс шесть специальных символов : / . + - $
EAN128A European Article Number, EAN (европейский номер товара) — европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Является надмножеством американского стандарта UPC.
EAN-128, также известен как UCC-128 или GS1-128, кодируется любое количество букв и цифр, объединенных в регламентированные группы.
EAN128B EAN-128, также известен как UCC-128 или GS1-128, кодируется любое количество букв и цифр, объединенных в регламентированные группы.
EAN128C EAN-128, также известен как UCC-128 или GS1-128, кодируется любое количество букв и цифр, объединенных в регламентированные группы.
EAN13 EAN-13 (также JAN или IAN), DPD Code - кодируется 13 цифр.
EAN8 EAN-8 (также JAN или IAN) - кодируется 8 цифр.
MSI Варианты штрихкодов MSI с различными контрольными цифрами
PostNet штрих-код фиксированной длины для кодирования числовых данных. Используется американской почтовой службой для сортировки почты. С помощью PostNet кодируются 5- или 9-значные почтовые индексы, а также 11-значные коды доставки.
UPC_A 12-значный штрих-код фиксированной длины для кодирования числовых данных. Используется в американских розничных магазинах для идентификации товаров. Уникальные штриховые коды UPC-A разработаны UC-советом. Если Вы собираетесь продавать свои товары в американских розничных магазинах, то скорее всего вам придется позаботиться о наличии штрих-кода UPC-A на вашей продукции.
UPC_E0 6-значный штрих-код фиксированной длины для кодирования числовых данных. UPC-E - сокращенный вариант штрих-кода UPC-A. Данный стандарт используется для идентификации мелких розничных товаров, размеры которых не позволяют разместить на них полный штрих-код UPC-A.
UPC_E1 6-значный штрих-код фиксированной длины для кодирования числовых данных. UPC-E - сокращенный вариант штрих-кода UPC-A. Данный стандарт используется для идентификации мелких розничных товаров, размеры которых не позволяют разместить на них полный штрих-код UPC-A.
UPC Supp2 UPC версия E с дополнительными 2 цифрами
UPC Supp5 UPC версия E с дополнительными 5 цифрами
Можно более гибко отстроить основаные параметры штрих-кода:
  • Высота штрих-кода (в пикселах)
  • Отступ сверху и слева
  • Пропорции - Соотношение между широкой и узкой линиями в штрих-коде. Нормальные значения находятся от 2,0 до 3,0
  • Ширина самой маленькой линии штрихового кода
  • Угол наклона - от 0 до 359 градусов
  • Выводить на штрих-коде текст
    1. Не выводить
    2. Выводить только код
    3. Выводить только тип, например 'Code128'
    4. Выводить и код и тип
  • Расчет контрольной суммы (KC) для Code39, EAN8 или EAN13 - эти штрихкода допускают использования контрольной суммы в случаях, когда необходимо повысить надёжность кодируемых данных.

Двухмерный штрих-код

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

Название QR-код происходит от английских слов «Quick Response», что в переводе означает «быстрый отклик». «Быстрый отклик» характеризует основную особенность QR-кода – возможность лёгкого чтения многими вычислительными устройствами, быстро сканирующими и распознающими содержащуюся в нём информацию.

Свойства двухмерного (2d) штрих-кода:

  • Наименование
  • Тип: QR-код
  • "Размер изображения" - это общий максимальный размер изображения, который определяется совокупным размером символов и «тихой зоны». Размер символа — ширина символа в коде от одной чёрной кромки до другой. Минимальная ширина «тихой зоны» — 4 модуля.
  • "Кодировка" по умолчанию "Auto", лучше так и оставить. Это означает, что программа сама выберет кодировку в зависимости от содержимого QR-кода.
  • "Отступ" - это ширина свободной или "тихой" зоны. По требованиям Сбербанка она равна 4X, где X - это т.н. модуль, т.е. мельчайший элемент QR-кода. Для соответствия разрешающей способности оптики типовых мобильных телефонов его размеры должны быть не менее 1 мм. Высокотехнологичные ручные сканеры с уменьшенной апертурой считывают и меньшие модули.
  • "Уровень коррекции ошибок" - L(7%), M(15%), Q(25%), H(30%). По требованиям Сбербанка минимальный уровень коррекции ошибок "M".

Размер картинки QR-кода зависит от:

  1. содержимое QR-кода, т.е. кодируемый текст
  2. размер "тихой" зоны - ширина полей вокруг штрихкода в столбцах/строках. Минимальная ширина, требуемая большинством QR-ридеров - 4.
  3. уровень коррекции ошибок L(7%), M(15%), Q(25%), H(30%) - определяет объем дополнительных данных, использующихся для восстановления информации при частичном повреждении или неправильном считывании штрихкода. Чем выше уровень, тем меньше информации можно записать в QR-код.
  4. Кодировка текста - кодировка, в которой текст записывается в QR-код.

Т.о. "Размер изображения" - это общий максимальный размер изображения. При формировании картинки сначала расчитывается базовое (минимально возможное) изображение QR-кода. Далее, если базовое изображение QR-кода меньше чем "Размер изображения", то кратно (в 2, 3 и т.д. раза) масштабируем картинку т.о., чтобы с учетом «тихой зоны» размер картинки QR-кода не выходил за рамки "Размера изображения". Это необходимо, чтобы не было искажений при масштабировании.

Максимальное количество символов, которые помещаются в один QR-код:

  1. цифры десятичной системы счисления — 7089;
  2. цифры десятичной системы счисления и буквы (латиница) — 4296;
  3. байты — 2953 (следовательно, около 2953 букв кириллицы в кодировке windows-1251 или около 1450 букв кириллицы в utf-8);
  4. иероглифы — 1817.

Вывести штрих-код на форму

Как вывести штрих-код, например, QR-код в счет-квитанцию в соответствии с требованиями Сбербанка:

  1. Настроить свойства QR-кода: кодировка текста (Windows-1251), размер "тихой" зоны (4), уровень коррекции ошибок (M-15%)
  2. В редакторе отчетов находим нужную счет-квитанцию и открываем свойства отчета на закладке "Столбцы".
  3. Далее находим поле с именем "ШтрихКод": тип "Символьный", выводит как "Штрих-код номер" указать номер "2". Это означает, что результат расчета этого поля будет выведен не в виде строки, а в виде картинки штрих-кода в котором зашифрована данная строка.
  4. Там же должен быть описан "Алгоритм расчета":
  5. *Расчитываем сумму в копейках
    СуммаКоп = НачИтого*100
    *Формируем строку для вывода, где ST00011 - кодировка Windows-1251
    *acc.code - л/с, acc.last_name - фамилия (из таблицы "accounts")...
    ШтрихКод = 'ST00011|Name=' + ИмяОрганизации + '|PersonalAcc=' + РасСчетОрг+'|BankName=' + БанкОрг + '|BIC=' + БикОрг + '|CorrespAcc=' + КорСчетОрг
    ШтрихКод = ШтрихКод + '|Sum=' + alltrim(str(СуммаКоп,10)) + '|PayeeINN=' + ИннОрг + '|PersAcc=' + alltrim(acc.code)
    ШтрихКод = ШтрихКод + '|lastName=' + acc.last_name + '|firstName=' + acc.first_name + '|middleName=' + acc.middle_name
    ШтрихКод = ШтрихКод + '|payerAddress=' + АдресПлательщика
    *В переменной "ШтрихКод" возвращаем результат
    return ШтрихКод
Наверх Задать вопрос