Баркод (штрихкод/qr-код) на мобильной платформе

1. Xershi 1555 30.10.18 12:15 Сейчас в теме
Приветствую, коллеги!

Стала задача генерации баркода и в частности qr-кода на мобильной платформе. Конкретно на андроиде.

Прошлая моя разработка https://infostart.ru/public/510646/ для мобильной платформы на андроиде не подходит.

Есть проект https://github.com/zxing/zxing, судя по описанию которого можно решить поставленную задачу.

Вопрос как это перенести на 1С? Прикрепил проект в архиве.

Или есть уже готовые решения?
Прикрепленные файлы:
zxing-master.part1.rar
zxing-master.part2.rar
Найденные решения
69. Xershi 1555 30.01.20 17:08 Сейчас в теме
Свежие новости с полей!
Для генерации QR-кода можно воспользоваться БПО для мобильных приложений версии 2.10.8
В демо базе мобильной БПО есть обработка "Демо печать штрихкода"
Ее можно использовать как пример.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. IgorKissil 354 16.11.18 18:17 Сейчас в теме
12. Xershi 1555 16.11.18 18:21 Сейчас в теме
(11) демо версия не работает. Автор молчит. Соответственно интереснее самому написать!
2. Xershi 1555 30.10.18 13:59 Сейчас в теме
Посмотрел что есть в Мобильная касса (для разработчиков) релиз 2.18.2.0 от 31.07.2018
Похоже там только читалки, которые подключаются к мобиле.
Выгрузив драйвер в архиве нашел com_1c_MobileBarcodeScanner_1_0_3_2.apk
Выходит если залить АПК в макет, то его можно использовать как компоненту?
3. Xershi 1555 30.10.18 16:39 Сейчас в теме
Давно читал статью:
https://wonderland.v8.1c.ru/blog/vneshnie-komponenty-v-mobilnom-prilozhenii/
Может кто подскажет как из проекта на гите самому реализовать компоненту?
4. Xershi 1555 30.10.18 20:10 Сейчас в теме
Пока нашел статью https://infostart.ru/public/589245/ по которой можно начать разбираться в теме.
5. Xershi 1555 31.10.18 17:43 Сейчас в теме
Пока решил открыть библиотеку подключаемого оборудования для мобильной платформы.

В манифесте такой текст:
<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle" name="com_1c_MobileBarcodeScanner">
  <component os="Android" path="libcom_1c_MobileBarcodeScanner_i386_1_0_3_2.so" codeType="c++" type="native" arch="i386"/>
  <component os="Android" path="com_1c_MobileBarcodeScanner_1_0_3_2.apk" codeType="java" type="native" arch="i386"/>
  <component os="Android" path="libcom_1c_MobileBarcodeScanner_ARM_1_0_3_2.so" codeType="c++" type="native" arch="ARM"/>
  <component os="Android" path="com_1c_MobileBarcodeScanner_1_0_3_2.apk" codeType="java" type="native" arch="ARM"/>  
</bundle>

В андроид манифесте:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:android="http://schemas.android.com/apk/res/android" >

    <!--uses-permission android:name="android.permission.WAKE_LOCK" /-->
	
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
	
    <target xpath="/manifest/application" >		

    </target>

</root>
Показать

Каким методом можно активировать внешнюю компоненту?
6. Xershi 1555 31.10.18 18:40 Сейчас в теме
Не может определить тип:
	УстановитьВнешнююКомпоненту("ОбщийМакет.Драйвер1ССканерШтрихкода");
		
		ВнешняяКомпонентаПодключена = ПодключитьВнешнююКомпоненту("ОбщийМакет.Драйвер1ССканерШтрихкода", "com_1c_MobileBarcodeScanner", ТипВнешнейКомпоненты.Native);
		
		Если ВнешняяКомпонентаПодключена Тогда
			
			ГенераторQRКода = Новый ("AddIn.com_1c_MobileBarcodeScanner.com_1c_MobileBarcodeScannerExtension");
			
			ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode("0000001", 0, 300);
			
		КонецЕсли;
Показать
7. Xershi 1555 31.10.18 18:41 Сейчас в теме
Как понять что нужно записать в:
Новый ("AddIn.com_1c_MobileBarcodeScanner.com_1c_MobileBarcodeScannerExtension")
8. Xershi 1555 31.10.18 19:32 Сейчас в теме
В библиотеке нарыл такой код:
УстановитьВнешнююКомпоненту("ОбщийМакет.Драйвер1ССканерШтрихкода");
		
		ДрайверОборудованияИмя = "Драйвер1ССканерШтрихкода";
		ИдентификаторОбъекта = "AddIn.MobileBarcodeScanner";
		
		ИмяОбъекта = Сред(ИдентификаторОбъекта, СтрНайти(ИдентификаторОбъекта, ".") + 1); 
		Префикс = Сред(ИдентификаторОбъекта, 1, СтрНайти(ИдентификаторОбъекта, ".")); 
		ProgID = Префикс + ИмяОбъекта + "." + ИмяОбъекта;
		ВнешняяКомпонентаПодключена = ПодключитьВнешнююКомпоненту("ОбщийМакет." + ДрайверОборудованияИмя, СтрЗаменить(ИмяОбъекта, ".", "_"), ТипВнешнейКомпоненты.Native);
		
		Если ВнешняяКомпонентаПодключена Тогда
			
			ГенераторQRКода = Новый (ProgID);
		
			//ГенераторQRКода = Новый ("AddIn.MobileBarcodeScanner.com_1c_MobileBarcodeScannerExtension");
			
			ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode("0000001", 0, 300);
			
		КонецЕсли;
Показать


ProgID = AddIn.MobileBarcodeScanner.MobileBarcodeScanner
Компонента на клиенте якобы подключается, но Новый (ProgID) все равно валится в ошибку.
А если на сервере подключать, то компонента не подключается.
9. artmaks1988 22 08.11.18 18:23 Сейчас в теме
ProgID должен быть такой - "AddIn.MobileBarcodeScanner.MobileBarcodeScanner" без "Extension"


ДрайверОборудованияИмя = "Драйвер1ССканерШтрихкода";
ИдентификаторОбъекта = "AddIn.MobileBarcodeScanner";

ИмяОбъекта = Сред(ИдентификаторОбъекта, СтрНайти(ИдентификаторОбъекта, ".") + 1); = "MobileBarcodeScanner"
Префикс = Сред(ИдентификаторОбъекта, 1, СтрНайти(ИдентификаторОбъекта, ".")); = "AddIn"
ProgID = Префикс + ИмяОбъекта + "." + ИмяОбъекта; = "AddIn.MobileBarcodeScanner.MobileBarcodeScanner"

ВнешняяКомпонентаПодключена = ПодключитьВнешнююКомпоненту("ОбщийМакет." + ДрайверОборудованияИмя, СтрЗаменить(ИмяОбъекта, ".", "_"), ТипВнешнейКомпоненты.Native);

Если ВнешняяКомпонентаПодключена Тогда

ГенераторQRКода = Новый (ProgID);

ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode("0000001", 0, 300);

КонецЕсли;
10. Xershi 1555 11.11.18 21:37 Сейчас в теме
(9) как вы заметили, то я написал что с таким ИД валится в ошибку.
У вас работает?
13. Xershi 1555 27.11.18 15:33 Сейчас в теме
Пока материалов для изучения нет.
Нашел на ИТС свежую информацию:
1С:Библиотека подключаемого оборудования, редакция 3.0
Общая информация о конфигурации
Порядок распространения платформы и прикладных решений (конфигураций) системы программ 1С:Предприятие 8, разрабатываемых фирмой "1С"
Информация о планируемом релизе
Номер версии 3.0.1
Ориентировочная дата выхода 11.03.19
Дата обновления плановых данных 20.11.18
Объединение хранилищ «1С:Библиотека подключаемого оборудования» и «1С:Библиотека подключаемого оборудования для мобильных приложений».

Поддержка различных платформ
- технологическая платформа 1С:Предприятие;


- мобильная платформа.


Поддержка разных типов клиентов из одного хранилища
- Тонкий клиент для Windows, Linux;


- WEB клиент для Windows, Linux;


- Мобильный клиент для Android, Windows Phone, IOS.


Использования подсистемы БСП для работы с внешними компонентами.
Сетевое оборудование (ККТ-54ФЗ).

Показать

Выходит пару месяцев подождать и будет уже готовый инструмент от 1С.
Но если есть гуру по написанию компонент, то велком!
14. user705428_doctorezhov 03.01.19 23:32 Сейчас в теме
Если еще актуально, уточните: что должно быть на входе и на выходе?
15. Xershi 1555 03.01.19 23:34 Сейчас в теме
(14) как и на стационарной версии.
Вход строка.
Выход баркод.
16. Xershi 1555 03.01.19 23:35 Сейчас в теме
17. user705428_doctorezhov 03.01.19 23:38 Сейчас в теме
попробую поковырять на выходных, но ничего не обещаю.
18. Xershi 1555 04.01.19 00:20 Сейчас в теме
(17) вы лучше задайте направление что и куда. Я и сам сделаю, если знать что делать!
19. user705428_doctorezhov 04.01.19 21:20 Сейчас в теме
Я имею ввиду, что можно подключить ZXing к яве и сделать внешнюю компоненту. Я года полтора назад ZXING прикрутил к проекту с кассой Штрих. Так что объясните поконкретнее, куда Вас направлять? :)
20. Xershi 1555 04.01.19 21:30 Сейчас в теме
(19) ну в принципе об этом и речь.
В теории нужна нейтив компонента, которая будет основана на принципах нативных компонент 1С с функционалом ZXing.
Проект нейтив компонент есть. Как к нему подступиться, чтобы внедрить туда ZXing? Для джавы опыт 5 лвл джава раша только.
21. user705428_doctorezhov 04.01.19 23:13 Сейчас в теме
Если взять туториальный прект StepCounter и в него внедрить. Сможете?
22. Xershi 1555 05.01.19 00:54 Сейчас в теме
(21) ну для начала что мне понадобится? Компилятор джавы?
Идея 2017 2.1 стоит. Наверно надо что-то поновее?
Андроид студия еще стоит. После выхода 8.3.10 обновил до последнего релиза, чтобы мобильные приложения на 8.3.13 делать. Но наверно она чисто для андроида.
23. user705428_doctorezhov 05.01.19 10:28 Сейчас в теме
Как раз именно андроид-студио. Плюс нужно будет некое понимание вообще философии андроид-приложений, научиться прикручивать нативный код к андроид приложению. Я где-то 2-3 месяца корячился, пока смог собрать рабочий проект и созвать внешнюю компоненту, которая нормально прикрутилась к 1С, Поэтому и говорю,что мне проще Вам сделать ВК.
24. Xershi 1555 05.01.19 14:55 Сейчас в теме
(23) можете сами начать и паралельно свой комментарии тут оставлять. Плюс можно как я понимаю проект выложить в гит и освоим эту технологию?
27. Xershi 1555 05.01.19 21:24 Сейчас в теме
(23) обновил все модули. Стоит версия 3.2.1.
Нужно новый проект создавать или можно импортировать из Технология внешних компонент?
Прикрепленные файлы:
25. meriferi 05.01.19 18:12 Сейчас в теме
На Андроид много приложений существует, годные все платные
26. Xershi 1555 05.01.19 18:15 Сейчас в теме
(25) речь идет не о самом приложении, а о компоненте, которую можно к нему подключить. Либо качай приложение, либо бери компоненту и пиши свое!
30. Xershi 1555 10.01.19 00:08 Сейчас в теме
(29) интересная статья. Но к баркодам она мало имеет отношения. ИС иногда для скачки капчу подсовывает, вот наверно это решение поможет обойти.
32. Fox-trot 163 10.01.19 05:41 Сейчас в теме
(30) отношение может имеет мало, но думаю, что достаточно. потому как чел за соседним столом отлично ею пользуется. все сгенеренное унф qr.dll считывает с помощью этой библы гугл вижн
33. Xershi 1555 10.01.19 09:01 Сейчас в теме
(32) так нужна не читалка, а как раз генератор! Читалка в мобильную платформу и так встроена же!
34. Fox-trot 163 10.01.19 09:14 Сейчас в теме
(33)сорян, не въехал...
чукча не писатель, чукча - читатель 8)
28. user705428_doctorezhov 06.01.19 22:54 Сейчас в теме
Тут тема такая. Как я понял, каждый, кто смог что-то сделать с внешней компонентой, хранит это, как зеницу ока. Я - не исключение. Есть туториал от 1 С - StepCounter. Если хотите все сами - ок, пробуйте, если смогу, подскажу. Короче, после Рождества попробую что-то смастрячить, если все получится - будем запускать. :)
31. Xershi 1555 10.01.19 00:09 Сейчас в теме
(28) да, к сожалению ни один разраб, который что-то тут выложил по ВК для андроида не ответил в этой теме по существу...
35. user705428_doctorezhov 12.01.19 22:27 Сейчас в теме
А мне бы обработочку бы, которая на форму QR код выводила. После ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode("0000001", 0, 300);
И, кстати, 0 и 300 - что за параметры?
36. Xershi 1555 13.01.19 12:18 Сейчас в теме
(35) вы бы шапку почитали там ссылка указана.
1. Что шифруем.
2. Коррекция ошибок.
3. Размер.
37. Fox-trot 163 13.01.19 17:46 Сейчас в теме
все ж кажись таки все это безобразие уже есть в телефоне
потому как на моем старом редми4+миуи10 код генерируется системой по любому поводу= будь то настройки сети или запись адресной книги
38. Xershi 1555 13.01.19 19:56 Сейчас в теме
(37) приложения конечно есть. Речь идёт, чтобы это было на 1с!
39. Fox-trot 163 14.01.19 22:36 Сейчас в теме
(38) https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=https://github.com/Xershi&chld=H|2
как вариант. то есть просто шлешь запросы во внешку
или вот проект https://github.com/t0k4rt/phpqrcode таких вроде куча на гитхабе. бери не хочу
40. Xershi 1555 15.01.19 00:28 Сейчас в теме
(39) на мобильном устройстве может не быть интернета. Именно для этого и нужна компонента. Выше же все написали уже))
41. user705428_doctorezhov 17.01.19 22:16 Сейчас в теме
Ну, вк у меня взлетела, двоичные данные передает, только в картинку пихать не хочет. Буду разбираться.
42. Xershi 1555 18.01.19 20:31 Сейчас в теме
(41) поделитесь уже что и как делать?)
43. user705428_doctorezhov 19.01.19 09:02 Сейчас в теме
Я написал вк, она передаёт данные в виде единиц и нулей, соответственно в картинку этот формат не подходит. Мне нужно знать, в каком формате должны быть данные в картинке.
44. Xershi 1555 19.01.19 11:50 Сейчас в теме
(43) формат двоичных данных. Двоичные данные преобразует 1С в картинку.
45. user705428_doctorezhov 19.01.19 13:04 Сейчас в теме
Вот, например чёрный квадрат 10*20. Что будет в двоичных данных? По идее, должны быть размеры и цвета пикселей, которые как последовательность RRB или как индекс палитры?
46. Xershi 1555 19.01.19 14:12 Сейчас в теме
(45) зинк использовали?
Сравни двоичные данные от стационарной вк с твоей вот и будет результат.
47. user705428_doctorezhov 19.01.19 17:59 Сейчас в теме
ZXING как раз и выдает 0 и 1. Стационарной вк у меня нет
48. Xershi 1555 19.01.19 19:42 Сейчас в теме
(47) так рассказывайте какие кнопочки нажимать допилим остальное и сравним!
49. user705428_doctorezhov 20.01.19 23:14 Сейчас в теме
(48) Мне нужен следующий код. На форме 2 картинки. Получаем двоичные данные из первой и формируем вторую картинку на основании этих данных.
50. Xershi 1555 20.01.19 23:24 Сейчас в теме
51. user705428_doctorezhov 21.01.19 10:42 Сейчас в теме
(50)На форму кинул картинку, из файла загрузил bmp. Далее - Дв_дн = Элементы. Декорация1.Картинка.ПолучитьДвоичныеДанные() ;
Элементы.Декорация1.Картинка = новый Картинка(Дв_дн);
Ошибка неправильный формат
62. vovan_victory 65 01.02.19 11:28 Сейчас в теме
(51)Вот так попробуйте
Прикрепленные файлы:
Pic_to_Pic.epf
52. user705428_doctorezhov 21.01.19 19:56 Сейчас в теме
(50) Нужна Ваша почта, скину ВК.
55. Xershi 1555 25.01.19 19:35 Сейчас в теме
(52) не работает в тонком клиенте на винде. Тестить только на андроиде?
57. user705428_doctorezhov 25.01.19 20:19 Сейчас в теме
(55) Да, это только андроидная компонента.
(54) Хорошо бы тогда выкатить полное ТЗ, со всеми хотелками и свиристелками.
(56) У меня и моего знакомого 1С-ника по-другому не получилось. Двоичные данные - это картинка в формате BMP
58. Xershi 1555 25.01.19 20:33 Сейчас в теме
(57) вы бы лучше написали что делать после (27).
59. user705428_doctorezhov 25.01.19 21:04 Сейчас в теме
(58) Можно как основу использовать StepCounter, я создавал новый проект и туда все перетаскивал
60. Xershi 1555 25.01.19 22:56 Сейчас в теме
(59)
StepCounter
что это такое? Где его брать?
53. user705428_doctorezhov 23.01.19 19:35 Сейчас в теме
Отправил. Это сырой вариант. Нужен ли штрих код Aztec? Модуль ZXing выдает массив размером 21х21. Сделать указание размера или размер точки?
54. Xershi 1555 25.01.19 19:21 Сейчас в теме
(53) штрих код? Ну в теории надо, на практике не знаю.
Обычно 2 параметра ширина и высота. И уровень коррекции. Далее цвет и прочее.
56. Xershi 1555 25.01.19 19:36 Сейчас в теме
И для чего кодировать в бейс64? Или там данные получаются закодированными?
61. user705428_doctorezhov 26.01.19 21:59 Сейчас в теме
Вот вам дефолтный проект в андроид-студио для сборки ВК
Прикрепленные файлы:
TestStepCounterApplication (default).7z
63. akR00b 24 14.11.19 14:33 Сейчас в теме
64. Xershi 1555 14.11.19 14:44 Сейчас в теме
(63) писал в 1С обещали к осени разработать, но до сих пор глухо. Повторно в ТП не писал. Задача по разработке приложения тоже до сих пор не актуальна.
Так что ждемс.
65. akR00b 24 14.11.19 15:50 Сейчас в теме
(64)Вопрос не по теме) а Вы сделали свою компоненту для отлова broadcast тсд? где видел в комментах что Вы сами хотели сделать.
66. Xershi 1555 14.11.19 15:53 Сейчас в теме
(65) до разработки дело не дошло.
67. akR00b 24 14.11.19 16:02 Сейчас в теме
(66) потому что нашли решение(кроме купить готовую компоненту) или отказались от тсд?
68. Xershi 1555 14.11.19 16:05 Сейчас в теме
(67) как таковое решение не нужно было. А у клиента ТСД работает на другом решении.
69. Xershi 1555 30.01.20 17:08 Сейчас в теме
Свежие новости с полей!
Для генерации QR-кода можно воспользоваться БПО для мобильных приложений версии 2.10.8
В демо базе мобильной БПО есть обработка "Демо печать штрихкода"
Ее можно использовать как пример.
70. Xershi 1555 30.01.20 17:09 Сейчас в теме
Это конечно не свое решение, но для проекта сойдет!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот