Публичное пространство
SetRetail10 ◾️ Уценка товара от срока годности с помощью Databar и EAN13+5
В базовой версии настройка парсинга GS1 Databar и EAN13+5 отсутствует!
- 1 Описание
- 2 Ценность
- 3 Примеры
- 4 Настройка
- 5 Статьи по работе со сроками годности и уценкой
- 6 Дополнительная функциональность
- 6.1 Заявление на возврат
- 6.2 Экспорт в ERP
- 6.3 Режима порта сканера штрих-кода на кассе и его программирование
- 6.4 Поиск товара по GS1 Databar и EAN13+5 на сервере магазина
- 6.5 Штрих-код по-умолчанию в чеке и передача в ERP при поиске товара с Z-признаком на кассе не по штрих-коду
- 6.6 Учёт срока годности товара по данным из ШК Databar и EAN13+5
- 6.7 Срок годности с точностью до часа
- 6.8 Игнорирование отсутствующего или некорректного срока годности для товаров Z-партионного учета
- 6.9 Учет секции 3103 (вес товара в граммах) в GS1 Databar при продаже на кассе
- 6.10 Скидка по сроку годности для товаров без признака "consignment" (POS, TOUCH)
- 6.11 SetKit: E-com по типам товаров (товары Z-партионного учета)
Описание
Функциональность уценки/скидки по сроку годности учитывать дату окончания годности, получаемую из штрих‑кодов 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 будет выключена.
Выполните скрипт в базе данных 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';Дождитесь, пока изменения спустятся на кассу.
Перезагрузить кассу
Принципы работы
Это новый тип в настройке для 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”
Сканируем товар на кассе с ШК EAN13+5
Касса определяет у товара наличие признака Z-партионного учета
Z- Признак обнаружен
Касса разбирает последние 5 символов ШК как дату срока годности, проверяет, записывает в чек в плагинное свойство “databar”
Z - Признак отсутствует
Касса разбирает последние 5 символов ШК как номер продавца, записывает в чек в плагинное свойство “seller”
Меняем значение для настройки addon5 на тип “expiration_date”
Сканируем товар на кассе с ШК EAN13+5
Касса разбирает последние 5 символов ШК как дату срока годности (вне зависимости от признака Z-партионного учета), проверяет, записывает в чек в плагинное свойство “databar”
Меняем значение для настройки addon5 на тип seller_code
Касса разбирает последние 5 символов ШК как код продавца, записывает в чек в плагинное свойство “seller”
Меняем значение для настройки addon5 на пустое
Касса разбирает последние 5 символов ШК как дату срока годности, без учета признака z-партионного учета, проверяет, записывает в чек в плагинное свойство “databar”
Сценарий 2: Разбор Databar
Предусловие: включена общая настройка “use_consignment_from_goods”
Сканируем товар на кассе с секциями 17 или 7003
Касса определяет у товара наличие признака Z-партионного учета
Z- Признак обнаружен
Касса разбирает секции как дату срока годности, проверяет, записывает данные в чек в плагинное свойство “databar”
Z - Признак отсутствует
Касса не проверяет срок годности, не записывает данные в чек.
Отключаем настройку “use_consignment_from_goods”
Сканируем товар на кассе с секциями 17 или 7003
Касса разбирает секции как дату срока годности, проверяет, записывает данные в чек в плагинное свойство “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-партионности был просканирован, добавлять просканированный штрих-код в чек.
Сценарий использования
Кассир производит поиск товара на кассе не по штрих-коду (по наименованию, по коду, по группе, по кнопке)
Касса находит товар
Товар содержит признак Z-партионности
У товара есть штрих-код по умолчанию
Касса записывает штрих-код товара по умолчанию в поле чека BARCODE
У товара отсутствует штрих-код по умолчанию
Касса производит поиск у товара первого из списка штрих-кода
У товара есть в списке штрих-код: касса записывает данный штрих-код в поле чека BARCODE
У товара отсутствует в списке штрих-код: касса записывает код товара (артикул) в поле чека BARCODE
Товар не содержит признака Z-партионности
Поле 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)
Кассир сканирует штрих-код товара для добавления в чек
Касса разбирает штрих-код формата databar
Идентифицирует товар по части весового ШК, или полноценному ШК EAN13, полученному из секции (01)
Берёт значение - даты окончания срока годности из секции (17) в формате YYMMDD и YYMMDDHHMM (год-месяц-день) (AI17 – YYMMDD, AI7003 – YYMMDDHHMM)
Полученное значение срока годности товара <= актуального значения даты и времени
Отказ в добавлении товара в чек, вывод сообщения о запрете продажи просроченного товара
Значение срока годности товара > актуального значения даты и времени
POS сохраняет данные из GS1 Databar в составе позиции чека в поле полученного набора символов от сканера
Также POS сохраняет данные из GS1 Databar в плагинных свойствах позиции в формате databar
POS-система добавляет товар в чек .
В Databar есть некорректные значения (17) и (7003): не совпадает количество символов для секций сроков годности
Переходим к сценарию 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 касса разбирала его следующим образом:
первые 13 цифр — код товара (EAN13),
последние 5 цифр — секция срока годности в формате DDDYY (номер дня в году + год).
Такой формат не позволял учитывать срок годности с точностью до часа, например, для товаров, у которых срок годности ≤ 72 часов (3 дня).
В версии 10.4.24.0 реализована поддержка нового формата срока годности (DDDHH):
В секции срока годности (последние 5 символов) допускаются два возможных формата:
DDDYY — текущая реализация (номер дня в году + год);
DDDHH — новый формат (номер дня в году + час).
Определение формата:
если последние 2 цифры > 24 → формат DDDYY (год);
если последние 2 цифры ≤ 24 → формат DDDHH (час).
Для формата DDDHH срок годности интерпретируется как дата и час, соответствующие комбинации:
DDD — порядковый номер дня в году (001–365/366),
HH — час (00–24).
Логика работы
При определении, что ШК в формате DDDHH - производится сравнение считанного срока годности и текущего значения на кассе.
Если считанный срок годности (DDDHH) ≤ текущего значения на кассе → товар не добавляется в чек, выводится сообщение о запрете продажи просроченного товара.
Если считанный срок годности (DDDHH) > текущего значения на кассе → товар добавляется в чек, срок годности сохраняется в данных позиции в плагинное свойство
databar.
Пример сценария: проверка на корректность EAN13 + 5
Кассир сканирует штрих-код товара для добавления в чек
POS-система проверяет штрих-код
Значение срока годности товара <= актуального значения даты и времени
Отказ в добавлении товара в чек, вывод сообщения о запрете продажи просроченного товара
Значение срока годности товара > актуального значения даты и времени
POS сохраняет данные из EAN13 + 5 в составе позиции чека в поле полученного набора символов от сканера
Также POS сохраняет данные из EAN13 + 5 в плагинных свойствах позиции, преобразовывая данные в формат databar
POS-система добавляет товар в чек .
В EAN13+5 невалидное значение последних 5-ти символов (некорректное количество) или ШК не читается
Переходим к сценарию 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 без признака
consignmentКасса определяет товар как НЕ Z-партионный.
Касса добавляет товар в чек без запроса срока годности.
Сценарий №2. Добавление товара по РШК с признаком consignment, срок годности корректный
Кассир добавляет товар по РШК2 с корректным СГ, с признаком
consignmentКасса идентифицирует товар и определяет его как Z-партионный.
Касса проверяет валидность значения addon5.
Данные “+5” из РШК валидны.
Касса проверят срок годности.
Значение срока годности товара <= актуального значения даты и времени
Отказ в добавлении товара в чек, вывод сообщения о запрете продажи просроченного товара
Значение срока годности товара > актуального значения даты и времени
Касса добавляет товар в чек
Касса записывает СГ в чек в плагинное свойство “databar”
Сценарий №3. Добавление товара по РШК с признаком consignment, срок годности некорректный
Кассир добавляет товар по РШК3 с некорректным СГ, с признаком
consignmentКасса идентифицирует товар и определяет его как Z-партионный.
Касса проверяет валидность значения addon5.
Данные “+5” из РШК не валидны.
Касса отображает ошибку “Неизвестный штрихкод”.
Кассир вводит значение ШК - 13 символов c EAN13+5
Касса добавляет товар в Чек без запроса срока годности.
Сценарий №4. Добавление товара по ШК с признаком consignment
Кассир добавляет товар по ШК4 с признаком
consignmentКасса идентифицирует товар и определяет его как Z-партионный.
Касса добавляет товар в Чек без запроса срока годности.
Учет секции 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-мя способами:
Вес в секции (3103) используется только в случае указания ШК в секции (01):
с лидирующей цифрой “9” (EAN14) и со всеми другими лидирующими цифрами, за исключением “0”.
Пример: (01)94605025013326(3103)001409(17)201105(10)1001028140(21)0131992690EAN13/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