Существует довольно много кодировок товаров, т.е. способов назначить им номера. Помимо EAN-13 существуют коды EAN-8, UPC-A, UPC-E, UCC-12, UCC-14, ITF-14 и другие для продовольственных товаров, ISBN для книг и т.д. Всё это - различные способы сделать одно и то же — выдать единице товара уникальный номер. GTIN (Global Trade Item Number) — это и есть глобальный код товара в самом общем смысле. Единое обозначение требуется во множестве приложений — например для прайс-листов или в маркировке грузов. Разработчики GTIN поступили очень просто: чтобы получить GTIN, конкрентный код с упаковки товара дополняется лидирующими нулями до 14 цифр. Если мы пользуемся EAN-13, то GTIN будет равен «0|EAN-13» (т.е. «0» и следом EAN-13), а если мы пользуемся EAN-8, то GTIN будет равен «000000|EAN-8», ну и точно так же с другими кодами товара. Предполагается, что кодов товара длиннее 14 цифр не встречается.
Для EAN-128 (GS1-128) в идентификаторах AI 01 и AI 02 GTIN может быть закодирован товар в кодировке EAN-13 (ноль и 13 цифр).
В Mobile SMARTS реализован автоматический поиск номенклатуры по всем вариантам кодировок ШК по нижеописанным алгоритмам:
-
в случае сканирования ШК кодировки GS1;
Пример: (01)10000057074365(3103)005040(11)181026(17)190426(10)0002
Порядок поиска:
- 57074368 - поиск по EAN8, извлеченному из GTIN.
- 0000057074368 - поиск по EAN13, извлеченному из GTIN.
- 000057074368 - поиск по UPC, извлеченному из GTIN.
- 10000057074365 - поиск по GTIN из штрихкода.
- 00000057074368 - поиск по базовому GTIN.
- (01)10000057074365(3103)005040(11)181026(17)190426(10)0002 - поиск по всему отсканированному штрихкоду.
-
в случае сканирования ШК кодировок EAN-13, UPC или EAN-8.
Пример: 4650057074361
Порядок поиска:
- пропуск, невозможно извлечь - поиск по EAN8, извлеченному из GTIN.
- 4650057074361 - поиск по EAN13, извлеченному из GTIN.
- пропуск, невозможно извлечь - поиск по UPC, извлеченному из GTIN.
- 04650057074361 - поиск по базовому GTIN.
- 4650057074361 - поиск по всему отсканированному штрихкоду.
Значение отсканированного ШК присваивается переменной BarcodeData. Данный тип переменной позволяет идентифицировать кодировку считанного штрихкода, признак его ввода (вручную или считывание сканером), а также дополнительные данные (например, идентификаторы AI в EAN-128), которые автоматически разбираются внутри этого типа переменной и доступны в виде отдельных свойств такой переменной.
В панели управления платформы Mobile SMARTS версии 3.2 появилась возможность выбирать или отключать возможность расширенного поиска по ШК. Если она отключена - поиск будет производиться только по всему отсканированному штрихкоду.