SetRetail10 ◾️ Уценка товара от срока годности с помощью Databar и EAN13+5

Публичное пространство

SetRetail10 ◾️ Уценка товара от срока годности с помощью Databar и EAN13+5

В базовой версии настройка парсинга GS1 Databar и EAN13+5 отсутствует!

 

Описание

Функциональность уценки/скидки по сроку годности учитывать дату окончания годности, получаемую из штрих‑кодов GS1 Databar (AI17 – YYMMDD, AI7003 – YYMMDDHHMM) и EAN13+5 (добавочные 5 символов: DDDYY или DDDHH). При сканировании касса извлекает дату/дату‑время из соответствующих секций, сверяет с текущими значениями и, если товар просрочен, блокирует продажу с информированием кассира.

Срок годности далее используется в рекламных акциях (например, кейс «Скидка по сроку годности…»): если дата годности близка к истечению или задана в условиях акции, касса рассчитывает скидку и применяет её к позиции. При этом данные о сроке годности могут сохраняться в позиции чека: как часть исходного скан‑строка и/или в плагинное свойство databar (при определённых настройках и для товаров с признаком партионности).

Ценность

  • Снижение списаний: запрет продажи просрочки и приоритизация товаров с истекающим сроком годности.

  • Соблюдение законодательства: контроль срока годности на кассе и на весах, исключение нарушений.

  • Ускорение обслуживания: автоматический разбор Databar/EAN13+5 и автоприменение скидки без ручных операций.

  • Точность учёта партий/ERP: сохранение данных Databar/партии в позиции чека для последующего экспорта.

 

Примеры

  • Databar со сроком годности просрочен → касса блокирует продажу, выводит сообщение о запрете.

  • Databar валиден и не просрочен → позиция добавляется; срок годности сохраняется и используется для расчёта скидки по акции/лояльности.

  • EAN13+5 (DDDYY или DDDHH) → касса распознаёт формат, проверяет срок годности; при валидности добавляет/при просрочке блокирует.

  • Товар без признака consignment → скидка по сроку годности применяется, но штрих‑код не пишется в плагинное свойство databar

  • Ошибка чтения ШК → ручной ввод: при consignment касса запросит СГ; без consignment товар добавится без запроса СГ (в соответствии с настройками).

Настройка

1. Для включения функциональности выполните скрипт в базе данных на сервере SetCentrum/SetRetail10 в базе данных set

По умолчанию настройка ean13plus5Type отсутствует.

SELECT add_property('CASH_BARCODE_PARSER', NULL, 'config', '{"ean13plus5Type": "EXPIRATION_DATE"}', 'Конфигурация парсера штрихкодов', 10 , 1, 0);

 

2. Включите настройки контроля сроков годности из Честного Знака.

  • Дата окончания срока годности от Честного Знака записывается в то же поле и в ту же структуру базы данных, если бы ее вводил кассир.

  • Рекламная акция не срабатывает, так как действует запрет продажи по истекшему сроку. В данном случае логика работает одинаково, что после ввода данных от кассира либо от Честного Знака.

Выполните скрипт (на примере молока) на сервере SetCentrum в базе данных set.

UPDATE sales_management_properties SET property_value='{"MILK": true}', send_status=0 WHERE property_key='check.excise.storeExpirationDateFromTrueApi';

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

Также производится передача даты окончания срока годности в составе плагинных свойств чека.

  • Если настройка включена, тогда выполняются следующие действия:

    • При получении даты окончания срока годности товара от сервиса ЧЗ сохраняется эта дата в свойстве позиции Дата окончания срока годности.

      • Если в свойстве позиции Дата окончания срока годности уже есть какая-либо дата, тогда обновляется это значение, заменяемое на дату, полученную из сервиса ЧЗ.

      • Если дата окончания срока годности в прошлом, т.е. товар просрочен, то происходит действие на основании других настроек плагина, т.е. запрещается продажа такого товара

    • Настройка будет включена по умолчанию для типа маркировки MILK после обновления на версию 10.3.30.0 или установки из дистрибутива.

  • Если настройка выключена, тогда выполняются следующие действия:

    • При получении даты окончания срока годности данного товара от сервиса ЧЗ сохраняется эта дата в свойстве позиции Дата окончания срока годности.

      • Если дата окончания срока годности в прошлом, т.е. товар просрочен, тогда происходит действие на основании других настроек плагина, т.е. запрещается продажа такого товара.

Вне зависимости от того, включена настройка или выключена, сохраняется дата окончания срока годности в составе плагинных свойств чека.

Название свойства: expirationDate

 

Способ разбора EAN13+5 и GS1 Databar

https://crystals.atlassian.net/browse/SRTB-4664

https://crystals.atlassian.net/browse/CR-4914

10.2.92.5

10.2.93.0

Возможность разбирать addon5 в EAN13+5 и секции 17/7003 GS1 Databar, как срок годности, только при наличии у товара признака Z-партионного учета.

Включение

  • Общая версия: {"ean13plus5Type": "SELLER_CODE", "useConsignmentFromGoods": "false"}

  • По умолчанию, соответственно для ean13plus5Type будет применяться, то значение, которое было установлено в базе  данных до этого useConsignmentFromGoods будет выключена.

 

  1. Выполните скрипт в базе данных

    set

UPDATE sales_management_properties SET property_value = '{"ean13plus5Type": "USE_CONSIGNMENT", "useConsignmentFromGoods": "true"}', send_status=0 WHERE module_name = 'CASH_BARCODE_PARSER' AND property_key = 'config';

Для отключения процесса разбора выполните скрипт:

UPDATE sales_management_properties SET property_value = '{"ean13plus5Type": "EXPIRATION_DATE", "useConsignmentFromGoods": "false"}', send_status=0 WHERE module_name = 'CASH_BARCODE_PARSER' AND property_key = 'config';
  1. Дождитесь, пока изменения спустятся на кассу.

  2. Перезагрузить кассу

Принципы работы

  • Это новый тип в настройке для addon5 штрих-кода EAN13+5 use_consignment, согласно которой при сканировании EAN13+5 на кассе, addon5 разбирается как срок годности только при наличии в товаре признака z-партионного учета (consignment). Если признак “consignment” у товара отсутствует, то addon5 воспринимается, как номер продавца (seller_code). В обоих случаях данные из addon5 сохраняются в чек. Данная настройка зависит от общей настройки “use_consignment_from_goods”.

  • use_consignment_from_goods:

    • Когда настройка use_consignment_from_goods включена (true) и при этом включена настройка use_consignment для addon5, то addon+5 в штрих-коде EAN13+5 будет восприниматься как срок годности товара только при наличии признака consignment в товаре. Срок годности проверяется кассовой системой. При этом требуется ввод срока годности в случае ошибки, данные записываются в чек и отправляются на сервер.

    • Когда настройка use_consignment_from_goods выключена (false), а тип настройки для addon5 - use_consignment, addon5 при сканировании воспринимается как срок годности без учета признака “consignment” в товаре (как в случае с expiration_date = 0 значение настройки, use_consignment не учитывается без общей настройки). Данные при этом записываются в чек.

    • Когда настройка use_consignment_from_goods включена (true), а тип настройки для addon5 - не use_consignment, addon5 при сканировании воспринимается и обрабатывается, согласно типу настройки для addon5 (expiration_date/seller_code/0 = expiration_date)

    • В случае с Databar, при включенной настройке use_consignment_from_goods (true), секции 17 и 7003 воспринимаются как срок годности только при наличии в товаре признака “consignment”: происходит проверка срока годности, данные записываются в чек. Если признак consignment в товаре отсутствует, то проверки срока годности не происходит, данные из секций не записываются в чек.

    • В случае с Databar, при выключенной настройке use_consignment_from_goods (false), секции 17 и 7003 воспринимаются как срок годности вне зависимости от наличия в товаре признака “consignment”: происходит проверка срока годности, данные записываются в чек.

      • Начиная с версии 10.4.24.0 для Databar идет проверка на срок годности вне зависимости от значения настройки use_consignment_from_goods или признака consignment в товаре. Однако в плагинное свойство записывается в зависимости от consignment и настройки use_consignment.

 

При реализации функциональности для Ленты в сборке включена настройка типа use_consignment для addon5 и новая настройка use_consignment_from_goods (настройка располагается в БД сервера в sales_management_properties).

Для остальных клиентов в российской сборке - addon5 имеет значение SELLER_CODE, use_consignment_from_goods - выключена.

В патче никаких изменений относительно этих настроек не требуется, соответственно для addon5 будет применяться то значение, которое было установлено в базе до этого, use_consignment_from_goods будет выключена.

Сценарии работы

Сценарий 1: Разбор EAN13+5

Предусловие: включена общая настройка use_consignment_from_goods”, включена настройка для addon5 типа “use_consignment”

  1. Сканируем товар на кассе с ШК EAN13+5

  2. Касса определяет у товара наличие признака Z-партионного учета

    1. Z- Признак обнаружен

      1. Касса разбирает последние 5 символов ШК как дату срока годности, проверяет, записывает в чек в плагинное свойство “databar”

    2. Z - Признак отсутствует

      1. Касса разбирает последние 5 символов ШК как номер продавца, записывает в чек в плагинное свойство “seller”

  3. Меняем значение для настройки addon5 на тип “expiration_date”

    1. Сканируем товар на кассе с ШК EAN13+5

      1. Касса разбирает последние 5 символов ШК как дату срока годности (вне зависимости от признака Z-партионного учета), проверяет, записывает в чек в плагинное свойство “databar”

  4. Меняем значение для настройки addon5 на тип seller_code

    1. Касса разбирает последние 5 символов ШК как код продавца, записывает в чек в плагинное свойство “seller”

  5. Меняем значение для настройки addon5 на пустое

    1. Касса разбирает последние 5 символов ШК как дату срока годности, без учета признака z-партионного учета, проверяет, записывает в чек в плагинное свойство “databar”

Сценарий 2: Разбор Databar

Предусловие: включена общая настройка “use_consignment_from_goods”

  1. Сканируем товар на кассе с секциями 17 или 7003

  2. Касса определяет у товара наличие признака Z-партионного учета

    1. Z- Признак обнаружен

      1. Касса разбирает секции как дату срока годности, проверяет, записывает данные в чек в плагинное свойство “databar”

    2. Z - Признак отсутствует

      1. Касса не проверяет срок годности, не записывает данные в чек.

  3. Отключаем настройку “use_consignment_from_goods”

  4. Сканируем товар на кассе с секциями 17 или 7003

    1. Касса разбирает секции как дату срока годности, проверяет, записывает данные в чек в плагинное свойство “databar”, без учета признака Z-партионного учета.

 

 

Статьи по работе со сроками годности и уценкой

 

Дополнительная функциональность

Заявление на возврат

Описано в общей статье операционного дня в Поиск чеков для типам штрих-кода GS1 Databar и EAN13+5 и заявление на возврат.

Экспорт в ERP

Описание плагинного свойства и пример экспорта для веб-сервиса на стороне ERP находятся в интеграционной документации в главе SapCar-параметр закодированный в GS1 Databar и EAN13+5

Режима порта сканера штрих-кода на кассе и его программирование

  • На сканере должен быть настроен режим EAN13+5.

  • Штрих-коды партионного учета сканируются только теми сканерами, в которых включен режим COM-порта, но сканер физически подключен по USB.

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

  • Перепрограммируйте сканер в зависимости от его модели, чтобы в нем был включен режим COM-порта.

При подключении USB-сканера выберите порт с названием SCANNER0.

Например, для сканера Datalogic QBT 2430 настройка режима EAN13+5 и режима COM-порта производится сканирование следующего QR-кода:

Поиск товара по GS1 Databar и EAN13+5 на сервере магазина

https://crystals.atlassian.net/browse/SRTE-2964

10.2.91.0

Начиная с версии 10.2.91.0, можно производить поиск товаров по GS1 Databar и EAN13+5.

Для включения парсинга и поиска по данному типу штрих-кодов включите настройку. Выполните скрипт в базе данных 

set.

select add_property('BARCODE_PARSER_EXCLUDED_SYMBOLS', null, 'config', '{"(": "", ")":"", "%":"","": "GS1_DELIMITER"}', 'Конфигурация исключённых символов для парсера штрихкодов', 10, 1, 0);

Штрих-код по-умолчанию в чеке и передача в ERP при поиске товара с Z-признаком на кассе не по штрих-коду

https://crystals.atlassian.net/browse/SRTB-4951

https://crystals.atlassian.net/browse/CR-5076

10.2.97.0

Возможность для IT-инженера, при поиске товара на кассе не по штрих-коду, записывать в чек штрих-код товара, чтобы в ERP идентифицировалась принадлежность к партии

В том случае, если поиск товара с Z-партионным учетом осуществляется на кассе не по штрих-коду (по наименованию, по коду, по группе, по кнопке), реализованы следующие правила:

  • Если у товара есть штрих-код по умолчанию, добавить данный штрих-код в чек в поле BARCODE;

  • Если у товара отсутствует штрих-код по умолчанию, добавить первый из списка штрих-код товара в поле BARCODE;

  • В случаях, когда штрих-код товара с признаком Z-партионности был просканирован, добавлять просканированный штрих-код в чек.

Сценарий использования

  1. Кассир производит поиск товара на кассе не по штрих-коду (по наименованию, по коду, по группе, по кнопке)

  2. Касса находит товар

    1. Товар содержит признак Z-партионности

      1. У товара есть штрих-код по умолчанию

        1. Касса записывает штрих-код товара по умолчанию в поле чека BARCODE

      2. У товара отсутствует штрих-код по умолчанию

        1. Касса производит поиск у товара первого из списка штрих-кода

          1. У товара есть в списке штрих-код: касса записывает данный штрих-код в поле чека BARCODE

          2. У товара отсутствует в списке штрих-код: касса записывает код товара (артикул) в поле чека BARCODE

    2. Товар не содержит признака Z-партионности

      1. Поле BARCODE не формируется

Учёт срока годности товара по данным из ШК Databar и EAN13+5

https://crystals.atlassian.net/browse/SRTB-4500

https://crystals.atlassian.net/browse/SRTB-4500

10.2.91.0

Databar

Описание

  • При успешном сканировании штрих-кода Databar проверяется секция Срок годности (AI7003 или AI17) на валидность. Если срок годности <= текущих значений даты и времени, то товар не может быть добавлен в чек.

  • Если срок годности > текущих значений даты и времени, то товар добавляется в чек.

  • Признак Z-партионности при этом НЕ учитывается.

  • Если при сканировании Databar в секции срока годности выставлено значение “0” или не соответствует по количеству 6 цифрам для AI17 и 10 цифрам для AI7003, то данные невалидны и товар не может быть добавлен в чек. Далее происходит переход к ручному вводу значений из ШК.

  • Если товар содержит признак Z-партионного учета, то система запрашивает ввод срока годности после идентификации товара.

  • Для товаров с Databar, но с отсутствующими секциями по сроку годности, наличие признака Z-партионного учета ни на что не влияет, товар добавляется в чек.

  • Ручной ввод срока годности:

    • В случаях, если ШК Databar не читается/поврежден поведение остается прежним - происходит ручной ввод данных из секции AI7003 или AI17. Для этого после ввода данных из секции Databar AI01 и идентификации товара, учитывается признак Z-партионности. Если у товара есть признак Z-партионности, касса предлагает ввести срок годности (данные из AI7003 или AI17), если признака нет - происходит добавление в чек, как обычного весового товара.

    • Если товар без секций AI17 и AI7003 в Databar содержат признак Z-партионного учета, то при ручном вводе система запросит срок годности. в этом случае необходимо обратиться в IT-службу.

Пример сценария: учет срока годности ШК GS1 Databar при сканировании

Предусловие: у ШК товара есть секция со сроком годности (AI17 или AI7003)

  1. Кассир сканирует штрих-код товара для добавления в чек

  2. Касса разбирает штрих-код формата databar

    1. Идентифицирует товар по части весового ШК, или полноценному ШК EAN13, полученному из секции (01)

    2. Берёт значение - даты окончания срока годности из секции (17) в формате YYMMDD и YYMMDDHHMM (год-месяц-день) (AI17 – YYMMDD, AI7003 – YYMMDDHHMM)

    3. Полученное значение срока годности товара <= актуального значения даты и времени

      1. Отказ в добавлении товара в чек, вывод сообщения
 о запрете продажи просроченного товара

    4. Значение срока годности товара > актуального значения даты и времени

      1. POS сохраняет данные из GS1 Databar в составе позиции чека в поле полученного набора символов от сканера

      2. Также POS сохраняет данные из GS1 Databar в плагинных свойствах позиции
 в формате databar

      3. POS-система добавляет товар в чек
.

    5. В Databar есть некорректные значения (17) и (7003): не совпадает количество символов для секций сроков годности

      1. Переходим к сценарию 2 по ручному вводу даты окончания срока годности.

EAN13+5

Описание

  • При успешном сканировании штрих-кода EAN13+5 проверяется секцию Срок годности (последние 5 цифр) на валидность.

  • Если срок годности <= текущих значений даты и времени, то товар не может быть добавлен в чек.

  • Если срок годности > текущих значений даты и времени, то товар добавляется в чек.

  • Признак Z-партионности при этом НЕ учитывается.

  • Для товаров с ШК EAN13, наличие признака Z-партионного учета ни на что не влияет, товар добавляется в чек.

  • Ручной ввод срока годности:

    • Если при сканировании EAN13+5 в секции срока годности значение не соответствует по количеству 5 цифрам, то данные невалидны и товар не может быть добавлен в чек - происходит переход к ручному вводу значений из ШК.

    • В случаях, если EAN13+5 не читается/поврежден, поведение остается прежним - происходит ручной ввод последних 5-ти символов ШК. Для этого после ввода первых 13 символов и идентификации товара, учитывается признак Z-партионности. Если у товара есть признак Z-партионности, касса предлагает ввести срок годности (последние 5 символов ШК), если признака нет - происходит добавление в чек, как обычного весового товара.

Срок годности с точностью до часа

https://crystals.atlassian.net/browse/SRTB-10196

https://crystals.atlassian.net/browse/CR-14550

10.4.24.0

До версии 10.4.24.0 при сканировании ШК EAN13+5 касса разбирала его следующим образом:

  1. первые 13 цифр — код товара (EAN13),

  2. последние 5 цифр — секция срока годности в формате DDDYY (номер дня в году + год).

Такой формат не позволял учитывать срок годности с точностью до часа, например, для товаров, у которых срок годности ≤ 72 часов (3 дня).

В версии 10.4.24.0 реализована поддержка нового формата срока годности (DDDHH):

  1. В секции срока годности (последние 5 символов) допускаются два возможных формата:

    • DDDYY — текущая реализация (номер дня в году + год);

    • DDDHH — новый формат (номер дня в году + час).

  2. Определение формата:

    • если последние 2 цифры > 24 → формат DDDYY (год);

    • если последние 2 цифры ≤ 24 → формат DDDHH (час).

  3. Для формата DDDHH срок годности интерпретируется как дата и час, соответствующие комбинации:

    • DDD — порядковый номер дня в году (001–365/366),

    • HH — час (00–24).

Логика работы

  1. При определении, что ШК в формате DDDHH - производится сравнение считанного срока годности и текущего значения на кассе.

  2. Если считанный срок годности (DDDHH) ≤ текущего значения на кассе → товар не добавляется в чек, выводится сообщение о запрете продажи просроченного товара.

  3. Если считанный срок годности (DDDHH) > текущего значения на кассе → товар добавляется в чек, срок годности сохраняется в данных позиции в плагинное свойство databar.

Пример сценария: проверка на корректность EAN13 + 5

  1. Кассир сканирует штрих-код товара для добавления в чек

  2. POS-система проверяет штрих-код

    1. Значение срока годности товара <= актуального значения даты и времени

      1. Отказ в добавлении товара в чек, вывод сообщения
 о запрете продажи просроченного товара

    2. Значение срока годности товара > актуального значения даты и времени

      1. POS сохраняет данные из EAN13 + 5 в составе позиции чека в поле полученного набора символов от сканера

      2. Также POS сохраняет данные из EAN13 + 5 в плагинных свойствах позиции, преобразовывая данные в формат databar

      3. POS-система добавляет товар в чек
.

    3. В EAN13+5 невалидное значение последних 5-ти символов (некорректное количество) или ШК не читается

      1. Переходим к сценарию 2 по ручному вводу даты окончания срока годности.

Игнорирование отсутствующего или некорректного срока годности для товаров Z-партионного учета

https://crystals.atlassian.net/browse/SRTB-9213

https://crystals.atlassian.net/browse/CR-12729

10.4.13.0

При добавлении товара по ШК/ РШК с признаком consignment, касса запросит ввести срок годности вручную при его отсутствии или некорректности. Начиная с версии 10.4.13.0 реализована возможность добавлять товары Z-партионного учета, в которых отсутствует срок годности или он некорректный, как обычные товары - без необходимости ручного ввода срока годности, чтобы ускорить обслуживание покупателей.

Условия работы

Параметр checkConsignmentExpirationDateIgnore отвечает за настройку разбора расширенного штрихкода (РШК) формата EAN13+5

Параметр работает при условии включения настройки: {“ean13plus5Type”: “USE_CONSIGNMENT”, “useConsignmentFromGoods”: ”true”}

Допустимые значения:

  • true

    • при добавлении товара по ШК/РШК с признаком consignment, касса добавляет товар:

      • РШК содержит корректный СГ - При сканировании РШК передается и проверяется СГ.

      • РШК НЕ содержит СГ - При сканировании РШК не проверяется и не передается СГ.

      • РШК содержит некорректный СГ - отображает ошибку "Неизвестный ШК".

    • при добавлении товара по ШК/РШК без признака consignment, касса добавляет товар без проверки и передачи СГ.

  • false - при добавлении товара по ШК/РШК с признаком consignment, касса добавляет товар согласно действующему функционалу

  • По умолчанию настройка выключена (false)

Настройка

Выполните скрипт в базе данных set

UPDATE sales_management_properties SET property_value = '{"ean13plus5Type": "USE_CONSIGNMENT", "useConsignmentFromGoods": "true", "checkConsignmentExpirationDateIgnore": "true"}', send_status=0 WHERE module_name = 'CASH_BARCODE_PARSER' AND property_key = 'config';

Примеры сценариев работы

Сценарий №1. Добавление товара по РШК без признака consignment

  1. Кассир добавляет товар по РШК1 без признака consignment

  2. Касса определяет товар как НЕ Z-партионный.

  3. Касса добавляет товар в чек без запроса срока годности.

Сценарий №2. Добавление товара по РШК с признаком consignment, срок годности корректный

  1. Кассир добавляет товар по РШК2 с корректным СГ, с признаком consignment

  2. Касса идентифицирует товар и определяет его как Z-партионный.

  3. Касса проверяет валидность значения addon5.

  4. Данные “+5” из РШК валидны.

  5. Касса проверят срок годности.

    1. Значение срока годности товара <= актуального значения даты и времени

      1. Отказ в добавлении товара в чек, вывод сообщения
 о запрете продажи просроченного товара

    2. Значение срока годности товара > актуального значения даты и времени

      1. Касса добавляет товар в чек


      2. Касса записывает СГ в чек в плагинное свойство “databar”

Сценарий №3. Добавление товара по РШК с признаком consignment, срок годности некорректный

  1. Кассир добавляет товар по РШК3 с некорректным СГ, с признаком consignment

  2. Касса идентифицирует товар и определяет его как Z-партионный.

  3. Касса проверяет валидность значения addon5.

  4. Данные “+5” из РШК не валидны.

  5. Касса отображает ошибку “Неизвестный штрихкод”.

  6. Кассир вводит значение ШК - 13 символов c EAN13+5

  7. Касса добавляет товар в Чек без запроса срока годности.

Сценарий №4. Добавление товара по ШК с признаком consignment

  1. Кассир добавляет товар по ШК4 с признаком consignment

  2. Касса идентифицирует товар и определяет его как Z-партионный.

  3. Касса добавляет товар в Чек без запроса срока годности.

 

Учет секции 3103 (вес товара в граммах) в GS1 Databar при продаже на кассе

https://crystals.atlassian.net/browse/SRTB-4947

https://crystals.atlassian.net/browse/CR-4990

10.2.98.0

Описание

Начиная с версии 10.2.98.0 изменена механика разбора штрих-кода GS1 Databar, которая теперь позволяет учитывать данные из секции AI3103 при расчете стоимости товара и записывать их в плагинное свойство “Databar” чека товара.

Данные в секции 3103 указываются в формате КККГГГ, где ККК - это килограммы, а ГГГ - граммы.

Пример секции 3103:

123456 == 123,456 == 123 кг, 456 грамм.

Принцип работы

Касса при сканировании товара с штрих-кодом Databar, содержащем секцию 3103, находит товар в базе по данным из секции AI01 (штрих-код EAN13 или EAN 14).

Если товар весовой (тип товара “весовой”), то цена товара указана за 1 кг, и расчет стоимости происходит по формуле: Вес товара * на цену товара за 1 кг.

Вес товара в Databar может быть задан 3-мя способами:

  1. Вес в секции (3103) используется только в случае указания ШК в секции (01):

    1. с лидирующей цифрой “9” (EAN14) и со всеми другими лидирующими цифрами, за исключением “0”.
      Пример: (01)94605025013326(3103)001409(17)201105(10)1001028140(21)0131992690

    2. EAN13/EAN8 без указания веса (при обработке GTIN отсекаются все лидирующие нули):
      Пример: (01)04605025013326(3103)001409(17)201105(10)1001028140(21)0131992690.

В данных случаях вес товара невозможно получить из ШК, а значит надо брать вес из секции 3103, т.е. вес будет 1 кг 409 грамм. В БД ищется ШК: 4605025013326.

В случае штрих-кодов, начинающихся не с “0” (1,2,3,4,5,6,7,8,9) поиск товара в базе происходит по всем 14-символам (например в секции AI01 стоит 94605025013326, ищем по 94605025013326). Таким образом данные весовые штрих-коды должны быть предварительно загружены в базу.

       2. Вес товара указан в весовой части весового ШК из секции (01). При этом в секции 01 будет лидирующий “0” (который надо отбросить), а сам ШК начинается с “2” (EAN13);
           Пример: (01)02410032020569(3103)000620(10)570926110282(17)20041