Примеры общих шаблонов номенклатуры

Теги: шаблоны
Последние изменения: 23.08.2019

Пример 1 | Поиск товара по коду (Id)

Исходные данные:

Штрихкод номенклатуры (общим шаблоном): {ProductId:5}{Quantity:3}{ExpiredDate:ddMMyyyy}

В выражении {ProductId:5} цифра «5» означает число символов штрихкода под уникальный код товара.

Сканируемые (вводимые) данные:

Штрихкод: «6789001228122017»

Разбор по шаблону:

6789001228122017 → 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.

Номенклатура:

Будет выбрано «Молоко "Домик в деревне"», т.к. поиск ведётся по штрихкоду упаковки товара.

Значение переменных в сессии:

Результат:

Пример 3 | Товар не найден по общему шаблону

Исходные данные:

Штрихкод номенклатуры (общим шаблоном): {Barcode:13}{Quantity:3}

В выражении {Barcode:13} цифра «13» означает число символов штрихкода.

Сканируемые (вводимые) данные:

Штрихкоды: «2000020637963015», «20000206379630155»

Разбор по шаблону:

4607060501490005 → Barcode = 4607060501490; Quantity = 5

20000206379630155 → под шаблон не подходит (в ШК 17 символов, а шаблон подходит только для 16 символов ШК) → поиск в справочнике номенклатуры по полному штрихкоду «20000206379630155» → товар не найден.

Результат:

Пример 4 | Товар не найден по общему шаблону, но найден по шаблону упаковки

Исходные данные:

Штрихкод номенклатуры (общим шаблоном): {Barcode:5}{Quantity:3}{ExpiredDate:ddMMyyyy}

Штрихкод упаковки (шаблоном): 2183{Quantity:3}{SSCC:8}

Сканируемые (вводимые) данные:

Штрихкод: «218300912122017»

Разбор по шаблону:

218300912122017 → под шаблон не подходит (в ШК 17 символов, а шаблон подходит только для 16 символов ШК)

В случае если товар не найден по общим шаблонам, то дальше поиск будет вестись по шаблонам упаковки:

218300912122017 → подходит под шаблон 2183{Quantity:3}{SSCC:8} → Quantity = 9; SSCC = 12122017.

Номенклатура:

Значение переменных в сессии:

Результат:

Пример 5 | Совместная работа общих шаблонов и шаблонов упаковки

Исходные данные:

Товар: «продукт 4»

Штрихкод номенклатуры «кг» (общим шаблоном): {Barcode:13}{ExpDate:ddMMyy}

Штрихкод упаковки «кг» (шаблоном): 2112347{Quantity:3.2}{checksum:1}

Сканируемые (вводимые) данные:

Штрихкод: «2112347004457140812»

Разбор по шаблону:


  • Производится поиск товара по штрихкоду (общим шаблоном) «2112347004457».

«2112347004457140812» =>2112347004457140812 => Barcode = 2112347004457


  • Будет найден «продукт 4» и извлечены данные согласно его персональному шаблону. «2112347004457» => 211234700445 7=> Quantity = 4,45; checksum = 7

  • После этого будет извлечена дата срока годности, согласно общему шаблону

«2112347004457140812» => 2112347004457 140812=> ExpDate:ddMMyy = 14.08.2012

Результат:


Штрихкод Переменная в сессии Значение

«2112347004457140812»

{SelectedProduct.Product}

2112347004457

«2112347004457»

{SelectedProduct.Product.Name}

{SelectedProduct.Packing.Name}

{SelectedProduct.Quantity}

{SelectedProduct. checksum }

«продукт 4»

шт

4,45

7

«2112347004457140812»

{SelectedProduct.ExpiredDate}

14.08.2012

Пример 6 | Выбор шаблона из нескольких подходящих

Возможна такая ситуация, когда к отсканированному штрихкоду могут подходить несколько общих шаблонов.

Исходные данные:

Штрихкод номенклатуры (общим шаблоном): {Barcode:13}{SSCC:6}

Штрихкод номенклатуры (общим шаблоном): {Barcode:13}{ExpiredDate:ddMMyy}

Сканируемые (вводимые) данные:

Штрихкод: «2000020497963231117»

Штрихкод будет разобран по первому подходящему общему шаблону:

  
Производится поиск товара по штрихкоду (общим шаблоном {Barcode:13}{SSCC:6}) «2000020497963231117».

2000020497963231117 → Barcode = 2000020497963; SSCC = 231117

Номенклатура:

Значение переменных в сессии:

Результат:

Пример 7 | Поиск товара по общему шаблону в штрихкоде EAN128

Для штрихкода EAN-128 не нужно создавать какие-то специальные шаблоны со скобочками (цифры в скобочках - это идентификаторы применения, они объясняют, как интерпретировать цифры, идущие следом). Штрихкод EAN-128 распознается общим шаблоном.

(01)04260076865026(11)130902(3304)200000

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

Исходные данные:

Товар: «продукт»

Штрихкод номенклатуры «шт» (общим шаблоном): {Barcode:13}{ExpiredDate:yyMMdd}

Сканируемые (вводимые) данные:

Штрихкод: «010426007686502617130902»

Визуальное отображение штрихкода на этикетке: «(01)04260076865026(17)130902»

Разбор по шаблону:

  • Производится поиск товара по штрихкоду (общим шаблоном) «4260076865026»

«010426007686502617130902» =>010426007686502617130902=> Barcode = 4260076865026

  • После этого будет извлечена дата срока годности, согласно шаблону

«010426007686502617130902» =>010426007686502617130902=> ExpiredDate = 02.09.2013

Результат:


Штрихкод Переменная в сессии Значение

«010426007686502617130902»

{SelectedProduct.Product}

{SelectedProduct.Product.Name}

{SelectedProduct.Packing.Name}

{SelectedProduct.ExpiredDate}

4260076865026

«продукт»

«шт»

02.09.2013

В шаблонах номенклатуры можно использовать регулярные выражения. Примеры шаблонов номенклатуры с регулярными выражениями смотрите в статье Использование регулярных выражений в шаблонах штрихкодов.