Каталог решений - Организация работы со штрих-кодами посредством веб-интерфейса

Организация работы со штрих-кодами посредством веб-интерфейса

Организация работы со штрих-кодами посредством веб-интерфейса

В наличии

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

Категория:

Описание

Итак, вводная. Возникла задача: в связи с увеличением товарооборота автоматизировать труд сотрудников склада на этапе отгрузки товара. А именно: для снижения вероятности пересортицы использовать механизм штрихового кодирования товара. Казалось бы — к чему изобретать очередной велосипед, если есть готовые решения (с рядом из них мне доводилось работать раньше)?

Но тут начинаются уточнения.

  1. кладовщики хотят работать с экраном побольше, чем позволяют популярные ТСД.
  2. кладовщиков много, а бюджет, мягко говоря, не поражает величиной. А при этом ТСД стоят недёшево.
  3. в качестве WMS используется древняя конфигурация 1С с закрытыми модулями, аппаратными ключами защиты и работающая на древней платформе 8.1. Т.е. рассчитывать на то, что поставщик ТСД организует работу "из коробки" — не вполне уместно.
  4. бизнес-процесс склада организован исходя из своих представлений о прекрасном, так что любой типовой (или условно-типовой) софт по любому придётся переписывать.

Все эти требования ненавязчиво укладываются в описываемую концепцию использования веб-интерфейса. 

А именно:

  1. создание веб-приложения, организующего с одной стороны UI посредством браузера, а с другой стороны — интерфейс с базой WMS посредством файлов обмена.
  2. создание механизма синхронизации данных со стороны 1С (UI, выгрузка данных, загрузка данных)
  3. использование в качестве конечного оборудования любого мобильных устройств, отвечающего минимальным требованиям: возможность подключения сканера штрих-кодов, возможность работы с веб-приложением посредством браузера.

Иначе говоря, вместо "человеческого" ТСД используется дешёвый планшет, а то и вовсе мобильный телефон, к которому посредством Bluetooth подключён сканер штрих-кода. Разумеется, данная методика не исключает и использования терминалов сбора данных: главное — наличие браузера и сети.

Сканер при этом работает в режиме эмуляции клавиатуры, последовательно передавая массив символов при сканировании. Поступающие данные обрабатываются на уровне document.onkeypress в DOM клиента.

А дальше работа идёт следующими этапами:

  1. оператор склада формирует посредством внешней обработки 1С задачи кладовщикам (документы, корректность которых должна быть подтверждена).
  2. обработка ищет каталоги пользователей веб-приложения (каталог, именем которого является внутренний идентификатор пользователя в 1С, которому дано задание). Если не находит, то создаёт. В каталог пользователя 1С записывает .json файлы (имя файла соответствует внутреннему идентификатору документа в 1С, вся необходимая для работы информация записана в контексте объекта для последующей десериализации. Кроме того, 1С формирует .json файл с данными пользователей, которые смогут пользоваться веб-приложением. Сессионность в данном примере реализована посредством cookies, аутентификация выполняется с хешированием паролей (без соли).
  3. веб-приложение после успешной аутентификации   предоставляет список документов, требующих обработки.    При переходе в документ можно приступать к работе. Сканирование штрих-кода (в данном примере используется только EAN-13) позиционирует документ на искомой строке документа и выполняет инкремент фактического (подтверждённого) количества. Для простоты работы выполняется позиционирование по "якорю" и выделение строки цветом. При достижении требуемого количества строка выделяется зелёным цветом. Добавлена возможность ручного ввода количества товара.
  4. по завершении обработки документа, его следует "подтвердить" нажатием на соответствующую кнопку пользовательского интерфейса. В случае расхождений, приложение предупредит об этом пользователя.   При попытке закрыть либо обновить окно браузера, приложение запросит подтверждение пользователя, во избежании утраты наработанных данных (в случае наличия таковых). В результате подтверждения будет сформирован файл с данными обработанного документа в соответствующем каталоге (если есть расхождения с плановыми данными, они будут зафиксированы), а файл со входными данными документа будет удалён и обработанный документ пропадёт из списка задач. WMS 1С мониторит каталог подтверждённых документов. При появлении там файлов с данными выполняет требуемые действия (от простого оповещения оператора системы об успешном или неуспешном выполнении, и до фактической корректировки документа в БД по данным веб-приложения).

Необходимые пояснения и уточнения.

Веб-сервер в данном примере реализован посредством Node.js. Объективно — это может быть любое средство, позволяющее организовать работу веб-приложения. Хоть Python, хоть вовсе C#. Это совершенно не принципиально.

Для обмена данными используются файлы, но и это совершенно не принципиально. В данном случае я счёт это решение более простым и универсальным, но не более того.

Для организации клиента и сервера веб-приложения в данном примере я использую AJAX, но более удачным решением, по-моему, является использование WebSocket. Так что и в этом вопросе простор для творчества.

На вопрос "почему не стандартные решения с ТСД?" я ответил выше. Теперь не лишне уточнить, "почему не механизмы 1С, в частности веб-сервисы?". Во-первых — и это невозбранно. Но есть и "во-вторых": используя полноценное решение (как, в данном случае, Node.js), мы получаем платформенную независимость. Это решение за несколько минут можно перестроить под работу с базой на платформе 1С 7.7, например. Нисколько не потеряв в функциональности. Ну и, опять же, убираем лишнее звено: саму 1С из пользовательского интерфейса. Положа руку на сердце — тут это не особо нужно. Плюсы сомнительны, а из минусов — снижение быстродействия, сложности с захватом свободной лицензии, ограничения в формировании интерфейса.

Тем не менее, данная статья не исключает и такого. Основная идея — использование, в качестве инструмента кладовщика, произвольного мобильного устройства в связке со сканером для работы с веб-приложением, общающимся с рабочей базой.

У данного решения есть и минусы. Как минимум — это усложнение системы из-за использования двух устройств вместо одного (впрочем, это не обязательно: есть множество аппаратных решений, вплоть до подключения сканера-"кольца на палец" по OTG к мини-планшету, закреплённому на браслете. Фантазия тут ничем не ограничена. Кроме того, мне довелось столкнуться со сложностями при выборе планшета: не все Bluetooth-устройства взаимно видимы, есть ряд нюансов. Опять же — не следует забывать о проблемах безопасности, если в качестве среды будет использована не локальная сеть, а интернет. Но по моим наблюдениям на текущий момент, эти минусы с запасом перекрываются плюсами такой реализации.

has been added to your cart:
Оформление заказа