Столкнувшись с проблемой сканирования на мобильном приложении нового ТСД фирмы DISC, пришли к публикации Дмитрия //infostart.ru/public/587908/
Но он отказался всячески работать на неведомой корейской штуковине.
После переписки с Дмитрием я получил исходный код этого сервиса, и работа закипела.
Так как у нас планируется множество разных гаджетов, пришлось сразу пилить универсальный apk.
Дмитрий в своем APK отрабатывал byte данные, а неведомая зверушка отдавала уже готовый string.
Сервис был на лету переписан с непосильной огромной помощью Дмитрия, за что ему отдельное спасибо.
И на свет родилась готовая конфигурация - шаблон для работы со сканером.
Итак, теперь есть отладочная информация, и если вы не знаете intent который передаёт ваш сканер, его можно будет просто найти. Сложно с barcodedata - уж его придется искать в интернете или....
В нашей зверушке все эти параметры были в настройках.
Добавился параметр типа передачи данных - string или byte
Ну и собственно сама конфигурация
Платформа разработки 1С:Предприятие 8.3 (8.3.11.2867) (уж пардоньте, мы очень ждали новый функционал расширений).
Мобильная платформа 8.3.10.51.
Пишите ваши intent и barcodedata и модель - буду добавлять и обновлять конфигурацию.
UPD: Добавлена возможность сканирования штрих-кода через приложение Barcode Scanner - теперь можно любой смартфон превратить в почти полноценный ТСД.
UPD2: Далее мы столкнулис с проблемой, что типовой способ который предлагает платформа, фотографирует вверх ногами, и нельзя предварительно посмотреть фото. Плюс фото не сохраняется никуда. Мы решили это исправить. Тоже через наш apk приложение.
Приложение запускает встроенную камеру и сохраняет их в папку "DCIM/1C_Photo"
В версии 1.3 есть код типового способа ( можете попробовать) и через наш APK.
Через наш "apk-перехватчик" есть возможность пользоваться всеми прелестями встроенного приложения камеры и подтверждать фото перед передачей его в 1С. Фото сохраняются в справочник Фото - для демонстрации как можно обращаться с файлами и данными.
Версия 1.1 - apk-файл сервиса в общих макетах конфигурации - только перехват Broadcast сообщений со встроенного ТСД сканера штрих-кодов
Версия 1.2 - apk-файл Barcode Scanner (4pda) в общих макетах конфигурации - функции версии 1.1 + возможность сканировать штрих-коды через камеру.
Версия 1.3 добавлен код типового способа сделать снимок + через apk файл.
FAQ:
Я всё прописал - у меня не сканирует(перехват broadcast 1.1):
1) проверьте что включен режим broadcast intent (event intent) ( не key intent, не clipboard intent)
2) проверьте что в ПО сканера при тестировании у вас происходит сканирование
3) проверьте что включен режим отладки
4) сверьтесь что у вас выходят сообщения так-же как в видео при режиме отладки.
5) после установки драйвера-перехватчика рекомендую перезапустить 1с
6) проверьте что верно выбран идентификатор базы
Я выбрал в списке все версии устройств - ничего не заработало:
Ищите в комментариях публикации ваше устройство и что надо прописать. Изначально в cf файлах только моё устройство DSIC DS9. (постараюсь добавлять новые по мере возможности)
Где установить Barcode Scanner:
При первом обращении к сканированию через фотокамеру компонента перехвата сама предложит его скачать из google play. Но если у вас на устройстве нет интернета или лень качать, то обратите внимание на кнопку "установить приложение" в настройках - я её разместил ниже и не все сразу её замечают. APK там версии 4.7.7 скачан с 4pda.
Переверните камеру:
Да, в стандартном вызове (этот код для примера есть в модуле и он заккоментирован)
СредстваМультимедиа.СделатьФотоснимок (...)
на многих устройствах фото зеркально вертикально перевернуто.
В версии 1.3 фото происходит через
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
При котором вызывается стандартная камера андройда - там изображение должно быть как на обычной камере ( проверьте настройки встроенного приложения-камеры)
Но есть проблема, на некоторых устройствах даже если сфотографировали верно, фотография в 1с загружается перевернутой - причина не ясна, само фото в папке DCIM/1C_photo в нормальном виде.
Фото в базу загружается через
ДвоичныеДанные = Новый ДвоичныеДанные (Данные);
Где глючит - не понятно, видимо ошибка платформы 1с.
!Внимание на андройдах 6 и выше система безопасности не даёт возможности перехватывать сообщения. Как только появиться информация как это сделать, apk будет обновлен.
Устройства:
Honeywell EDA60K - в комментариях ниже.
ТСД Honeywell Scanpal EDA50K - в комментариях ниже.
sunlux xl-868 - не поддерживает broadcast
ТСД MobileBase ds5 - используйте настройки ds9
ТСД Kcosit V7:
ActionName = "ACTION_BAR_SCAN";
BarcodeData = "EXTRA_SCAN_DATA";
ТипBarcodeData = "byte";
Если Устройство = "Caribe PL-50L" ИЛИ
Устройство = "Caribe PL-40L" ИЛИ
Устройство = "Kcosit V80S"
Тогда
ActionName = "scan.rcv.message";
BarcodeData = "barocode";
ТипBarcodeData = "byte";
Готовое решение
Программа для фулфилмента (FBS / FBO): модуль "Ответственное хранение" в 1С:УТ 11.5, КА 2.5, ERP 2.5
Программа позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".