Статья успешно отправлена на почту
PDF

Интерпретация кода EAN-128 в Mobile SMARTS в действии выбора номенклатуры

Последние изменения: 2024-03-26

Mobile SMARTS умеет распознавать штрихкоды в кодировке EAN-128 (GS1-128) и имеет встроенный алгоритм их обработки. Таким образом, для сканирования и разбора EAN-128 не нужно добавлять в код конфигурации Mobile SMARTS никаких «если штрихкод содержит скобки», «отрезать от строки первые два символа» и т. п.

Из EAN128 можно извлекать содержимое, которое можно использовать не только в действии выбора номенклатуры, но и в других действиях, подробнее смотрите статью «Объект EAN-128 в Mobile SMARTS».

При сканировании штрихкода EAN-128 (GS1-128) в действии выбора номенклатуры происходит его автоматическая обработка в следующем порядке:

Первичная обработка

Если в действии выбора номенклатуры штрихкод опознан как EAN-128, то в ScannedBarcode попадает отформатированное выражение штрихкода, где идентификаторы заключены в круглые скобки, как это обычно принято при печати на этикетках. Например, при сканировании 0104260076865026111309023304200000 кода в ScannedBarcode попадет (01)04260076865026(11)130902(3304)200000.

Реально в EAN-128 штрихкоде символы скобок вокруг идентификаторов НЕ содержатся, а только отображаются при печати для удобства визуального восприятия.

Кроме ScannedBarcode в сессию добавляется объект c именем EAN128, содержащий данные о распознавании штрихкода, и позволяющий получить доступ к его содержимому в других действиях (подробнее смотрите «Объект EAN-128 в Mobile SMARTS»).

Поиск номенклатуры

После этого начинается поиск товара по идентификаторам AI 02 затем по AI 01 (GTIN глобальный номер товарной продукции, 13 конечных цифр после идентификатора).

Если идентификаторов AI 01 или 02 нет в штрихкоде, то считается, что номенклатура не определена, и создается объект SelectedProduct с неизвестным товаром (аналогично, UnknownProduct.Pack ()).

Если товар найден, то на его основе в сессии создается объект SelectedProduct, как и при поиске по обычному штрихкоду.

Если идентификатор AI 01 или 02 в штрихкоде есть, но товар по штрихкоду не найден, то обработка штрихкода завершается и действие выбора номенклатуры переходит по состоянию «товар не найден».

Заполнение количества товара

После формирования SelectedProduct производится заполнение его количества Quantity из одного из идентификаторов AI30, AI31хх или AI37 (идентификаторы приведены в порядке приоритета).

Если ни одного из этих идентификаторов не содержится в штрихкоде, то количество считается равным 1.

Заполнение срока годности

Кроме самого товара и его веса ведется поиск срока годности товара, если в штрихкоде EAN-128 (GS1-128) есть идентификатор AI 17, то срок годности заносится в переменную SelectedProduct.ExpiredDate.

Заполнение произвольных пользовательских полей

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

Например, нам необходимо извлекать серийный номер из штрихкода EAN-128 (GS1-128) в какое-то поле (в нашем примере поле «sn»).

Для этого у свойства дополнительного поля (в нашем примере поле «sn») для EanAI необходимо из выпадающего списка выбрать идентификатор применения AI 21 -Серийный номер (Serial Number).

При сканировании штрихкода EAN-128 (GS1-128), если в нем указан идентификатор AI 21, данные о серийном номере будут занесены в SelectedProduct со свойством дополнительное поле строки с указанным именем «sn» (в нашем примере). Если идентификатора AI 21 в штрихкоде (кодировка EAN-128) нет, то данные о серийном номере из него не извлекаются.

Если необходимо извлекать из штрихкода EAN-128 (GS1-128) какие-нибудь другие данные, это делается аналогично, извлечению серийного номера, выбирая нужный идентификатор применения AI для соответствующего дополнительного поля.

Была ли статья полезна?
Спасибо за ваш отзыв!
Отзыв
Заполните, пожалуйста, данную форму, что конкретно вы не нашли, оставьте свои комментарии о работе сайта / полезности / сложности с навигацией
0/500