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

19.12.19

Учетные задачи - Логистика, склад и ТМЦ

Вариант организации работы со штрих-кодами без терминалов сбора данных на примере подтверждения документов отгрузки 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-устройства взаимно видимы, есть ряд нюансов. Опять же - не следует забывать о проблемах безопасности, если в качестве среды будет использована не локальная сеть, а интернет. Но по моим наблюдениям на текущий момент, эти минусы с запасом перекрываются плюсами такой реализации.

Веб-интерфейс

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 22800 руб.

21.04.2017    90171    105    39    

190

Модуль "Ответственное хранение" или фулфилмент (FBS / FBO) для 1С:УТ 11.5, КА 2.5, ERP 2.5

Логистика, склад и ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    34306    27    57    

54

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210149    620    524    

439

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн. Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

2880 руб.

03.12.2018    54604    137    102    

161

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150705    367    375    

501

AS WMS: автоматизация склада с адресным хранением с помощью ТСД

Логистика, склад и ТМЦ Платформа 1С v8.3 Россия Платные (руб)

Подсистема управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления адресным складом. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

40000 руб.

26.07.2023    3219    13    0    

8
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 502 19.12.19 20:06 Сейчас в теме
На практике как себя проявляет? Bluetooth стабильно себя ведет, сканер не отваливается?
4. Дуб 79 20.12.19 08:20 Сейчас в теме
(1) в моём случае - не отваливается. Но, как сказал выше, если ситуация позволяет, то хоть по OTG можно подключать.
2. CheBurator 3119 19.12.19 21:37 Сейчас в теме
ну, на ncl с нормальным интерфейсом сделанным под _складские_ задачи - еще и свободное место остается, так что п.1 - сильно притянут за уши. остальные пункты - как говорится на вкус и цвет... работает - и хорошо...
.
правда ни от одного кто пытался на складе запилить низкобюджетное решение на блютузе\планшетах\смартфонах - так обратной связи и не поступало - сколько убито дивайсов за год и каков экономический эффект :-)
.
у меня тсд motorola9090, купленные в 2008 г - до сих пор работают...
.
3. informa1555 2646 20.12.19 07:24 Сейчас в теме
(2) Ну моторолла то и нас переживет) По поводу низкобюджетных - у меня десятки живых примеров на Simple UI/Simple WMS из разряда bluetooth сканер+андроид либо телефон. Даже просто незнакомые компании(не мои) в ветке по Simple WMS отписывались что у них работает на телефонах. Задачи разные и не все высоконагруженные логистические терминалы, есть например участки цехов и т.п. где тоже надо вести учет, а мотороллы сейчас стоят ваще негуманно
5. Дуб 79 20.12.19 08:25 Сейчас в теме
(2) если есть нужда в крупных шрифтах, то лучше иметь выбор.
По поводу обратной связи - она не всегда бывает. И дело не обязательно в реализации: закрываются конторы, меняются задачи.
Опять же: в данном случае я говорил не о конкретной реализации, а о методике, позволяющей обойти "узкие места". Если есть возможность и желание - можно в рамках этой же методики пользоваться и "стандартными" решениями.
А статью запилил в первую очередь потому, что меня неоднократно разные коллеги по цеху пытались убедить, что это в принципе невозможно. Начиная от полноценного использования для данных задач сканера в режиме эмуляции клавиатуры и до приемлемой скорости работы.
6. gzharkoj 502 20.12.19 14:42 Сейчас в теме
Картинки сломались в статье.
7. acanta 21.12.19 23:51 Сейчас в теме
Очень интересно. Имхо конечно, но любые низкобюджетные решения предназначены для того, чтобы осталась возможность больше потратить потом.
10. Дуб 79 30.12.19 16:14 Сейчас в теме
(7) повторюсь: тут вопрос не в малобюджетности (хотя и это тоже имеется). Тут методика работы.
Серьёзно подозреваю, что не я первый этакий самокат изобрёл. Пару лет назад на мисте некто искал браузер, понимающий свежий ecma и при этом работающий на старых ТСД. Значит есть решения помимо моего.
Основная фишка такого решения - масштабируемость и произвольность конкретной реализации. Т.е. работать может на чём угодно. Интерфейсы доступны какие угодно. Фронтом и бэком может быть что угодно. И т.д.
11. acanta 30.12.19 16:28 Сейчас в теме
(10) как правило конкурентоспособным является решение, если оно будет работать только на том, что куплено у вас.
Сегмент b2b всегда проигрывает в рентабельности.
8. mkostya 30 23.12.19 15:22 Сейчас в теме
А будет ли больше технических подробностей или исходный код, интересное решение.
9. Дуб 79 30.12.19 16:09 Сейчас в теме
Исходный код готов выложить, но на текущий момент он не универсален. Собственно, он состоит из трёх частей:
1. обработка 1С
2. сервер на Node.js
3. пользовательский интерфейс на html+css+js
Пока динамическая генерация выполняется только с применением Конфигуратора 1С (там есть элемент программного интерфейса, определяющий пользовательский интерфейс: состав полей, оформление в некоторых пределах). В принципе - код прост, как портянки прапорщика и позволяет вносить модификации в клиентскую часть без особых познаний в JS.
Если есть интерес и желание - могу выложить. Только не вполне представляю формат. Отдельную публикацию делать? Или текущую менять?..
Kontakt; Jestem; +2 Ответить
12. Jestem 06.01.20 13:36 Сейчас в теме
(9) Спасибо, что поделились опытом. Здорово будет исходники посмотреть. Особенно пункты 2,3.
13. Kontakt 109 09.01.20 08:09 Сейчас в теме
Интересное решение. Выложите исходники.
14. Cyberhawk 135 20.01.20 16:51 Сейчас в теме
сложности с захватом свободной лицензии
А какие сложности?
Оставьте свое сообщение