В работе как то давно пришлось столкнуться с разными поставщиками весового товара, которые кодируют вес согласно своим предпочтениям. Есть и GS1, есть и какие-то свои шаблоны. Процесс принятия товара подразумевал выкладку на паллеты (товар приходил в контейнере «насыпом») и формирование паллетного листа с общим весом. Люди складывали вес вручную (калькуляторы, планшеты, смарты), а потом формировали паллетный лист. Только потом в систему учета вносился номер паллеты и вес товара с помощью ТСД. И так как это занимало много времени и система учета на тот момент была не приспособлена оперативно реагировать на зоопарк штрихкодов, то это кусок работы мне было интересно автоматизировать…
Проект так и остался в статусе рабочего черновика.
Проверено в работе на ТСД Motorola/Symbol MC9000-серии (WM/CE) в связке с DataWedge (сканирование через клавиатурный ввод)
Ручной ввод через символ «*» необходим в случае нарушения этикетки и ввода вручную веса или корректировки ошибки.
Публикация не претендует на оригинальность, но, может, кому-то пригодится.
Доп. операции:
— * — ввод вручную значения веса — общая сумма увеличивается, кол-во ящиков увеличивается (возможны отрицательные значения для коррекции ошибок).
— обновление шаблонов (bc.xml) с http сервера в локальной сети (настройка в bc.url)
— история сканирований
Формат xml-файла (во вложении) с шаблонами:
Name — наименование шаблона
FindMask — маска поиска шаблона
Lenght — длина значения веса
FloatPoint — кол-во знаков дробного значения
Последовательность обработки по шаблонами согласно сортировки по Name (для обработки по приоритетам.
XML-файл можно выложить на HTTP-сервер (указать в bc.url) и обновлять по необходимости через пункт меню «Service»-«Download patterns»
P.S. Структуру хml файла не советую менять, кроме добавления строк с шаблонами. Так как не было необходимости обрабатывать возможные ошибки.
В состав архива входят четыре файла:
— исполняемый модуль (bc.exe)
— путь к файлу с шаблонами для обновления на терминалах (bc.url)
— файл шаблонов (bc.xml)
— wav- файл для звукового оповещения о невозможности обработать отсканированный штрихкод (нет в шаблонах или не содержит информацию о весе)
Пожелания, в меру своих возможностей, постараюсь реализовать, если у кого-то возникнет в этом необходимость.
Язык английский, потому что компания работает не на русском языке. Если это критично кому-то — напишите, и я сделаю две версии (например, на русском).
у мотороллы есть SDK (http://support.symbol.com) и пример как вместо DataWedge использовать сканер напрямую через DeviceAPI.dll которая присутствует на устройстве … в комплекте есть примеры кода для C#, но я в свое время переделывал на Ansi C, а после и на шарпе попробовал
Да, я в курсе таких возможностей, но первая версия использовалась на зоопарке из ТСД (Intermec, Honeywell и Symbol/Motorola). Поэтому привязка к конкретному поставщику оборудования не стояла изначально. К тому же необходимость клавиатурного ввода для ввода поврежденных штрихкодов осталась и из-за этого использование SDK производителей я решил не использовать.