Мобильное приложение для склада с функцией голосового ввода

05.03.18

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

Несложное приложение под Андроид предназначенное для выполнения операций по наборке и приемке товаров на складе, а также выполнения других складских операций. Мобильная часть решения написана под терминалы сбора данных на Android. Транспорт данных - POST - запрос на HTTP сервис. Серверная часть - сервис на базе 1С сервера.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Мобильное приложение для склада с функцией голосового ввода:
.rar 7,92Mb
9
9 Скачать (2 SM) Купить за 2 150 руб.

1. Цели и задачи внедрения решения

При разработке приложения решались сразу несколько задач, а именно:

- Обеспечить обработку наборки товара по документам перемещений;

- Обеспечить обработку оприходования товара из приходных накладных;

- Обеспечить инвентаризацию штрихкодов товаров (в .т.ч. создание новых);

- Обеспечить работу в онлайн режиме связи с 1с, посредством локальной сети, через wi-fi;

- Обеспечить дешевизну решения.

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

2. Аппаратная часть часть решения

Для работы решения подходит, в принципе, любое устройство на Андроиде, будь то планшет, терминал сбора данных или даже телефон. Основные требования: 1. Наличие любого подключения к сети (локальной или интернет), 2. Наличие камеры с разрешением, достаточным для распознавания штрихкода и (или) наличие лазерного считывателя штрихкодов (1D или 2D). 3. Наличие микрофона. Уровень защищенности от внешней среды следует учесть при выборе устройства под конкретные условия эксплуатации и персонал. Стоимость таких устройств начинается от 18 т.р. Требования по серверной части: любой сервер, способный тянуть базу 1С + апач.

3. Программная часть решения

Решение состоит из приложения под ОС Андроид, версии не ниже 4.1 и HTTP-сервера, обрабатывающего запросы от мобильного приложения. В принципе, на стороне сервера может быть не обязательно 1С-сервер, но и сервис на php + СУБД на mySQL.

Как было ранее сказано, при разработке приложения следовало сделать его пригодным для решения наибольшего круга задач. Это привило к решению о необходимости универсализации структур данных и переноса основной бизнес-логики на сторону 1С. Проще говоря, мобильное приложение реализует только аппаратно специфичные функции (сканирование и распознавание штрихкода, запись и распознавание речи, отображение данных и интерфейс взаимодействия с кладовщиком). Приложение даже не имеет собственной СУБД (хотя она вполне несложно реализуется). Развертка СУБД повлекла бы необходимость создания планов обмена, хранения больших объемов данных на стороне ТСД, соблюдение правил синхронизации и т.д. В существующем-же решении приложение формирует запрос и передает его на сервер 1с, который возвращает минимум нужной информации. Недостаток этого подхода состоит в необходимости постоянного подключения к сети, но при тестировании решения ширина полосы пропускания 3G оказалась достаточной для комфортной работы.

Конфа 1С для формирования выходных и обработки входных структур прилагается. 

Реализованный функционал:

1. Сканирование штрихкода с использованием камеры (используется библиотека zxing)

2. Автофокус сканера (при сканировании камерой) с изменением частоты цикла автофокуса.

3. Куча других настроек zxing, призванных улучшить скорость сканирования и снизить количество ошибок.

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

5. Подсветка при сканировании камерой в темное время суток (включается автоматически при начале сканирования).

6. Сканирование штрихкода с использованием аппаратного лазерного сканера устройства. Как это работает - описал в другой статье: //infostart.ru/public/623232/

7. Пароль супервизора на изменение настроек приложения (уж очень руки неспокойные у пользователей).

8. Возможность голосового ввода значений на русском языке (как цифр, так и фильтров поиска объектов по базе 1с). Есть один забавный момент. Например, чтобы Андроид интерпретировал слово как цифру "1", надо говорить не "один", а "раз". В остальном-же все распознает четко. Там есть куча настроек по распознаванию (уровень подавляемого шума, задержки всякие и т.д.). Я выведу их в настройки потом. 

9. Возможность работы с произвольным HTTP сервисом и унифицированность формата передаваемых данных.

10. Возможность адаптации несложного функционала на стороне сервера 1С под свои потребности.

11. Возможность добавлять, изменять, удалять номенклатуру; изменять единицы, серии, характеристики и качество номенклатуры, полученной из документа (поиск производится по фильтру, к наименованию - вводится с виртуальной клавиатуры или голосом. Вид сравнения "СОДЕРЖИТ", впрочем, тоже может быть изменен на стороне 1с. Кроме того, можно добавлять к фильтру кодовую фразу с меткой вида сравнения, например "Фильтр Равен ...." или "Фильтр не равен....", а на стороне 1с это все обрабатывать. Еще раз повторяю, что Андроид речь распознает очень четко.)

12. Исходники приложения на C# (Xamarin), PCL-проект (этот вид проекта позволяет махом его расширить на использование под IOS и Windows - такая вот магия).

Исходники не выкладываю. Т.к. здесь вряд-ли кто-то будет их качать, а размер большой. По запросу - могу скинуть.

Ссылка на исходники: https://github.com/KotVezdehod/ScanBee

Там-же, в проекте, есть и сборка. Так-же называется "СБОРКА.rar". В ней то-же самое, что и здесь, в прикрепленных файлах.

P.S.

Это версия не "из коробки". Предполагается, что в конфе есть реализация сервиса по обмену данными с устройством и при мер реализации алгоритма разбора получаемых данных и подготовки отправляемых данных, а также необходимые универсальные метаданные, наличие которых обусловлено обменным механизмом.
Итого там есть:
1. Общий модуль "ПодготовкаДанныхДляТСД"
2. HTTP-Сервис "Warehouse_1_0"
3. Перечисление "ФункциональноеНазначениеУстройства"
4. РС "ТоварКОбработкеВТСД" (хранятся данные о состоянии наборки документов)
5. РС "ФункциональнаяПривязкаУстройств" (данные о функции, для которой будет использоваться конкретное устройство)

Изменения на 02.02.2018.

1.Добавлено сжатие потока данных при обмене между 1с и мобильным приложением.

Это позволяет примерно в 1,5-2 раза сократить объем передаваемых данных и время передачи.

1.1. Реализация на стороне мобильного приложения. Передаваемая структура json конвертируется в массив байтов, который затем преобразуется в поток и сжимается посредством класса DeflateStream (пространство имен: System.IO.Compression; сборка в NuGet "Microsoft.Bcl.Build" (бета-версия, но за исключением некоторых странностей поведения, свою функцию выполняет)), затем сжатый поток сохраняется в массив байтов и преобразуется в строку BASE64, которая и передается на сторону 1с. Прием - в обратном порядке.

1.2. Реализация на стороне 1с (очень весело). 1с так и не сделала класс для сжатия и извлечения потоков данных, хотя и есть объекты и методы для работы с двоичными данными, чтения zip-архивов и сжатия данных, помещаемых в хранилище значений. Но вот чтобы все вместе, т.е. работа с потоком сжатых данных - нет. Это проблема. Пришлось воспользоваться методами из публикации //infostart.ru/public/618906/ В общем, все работает.

2.Добавлена подсветка строк в таблице товаров документа, по которым набранное количество отличается от количества к наборке.

2.1. Реализация на стороне мобильного приложения. Используется  интерфейс "IValueConverter".

3.Добавлена подсветка строк в таблице товаров документа, по задаваемой строковой метке.

Например, в документе 50 позиций к наборке. Товар разложен по типу (краска, гвозди, молотки и т.д.). Штрихкодов, чтобы их ловко отсканировать - нет.  Посредством новой фичи, оператор может введя строку поиска подсветить в списке товары определенного вида. 

3.1. Реализация на стороне мобильного приложения. Используется  интерфейс "IValueConverter".

Изменения на 05.03.2018.

1. Реализовано чтение настроек через сканирование штрихкода, созданного на стороне 1с.

Чтобы не забивать настройки в ТСД (т.к. это утомительно делать на нескольких устройствах) на стороне 1с в регистре сведений "Настройки ТСД" создаются записи с настройками для каждого устройства. При нажатии в форме записи регистра кнопки "показать штрихкод" на экране отображается QR-код с сжатыми алгоритмом Deflate и завернутыми в BASE64 настройками. На стороне ТСД они могут быть прочитаны камерой и применены к устройству. Все это делается за 10-15 секунд.

ТСД Терминал сбора данных мобильное приложение склад наборка товара штрихкоды инвентаризация

См. также

Логистика, склад и ТМЦ Бухгалтер Пользователь Платформа 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    194949    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    6061    21    0    

12

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38196    108    161    

201

Загрузка и выгрузка в 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    156041    378    378    

513

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

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

35000 руб.

24.03.2015    125644    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    216743    657    527    

456
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tahallus 441 08.08.17 11:25 Сейчас в теме
Проще исходники выложить на github
user931544; jaroslav.h; +2 Ответить
2. Prometeus2011 215 08.08.17 12:24 Сейчас в теме
Да, сделаю - ссылку сюда кину.
starik-2005; jaroslav.h; +2 Ответить
3. jobkostya1c_ERP 100 09.08.17 06:34 Сейчас в теме
Хорошая идея приложения для склада с голосовым поиском.
4. Prometeus2011 215 09.08.17 09:41 Сейчас в теме
(3), Видели бы вы изумление на лице коммерческого...
5. jaroslav.h 180 09.08.17 10:14 Сейчас в теме
(4)двумя руками за исходники
6. WellMaster 104 09.08.17 12:18 Сейчас в теме
Аналогично делал Акселот в своей 1с:WMS Управление складом. Я про то, что на ТСД мобильное приложение отрисовывает то, что ей "сообщит" сервер 1с.

А можно по-подробней про практическое применение голосового управления?
8. Prometeus2011 215 09.08.17 13:50 Сейчас в теме
(6), Нет, приложение отрисовывает, то что зашито в коде и сказано ему отрисовать в настройках на стороне ТСД. Не так круто. Просто, например, поиск объектов ведется не на устройстве, по полным справочникам, которые туда надо загнать предварительно, а на стороне сервера. На сервер передается конкретный запрос.

Распознавание речи можно применять при вводе фильтров поиска объектов. Например, хочет кладовщик добавить в документ новую позицию, "Насос центробеж. НПЦ 400/30 "Калибр"", ему надо ввести фильтр поиска на стороне ТСД. Можно в окошечко вбивать "насос", а можно нажать большую кнопку и сказать "насос" или "калибр". Все быстрее. Цифры тоже можно голосом вводить.
7. WellMaster 104 09.08.17 12:24 Сейчас в теме
Еще ничего не сказано про минимальную версию платформы 8.3.10
9. Prometeus2011 215 09.08.17 13:54 Сейчас в теме
Не, версия платформы - любая, главное чтобы функционал http- запросов был.
14. WellMaster 104 09.08.17 20:46 Сейчас в теме
(9) Попробовал открыть конфу платформой 8.3.9, ругнулось, что нужна 8.3.10.
15. Prometeus2011 215 09.08.17 21:09 Сейчас в теме
(14). Да, совместимость конфигурации была отключена по-умолчанию. Поставил 8.3.8. Перезалил.
Как тут сделать скачку бесплатной?
18. sasha777666 325 11.08.17 17:40 Сейчас в теме
(15) никак, инфостарт не разрешает :(
10. DitriX 2101 09.08.17 16:27 Сейчас в теме
Дык, в мобильной 1С такое юзается уже года два. По фикту - кроме эффекта "вау" ничего не дает. Так как на шумном складе, с ветром, с криками и т.д. - очень плохо идет распознание. А каждый раз подносить к лицу и кричать - бред.
Так что используется только отделом брака, где надо надиктовать причину, по которой некая модель была посчитана браком.
11. Prometeus2011 215 09.08.17 16:35 Сейчас в теме
(10), В мобильной платформе 1с есть распознавание речи?
12. DitriX 2101 09.08.17 19:32 Сейчас в теме
(11) а чего бы и нет? Это стандартный функционал андроида :) Там много чего есть, резка фото, маршруты и куча разных других приколов. Но для этого надо знать - что такое андроид и как он работает. Добавить в 1С ввод голосом - 3 строки кода :)
13. Prometeus2011 215 09.08.17 20:43 Сейчас в теме
(12), Ниче себе! А что за метод или объект платформы??? На Шарпе настроек-то специфичных только строк на 9! На форумах все шлют ко внешним компонентам. Ну, а внешняя компонента - геморрой больший, чем сборка чисто на C#. Собственно, из-за недостатков в реализации взаимодействия с аппаратной частью и многими функциями оси, выбрал другую среду разработки. Если на 1с реализовать перехват адресного системного Intent'a проще - значит 1сники сильно вперед продвинулись.
16. DitriX 2101 09.08.17 22:22 Сейчас в теме
(13)
	
        НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.speech.action.RECOGNIZE_SPEECH");
	
	Если НовВз.Запустить(Истина) = 0 Тогда
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не поддерживается на вашем устройстве.");
	Иначе
		Объект.Комментарий = НовВз.ДополнительныеДанные.Получить("query").Значение;
	КонецЕсли;
Показать


Это если грубо говоря.
akR00b; Alien_job; Danil.Potapov; obemgyorik; +4 Ответить
17. Prometeus2011 215 10.08.17 09:36 Сейчас в теме
(16). Спасибо. В принципе, то-же самое.

 
var voiceIntent = new Intent(RecognizerIntent.ActionRecognizeSpeech);
StartActivityForResult(voiceIntent, Globals.VOICE);

Только классы констант с нужными строками из СДК есть.
Но, откровенно говоря, там еще процедуру для перехвата результата активити надо реализовывать. На 1с - проще, конечно.
19. WellMaster 104 14.08.17 21:08 Сейчас в теме
Запустил на 8.3.10
В конфе почти ничего нет.
Что с ней делать - не ясно.
Зря потраченное время
20. Prometeus2011 215 15.08.17 09:51 Сейчас в теме
(19)1. Это версия не "из коробки". Предполагается, что в конфе есть реализация сервиса по обмену данными с устройством и при мер реализации алгоритма разбора получаемых данных и подготовки отправляемых данных, а также необходимые универсальные метаданные, наличие которых обусловлено обменным механизмом.
Итого там есть:
1. Общий модуль "ПодготовкаДанныхДляТСД"
2. HTTP-Сервис "Warehouse_1_0"
3. Перечисление "ФункциональноеНазначениеУстройства"
4. РС "ТоварКОбработкеВТСД" (хранятся данные о состоянии наборки документов)
5. РС "ФункциональнаяПривязкаУстройств" (данные о функции, для которой будет использоваться конкретное устройство)

Я мог-бы просто выложить описание обменных структур, но это сложно и затратно по времени, как для меня, так и для читающего. По-этому проще выложить функционал.
Если-бы решение было адаптировано ко всем конфигурациям, то я-бы запросил за решение денег. А за бесплатно, я гарантирую, что решение рабочее, но на внедрение и отладку - надо потратить время.
21. alexander-lubich 19 17.01.19 12:53 Сейчас в теме
Вопрос автору: https://github.com/KotVezdehod/ScanBee это серверная часть?

проект из которого был собран файл apk Вы не открываете?
Оставьте свое сообщение