Мобильное приложение. Пример реализации сканирования штрих кодов

0. flyer 229 17.05.14 23:38 Сейчас в теме
Пример реализации сканирования штрих кода с помощью мобильного приложения на платформе Android и IOS.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. jack_kkm 34 03.06.14 14:47 Сейчас в теме
Спасибо за статью! Можете выложить исходную конфигурацию?
2. flyer 229 03.06.14 15:12 Сейчас в теме
на данный момент не могу выложить. она будет дорабатываться.
3. jack_kkm 34 04.06.14 15:00 Сейчас в теме
Автор, выручайте, пожалуйста! :)

Какие у Вас версии android sdk и java skd?

У меня платформа 8.3.5.924 и мобильная 8.3.5.52, приложение собирается без ошибок, но на телефоне пишет "ошибка синтаксического анализа" или типа того. На платформе 8.3.4 всё работало нормально, версии андроид и джава сдк не обновлял.
4. jack_kkm 34 04.06.14 15:25 Сейчас в теме
В мобильном приложении при считывании шк говорит "операция не разрешена", но ШК в поле появляется. Это только у меня так?
5. flyer 229 04.06.14 15:41 Сейчас в теме
1 собираете на новом сборщике (1.0.3.13) ?
2 в кладовщике в регистр сведений по объектам штрихкодов укажите правильно штрихкод для номенклатуры и проверьте ее в форме Информация по штрихкоду.
6. jack_kkm 34 05.06.14 09:54 Сейчас в теме
(5) Собираю в новом. Установил последний jsdk и последнее API для андроид, ошибка исчезла.
7. kosikov_oleg 16.09.14 11:56 Сейчас в теме
Подскажите пожалуйста, почему картинка со сканированием ШК получается перевернутой на 90 гр. и спозиционировать на ШК не получатся -ведешь в одну сторону, картинка двигается в повернутой на 90 гр. плоскости.
Спасибо!
8. flyer 229 16.09.14 12:06 Сейчас в теме
(7) kosikov_oleg, модель устройства напишите пожалуйста
9. kosikov_oleg 16.09.14 12:10 Сейчас в теме
планшет китайский Sanei N10,
и на телефоне китайском (Jiayu G5) тоже самое
10. flyer 229 16.09.14 12:24 Сейчас в теме
(9) kosikov_oleg, я так понимаю 1с тестирует работу камеры на флагманах а с остальными не будет заморачиваться. с этим я не помогу
Yaroslav.Tabachnyy; kosikov_oleg; +2 Ответить
11. PiccaHut001 22.10.14 12:32 Сейчас в теме
(10) как всегда в 1С, спасибо борису
12. HIgor 21 27.11.14 13:54 Сейчас в теме
Спасибо за пример. Сталкивались с тем что при сканировании CODE_39 приложение просто отваливается без предупреждения. EAN_13 - отлично обрабатывает. Другие приложения обрабатывают любые типы кодов. Проблема видимо только с CODE_39, проверил на Codabar, QR, CODE_128 - работает
13. baza1978 06.07.15 13:16 Сейчас в теме
а кто нибудь сталкивался с тем что ЗакрытьСканированиеШтрихКодов() не работает? собирал приложение на API 17, пробовал в мобильной конфе, результат один. samsung galaxy s3
14. flyer 229 06.07.15 17:35 Сейчас в теме
(13) baza1978, странно я на разных версиях этот функционал тестировал. напишите версию платформы.
15. dimasikus31 86 24.08.15 16:51 Сейчас в теме
Можете выложить исходную конфу?
16. Nuobu 08.04.16 12:04 Сейчас в теме
Можете сказать, как сделать авто фокус в сканировании штрих кода?
Платформа - 8.3.7.2008.
Мобильная - (2.0.1.31)
Делаю для андроида 4.4 (апи - 18).
17. flyer 229 10.04.16 22:36 Сейчас в теме
(16) Nuobu, в компоненту автофокус встроен. когда наводите камеру на штрихкод программа пытается считать код и видно как меняется резкость на экране. у вас так сейчас работает?
18. nytlenc 26.05.16 04:33 Сейчас в теме
На Nexus 5 не стартует, т.к. сборка не для arm-v7, похоже что под x86!
19. Tarlich 113 27.11.16 20:59 Сейчас в теме
20. Tarlich 113 28.11.16 12:06 Сейчас в теме
не получается закрыть камеру после сканирования (еще бы звук вставить но не Сигнал() не ВоспроизвестиЗвуковоеОповещение() не пашут)
как заставить работать ЗакрытьСканированиеШтрихКодов() ?
21. __kalex 06.03.18 14:15 Сейчас в теме
(20)
В процедуре ОбработкаСканирования:
#Если МобильноеПриложениеКлиент  Тогда
	  	 СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов(); 
 #КонецЕсли
22. Infector 195 21.11.19 09:42 Сейчас в теме
А у кого-нибудь есть примеры с получением штрихкода через внешнее Android-приложение. Сканер из мобильной платформы прямо скажем на троечку. Или где-то в платформе настраивается возможность обращения к другому приложению (что все-таки вызывает сомнения). Если конкретно, то интересен вот этот:

Barcode scanner
23. digitta 22.11.19 12:56 Сейчас в теме
(22) У меня та же задача. Но пока ни чего не нашел. А вы?
24. Infector 195 22.11.19 13:54 Сейчас в теме
(23) Пока не раскопал, но и времени на эксперименты особо много не было.
Нашел такой пример, но тут речь о другом, более известном приложении, но беда в том, что оно не не сильно лучше того, которое в платформу вшито. Иногда даже кажется, что это оно и есть.

https://helpf.pro/faq/view/1801.html
&НаКлиенте
Процедура ЗапуститьСканированиеBarcode()
	
	#Если МобильноеПриложениеКлиент  Тогда
		
		НовВз = Новый ЗапускПриложенияМобильногоУстройства();
		НовВз.Действие="com.google.zxing.client.android.SCAN";
		
		Для Каждого Стр Из НовВз.ДополнительныеДанные Цикл

			Если сокрЛП(Стр.Ключ) = "SCAN_RESULT" Тогда
				Штрихкод = Стр.Значение;
				//Сообщить(Стр.Ключ+" - "+Стр.Значение);
				
				Структура = ОбщегоНазначенияСервер.ПолучитьОбъектПоШтрихКоду(ШтрихКод);			     			
				Если Структура = Неопределено Тогда
					пТовар = Неопределено;
				Иначе
					пТовар = Структура.Номенклатура;
					
					ОткрытьЗначение(пТовар);				
					
				КонецЕсли;
			КонецЕсли;	
		КонецЦикла;
		
	#КонецЕсли

КонецПроцедуры  
Показать


https://play.google.com/store/apps/details?id=com.google.zxing.client.android
25. Infector 195 25.11.19 11:50 Сейчас в теме
(23)получилось со сканером zxing. Результат лучше, чем с встроенным в платформу, но специфические коды все-равно не берет (В частности GS1 - (двустрочный), причем читает отдельные его части как EAN8). Однако, если столь экзотических кодов на практике не нужно, то подойдет. процедура из примера в итоге модифицировалась к следующему:

&НаКлиенте
Процедура СканироватьШК_Внешнее(Команда)
	
	#Если МобильноеПриложениеКлиент  Тогда
       
        НовВз = Новый ЗапускПриложенияМобильногоУстройства("com.google.zxing.client.android.SCAN");
	НовВз.Запустить(Истина);
		
	КлючИЗначение = НовВз.ДополнительныеДанные.Получить("SCAN_RESULT");	
		
	Если КлючИЗначение <> Неопределено Тогда
		Штрихкод = КлючИЗначение.Значение;
		ОбработчикШК(Штрихкод,Истина,"",Неопределено);
	КонецЕсли;

	
	#КонецЕсли
	
КонецПроцедуры

Показать


С приложением от Cognex Corporation к сожалению пока ничего не вышло.
user1032103; +1 Ответить
26. digitta 07.12.19 23:20 Сейчас в теме
30. maxmax83 05.03.22 13:14 Сейчас в теме
(25) Напишу тут, может пригодится кому. Искал решение для сканирования и разбора GS1. По умолчанию zxing не передает спецсимволы в результате сканирования, в частности FNC1, поэтому невозможно получить значения идентификаторов применения c переменной длиной. Включается передача спецсимволов параметром ASSUME_GS1:
НовВз = Новый ЗапускПриложенияМобильногоУстройства("com.google.zxing.client.android.SCAN");
НовВз.ДополнительныеДанные.Добавить("ASSUME_GS1", Истина);
НовВз.Запустить(Истина);
Кроме FNC1, также появится в начале идентификатор символики согласно спецификации (раздел 5.1.3)
27. aeroclub 09.01.20 13:21 Сейчас в теме
Не работает под Андроид 9
28. user635667 130 20.09.21 06:06 Сейчас в теме
А как реализовать подключение обычного Сканера ШК через OTG???
29. wertep 9 24.12.21 14:34 Сейчас в теме
Вот спасибо, толкнул в нужную сторону как это работает. А то кругом написано "можно" через камеру, а как даже не намекают. Шел от сканеров поэтому всю БПО перекопал.

Параметр "Результат" является выходящим, поэтому для того чтобы надпись была красная нужно в коде обработчика присвоить ему Ложь. А проверять на входе не надо потому как он всегда Истина.
&НаКлиенте
Процедура ОбработкаСканирования(Штрихкод, Результат, Сообщение, ДополнительныеПараметры) Экспорт

	Ошибка = ЕстьОшибкаВвода(Штрихкод);
	Если Ошибка = Ложь Тогда
		Сообщение = "Обработали";
	Иначе
		Сообщение = "Не обработали";
		Результат = Ложь;
	КонецЕсли;

КонецПроцедуры
Показать

Вот так сообщение "Не обработали" будет красным.
Оставьте свое сообщение
Вакансии
Консультант 1С
Москва
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Аналитик 1C
Москва
зарплата от 120 000 руб. до 250 000 руб.
Полный день

Начальник отдела программирования
Уфа
зарплата от 125 000 руб.
Полный день

Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день