Для добавления контейнеров и палет в конфигурацию Mobile SMARTS удобно использовать шаблоны.
Шаблоны удобны тем, что позволяют задать сразу большую группу контейнеров и метод формирования штрихкодов для них.
Это упрощает процесс, нам не требуется заводить вручную сотни контейнеров. Также это значительно уменьшает расход памяти на мобильном устройстве.
Введение
Шаблоны штрихкодов контейнеров задаются примерно так:
20{параметр1:количество символов}А{параметр2:@регулярное выражение}11
20, А, 11 — постоянные части штрихкода (можно указывать не только цифры, но и буквы), одинаковые для всех штрихкодов, подходящих под этот шаблон.
{...} — переменные части штрихкода (может быть любое количество), которые будут проанализированы по шаблону и вынуты из штрихкода в переменные.
параметр1, параметр2 — имя переменной, в которую попадет номер коробки, позиция, номер бочки, и т.д., вынутое из штрихкода.
количество символов — простой шаблон, длина переменной части штрихкода, которая попадет в переменную.
@регулярное выражение — сложный шаблон в виде регулярного выражения, см. использование регулярных выражений в шаблонах штрихкодов.
Пример 1 | Шаблон с одним параметром
Заведено три шаблона:
-
{НомерКоробки:8}
-
{ИдПоддона:5}
-
{Позиция:5}
Шаблоны в этом примере заведены без постоянных частей и без использования регулярных выражений.
Отсканированный (введенный вручную) штрихкод:
«32183»
Разбор по шаблону:
При вводе штрихкода контейнера «32183», будет производиться поиск подходящего шаблона:
шаг 1: {НомерКоробки:8} — длина не подходит, шаблон не подходит;
шаг 2: {ИдПоддона:5} — длина подходит, шаблон подходит, поиск завершён;
шаблон {Позиция:5} — даже не проверяется, потому что уже нашли совпадение по шаблону ИдПоддона, который в списке стоит выше.
Результат:
В данном примере был выбран контейнер по шаблону {ИдПоддона:5}, потому что отсканированный штрихкод имел длину 5 символов. Строка «32183» попала в сессию в объект SSCCPallet в следующие поля:
Путь |
Значение |
Тип значения |
SSCCPallet.Barcode |
32183 |
строка |
SSCCPallet.ИдПоддона |
32183 |
строка |
Пример 2 | Шаблон с постоянной частью и несколькими параметрами
Заведено три шаблона:
-
20{Позиция:3}{Номер:3}
-
КС{Паллета:3}{Номер:3}
-
КС{Бочка:4}{Номер:3}
В этом примере все шаблоны имеют постоянную часть и два параметра с указанием количества символов, которые будут занесены в соответствующее поле объекта SSCCPallet при успешном выборе шаблона.
Отсканированный (введенный вручную) штрихкод:
«КС321965»
Разбор по шаблону:
При вводе штрихкода «КС321965» будет производиться поиск подходящего шаблона:
шаг 1: 20{Позиция:3}{Номер:3} - шаблон не подходит, т.к. не совпадает постоянная часть;
шаг 2: КС{Паллета:3}{Номер:3} - шаблон подходит, совпадает постоянная часть и количество символов в штрихкоде, поиск завершён;
шаблон КС{Бочка:4}{Номер:3} даже не проверяется, т.к. подходящий шаблон уже найден в списке выше.
Результат:
В данном примере был выбран контейнер по шаблону КС{Паллета:3}{Номер:3}, потому что отсканированный штрихкод имеет длину 8 символов и начинается с «КС». Строка «КС321965» попала в сессию в объект SSCCPallet в следующие поля:
Путь |
Значение |
Тип значения |
SSCCPallet.Barcode |
КС321965 |
строка |
SSCCPallet.Паллета |
321 |
строка |
SSCCPallet.Номер |
965 |
строка |
Пример 3 | Контейнер не найден по шаблону
Заведено три шаблона:
-
КС{Паллета:3}{Номер:3}
-
КС{Бочка:4}{Номер:3}
-
20{Ящик:3}{Номер:4}
В этом примере все шаблоны имеют постоянную часть и два параметра с указанием количества символов, которые будут занесены в соответствующие поля объекта SSCCPallet при успешном выборе шаблона.
Отсканированный (введенный вручную) штрихкод:
Штрихкод: «2032196546»
Разбор по шаблону:
При вводе штрихкода «2032196546» будет производиться поиск подходящего шаблона:
шаг 1: КС{Паллета:3}{Номер:3} - шаблон не подходит, не совпадает постоянная часть;
шаг 2: КС{Бочка:4}{Номер:3} - шаблон не подходит, не совпадает постоянная часть;
шаг 3: 20{Ящик:3}{Номер:4} - шаблон не подходит, не совпадает суммарное количество символов в штрихкоде
Результат:
В данном примере к введенному штрихкоду не подходит ни один из заведённых шаблонов контейнеров, контейнер не будет найден.
Пример 4 | Выбор шаблона из нескольких подходящих
В данном примере рассматривается ситуация, когда к отсканированному штрихкоду подходит несколько заведённых шаблонов.
Заведено четыре шаблона:
-
20{Позиция:3}{Номер:3}
-
КС{Паллета:3}{Объем:4}
-
КС{Бочка:4}{Вес:3}
-
20{Ящик:3}{Номер:4}
Все эти шаблоны имеют постоянную часть и два параметра с указанием количества символов, которые будут занесены в соответствующие поля объекта SSCCPallet при успешном выборе шаблона.
Отсканированный (введенный вручную) штрихкод:
«КС3219652»
Разбор по шаблону:
При вводе штрихкода «КС3219652», будет производиться поиск подходящего шаблона:
шаг 1: 20{Позиция:3}{Номер:3} - шаблон не подходит, не совпадает постоянная часть и количество символов в параметре;
шаг 2: КС{Палета:3}{Объем:4} - шаблон подходит;
шаблон КС{Бочка:4}{Вес:3} не проверяется, т.к. подходящий шаблон уже найден в списке выше;
шаблон 20{Ящик:3}{Номер:4} не проверяется, т.к. подходящий шаблон уже найден в списке выше.
Результат:
В данном примере к введённому штрихкоду подходят несколько шаблонов. Будет выбран шаблон КС{Палета:3}{Объем:4}, т.к. он был первым подошедшим шаблоном. Строка «КС3219652» попала в сессию в объект SSCCPallet в следующие поля:
Путь |
Значение |
Тип значения |
SSCCPallet.Barcode |
КС3219652 |
строка |
SSCCPallet.Палета |
321 |
строка |
SSCCPallet.Объем |
9652 |
строка |
Если к штрихкоду подходят несколько шаблонов, то из них выбирается тот, который находится в списке первым.
В шаблонах контейнеров и палет можно использовать регулярные выражения. Примеры шаблонов с регулярными выражениями смотрите в статье Использование регулярных выражений в шаблонах штрихкодов.