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

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

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

См. также

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

Программа позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

89900 руб.

09.06.2020    38668    28    59    

64

SALE! 10%

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

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    194948    150    243    

280

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

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

40000 руб.

26.07.2023    6059    21    0    

12

Загрузка и выгрузка в 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 1С:Розница 3.0 Платные (руб)

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

15600 руб.

20.11.2015    156038    378    378    

513

Логистика, склад и ТМЦ Бухгалтер Пользователь Платформа 1С v8.3 Сельское хозяйство и рыболовство Строительство Горнодобывающая промышленность Розничная и сетевая торговля (FMCG) Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Лесное и деревообрабатывающее хозяйство Управленческий учет Платные (руб)

Позволяет автоматизировать процесс взвешивания ТМЦ в организациях, осуществляющих приемку и отгрузку различным транспортом, для ведения складского учета и контроля остатков на складах. Конфигурация позволяет фиксировать вес вручную, напрямую с весов, а также управлять дополнительным оборудованием и контролировать движение транспорта.

35000 руб.

24.03.2015    125643    300    114    

136

SALE! 15%

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

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

11100 9435 руб.

29.10.2014    216740    657    527    

456

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

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

28500 руб.

21.04.2017    96350    125    40    

214
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 520 19.12.19 20:06 Сейчас в теме
На практике как себя проявляет? Bluetooth стабильно себя ведет, сканер не отваливается?
4. Дуб 79 20.12.19 08:20 Сейчас в теме
(1) в моём случае - не отваливается. Но, как сказал выше, если ситуация позволяет, то хоть по OTG можно подключать.
2. CheBurator 2712 19.12.19 21:37 Сейчас в теме
ну, на ncl с нормальным интерфейсом сделанным под _складские_ задачи - еще и свободное место остается, так что п.1 - сильно притянут за уши. остальные пункты - как говорится на вкус и цвет... работает - и хорошо...
.
правда ни от одного кто пытался на складе запилить низкобюджетное решение на блютузе\планшетах\смартфонах - так обратной связи и не поступало - сколько убито дивайсов за год и каков экономический эффект :-)
.
у меня тсд motorola9090, купленные в 2008 г - до сих пор работают...
.
3. informa1555 2715 20.12.19 07:24 Сейчас в теме
(2) Ну моторолла то и нас переживет) По поводу низкобюджетных - у меня десятки живых примеров на Simple UI/Simple WMS из разряда bluetooth сканер+андроид либо телефон. Даже просто незнакомые компании(не мои) в ветке по Simple WMS отписывались что у них работает на телефонах. Задачи разные и не все высоконагруженные логистические терминалы, есть например участки цехов и т.п. где тоже надо вести учет, а мотороллы сейчас стоят ваще негуманно
5. Дуб 79 20.12.19 08:25 Сейчас в теме
(2) если есть нужда в крупных шрифтах, то лучше иметь выбор.
По поводу обратной связи - она не всегда бывает. И дело не обязательно в реализации: закрываются конторы, меняются задачи.
Опять же: в данном случае я говорил не о конкретной реализации, а о методике, позволяющей обойти "узкие места". Если есть возможность и желание - можно в рамках этой же методики пользоваться и "стандартными" решениями.
А статью запилил в первую очередь потому, что меня неоднократно разные коллеги по цеху пытались убедить, что это в принципе невозможно. Начиная от полноценного использования для данных задач сканера в режиме эмуляции клавиатуры и до приемлемой скорости работы.
6. gzharkoj 520 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 Сейчас в теме
сложности с захватом свободной лицензии
А какие сложности?
Оставьте свое сообщение