Шаблоны штрихкодов номенклатуры (товары и упаковки) в Mobile SMARTS
Использование в Mobile SMARTS шаблонов штрихкода для номенклатуры позволяет вводить в систему нефиксированные штрихкоды, содержащие значимую информацию (например, срок годности товара или его количество).
При сканировании будет производиться сравнение штрихкода на соответствие заданному шаблону и, в случае соответствия, происходить заполнение извлеченных из него данных.
Часто используются шаблоны ШК для весовых товаров, для того чтобы извлекать из них код товара и его количество. Далее по коду ищется сам товар, а количество записывается в документ или выводится на экран для редактирования.
Поис к в офлайне
-
Не подпадает ли штрихкод под шаблон контейнера или палеты. Если подпадает, то это контейнер (палета или коробка), поиск закончен.
-
Если это не контейнер, то не подпадает ли штрихкод под общий шаблон штрихкодов номенклатуры? Если подпадает, то из штрихкода вынимаются идентификаторы номенклатуры (код, артикул, GTIN и т.п.) и далее поиск выполняется по этим идентификаторам, а не по всему штрихкоду
-
Не равен ли штрихкод штрихкоду номенклатуры, коду, артикулу номенклатуры и т.п.?
-
Если нет, то равен ли он штрихкоду упаковки и не подпадает ли под шаблон штрихкодов индивидуальной упаковки номенклатуры?
Шаги 2,3,4 выполняются до тех пор, пока не будут найдены все подходящие товары. Если на шаге 3 товар нашелся, то упаковки этого же товара на шаге 4 уже не проверяются.
Поиск в онлайне
-
Не подпадает ли штрихкод под шаблон контейнера или палеты? Если подпадает, то это контейнер (палета или коробка), поиск закончен.
-
Если это не контейнер, то не подпадает ли штрихкод под общий шаблон штрихкодов номенклатуры? Если подпадает, то из штрихкода вынимаются идентификаторы номенклатуры (код, артикул, GTIN и т.п.) и далее поиск выполняется по этим идентификаторам, а не по всему штрихкоду
-
Если включен HYDB и приоритетный поиск товара в учетной системе, то поиск идет через вызов ПолучитьТовар.
-
Если HYDB не включен или в приоритете поиск в Mobile SMARTS, то идет проверка не равен ли штрихкод штрихкоду номенклатуры, коду или артикулу номенклатуры?
-
Если нет, то равен ли он штрихкоду упаковки и не подпадает ли под шаблон штрихкодов индивидуальной упаковки номенклатуры?
-
Если вообще ничего не найдено и включен HYDB, то идет поиск в учетной системе через вызов ПолучитьТовар.
В Mobile SMARTS есть два вида шаблонов номенклатуры:
- Индивидуальные шаблоны штрихкода упаковки товара. Они позволяют задать шаблон штрихкода для конкретной позиции номенклатуры;
- Общие шаблоны, действие которых распространяется на весь справочник номенклатуры.
Общие шаблоны штрихкодов номенклатуры
На практике очень часты случаи, когда требуется задать однотипные шаблоны всем позициям номенклатуры в справочнике.
Такое может потребоваться, когда весь товар, изначально промаркированный EAN-13, при приходе на склад дополнительно маркируется внутренними штрихкодами с дополнительной информацией. Или поставщик сам наносит кроме обычного штрихкода, определяющего номенклатуру, дополнительные штрихкоды с расширенными данными (дата поступления, размер, цвет и т. п.).
Например, на склад поступает товар от поставщика, который маркирует всю свою продукцию двумя штрихкодами, основным EAN13 (в примере, 4891199000041), и дополнительным расширенным штрихкодом (в примере, 48911990000413814082005), содержащим исходный штрихкод и дополнительные данные 38 — размер, 14.08.2005 — дата производства.
В таких случаях удобно задавать общие шаблоны, действующие на весь справочник номенклатуры сразу. Могут быть заданы несколько шаблонов, например, для разных поставщиков.
Данный функционал используется только при ручной выгрузке справочников на устройство, и не работает для онлайн‑режима. Это связано с тем, что шаблоны штрихкодов используются только в случае, если ШК можно обработать на сервере (а при ручной выгрузке справочники выгружаются сначала на сервер Mobile SMARTS). При работе в онлайн‑режиме штрихкод, который считал ТСД, отправляется в учетную систему напрямую, и не может быть обработан на сервере.
Такие шаблоны можно задать прямо через панель управления, в узле конфигурации «Структура номенклатуры» --> «Шаблоны штрихкодов». Правой кнопкой мышки можно можно добавить шаблон штрихкода.
Правила задания общих шаблонов точно такие же, как и шаблонов в упаковках, кроме трех дополнительных полей в шаблоне:
| Шаблон | Описание |
|---|---|
{ProductId:число},число — количество символов кода товара в штрихкоде обязательный элемент шаблона (можно заменить с помощью Barcode) | Определяет идентификатор товара в штрихкоде, для поиска в справочнике номенклатуры. Является обязательным параметров в общем шаблоне. Следует использовать, когда в штрихкод включается уникальный код товара. |
{Barcode:число},число — количество символов кода товара в штрихкоде обязательный элемент шаблона (можно заменить с помощью ProductId) | Определяет штрихкод товара, для поиска в справочнике номенклатуры. Является обязательным параметров в общем шаблоне. Следует использовать, когда в штрихкод включается базовый штрихкод товара. |
{PackingId:число},число — количество символов кода упаковки в штрихкоде необязательный параметр | Позволяет дополнительно определить выемку кода упаковки из штрихкода. Не является обязательным параметром. Если он не задан, то найденный товар выбирается в базовом типе упаковки, при использовании ProductId, или в том типе упаковки, к которой задан штрихкод, при использовании Barcode. |
Следует учитывать, что общие шаблоны возможно использовать только в тех случаях, когда внутри сканируемых штрихкодов содержится код или базовый штрихкод товара.
Таким образом, в общем шаблоне обязательно должен быть задан хотя бы один из обязательных элементов
{ProductId:число}или{Barcode:число}.
Поиск по общим шаблонам имеет приоритет над обычным поиском по штрихкодам, поэтому сначала происходит поиск по ним, и только если отсканированный штрихкод не подошел ни к одному общему шаблону, произойдет процедура поиска товара по штрихкодам (включая поиск по обычным шаблонам у конкретных товаров).
Примеры общих шаблонов номенклатуры
Пример 1 | Поиск товара по коду (Id)
Исходные данные:
Штрихкод номенклатуры (общим шаблоном): {ProductId:5}{Quantity:3}{ExpiredDate:ddMMyyyy}
В выражении
{ProductId:5}цифра «5» означает число символов штрихкода под уникальный код товара.
Сканируемые (вводимые) данные:
Штрихкод: «6789000928122017»
Разбор по шаблону:
6789000928122017 → ProductId = 67890; Quantity = 9; ExpiredDate = 28.12.2017
При вводе штрихкода будет производиться поиск товара по коду «67890», и если он будет найден, то будет выбран товар с этим кодом, в количестве 9 базовых упаковок и проставлена дата конца срока годности 28.12.2017.
Номенклатура:
Будет выбрана «Крупа гречневая (упак)», а не весовая, т.к. поиск ведётся по идентификатору (Id) товара.
Значение переменных в сессии:
Результат:
Пример 2 | Поиск товара по штрихкоду упаковки
Исходные данные:
Штрихкод номенклатуры (общим шаблоном): {Barcode:5}{Quantity:3}{ExpiredDate:ddMMyyyy}
В выражении
{Barcode:5}цифра «5» означает число символов штрихкода.
Сканируемые (вводимые) данные:
Штрихкод: «5179601015102017»
Разбор по шаблону:
5179601015102017 → Barcode = 51796; Quantity = 10; ExpiredDate=15.10.2017
При вводе штрихкода будет производиться поиск товара по штрихкоду упаковки «51796», и если он будет найден, то будет выбран товар с этой упаковкой, в количестве 10 упаковок и проставлена дата конца срока годности 15.10.2017.
Номенклатура:
Будет выбрано «Молоко „Домик в деревне“», т.к. поиск ведётся по штрихкоду упаковки товара.
Значение переменных в сессии:
Результат: