1. Xershi 461 30.10.18 12:15 Сейчас в теме

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

Приветствую, коллеги!

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

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

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

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

Или есть уже готовые решения?
Прикрепленные файлы:
zxing-master.part1.rar
zxing-master.part2.rar
Ответы
Избранное Подписка Сортировка: Древо
11. IgorKissil 134 16.11.18 18:17 Сейчас в теме
12. Xershi 461 16.11.18 18:21 Сейчас в теме
(11) демо версия не работает. Автор молчит. Соответственно интереснее самому написать!
2. Xershi 461 30.10.18 13:59 Сейчас в теме
Посмотрел что есть в Мобильная касса (для разработчиков) релиз 2.18.2.0 от 31.07.2018
Похоже там только читалки, которые подключаются к мобиле.
Выгрузив драйвер в архиве нашел com_1c_MobileBarcodeScanner_1_0_3_2.apk
Выходит если залить АПК в макет, то его можно использовать как компоненту?
3. Xershi 461 30.10.18 16:39 Сейчас в теме
Давно читал статью:
https://wonderland.v8.1c.ru/blog/vneshnie-komponenty-v-mobilnom-prilozhenii/
Может кто подскажет как из проекта на гите самому реализовать компоненту?
4. Xershi 461 30.10.18 20:10 Сейчас в теме
Пока нашел статью https://infostart.ru/public/589245/ по которой можно начать разбираться в теме.
5. Xershi 461 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 461 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 461 31.10.18 18:41 Сейчас в теме
Как понять что нужно записать в:
Новый ("AddIn.com_1c_MobileBarcodeScanner.com_1c_MobileBarcodeScannerExtension")
8. Xershi 461 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 14 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 461 11.11.18 21:37 Сейчас в теме
(9) как вы заметили, то я написал что с таким ИД валится в ошибку.
У вас работает?
13. Xershi 461 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 461 03.01.19 23:34 Сейчас в теме
(14) как и на стационарной версии.
Вход строка.
Выход баркод.
16. Xershi 461 03.01.19 23:35 Сейчас в теме
17. user705428_doctorezhov 03.01.19 23:38 Сейчас в теме
попробую поковырять на выходных, но ничего не обещаю.
18. Xershi 461 04.01.19 00:20 Сейчас в теме
(17) вы лучше задайте направление что и куда. Я и сам сделаю, если знать что делать!
19. user705428_doctorezhov 04.01.19 21:20 Сейчас в теме
Я имею ввиду, что можно подключить ZXing к яве и сделать внешнюю компоненту. Я года полтора назад ZXING прикрутил к проекту с кассой Штрих. Так что объясните поконкретнее, куда Вас направлять? :)
20. Xershi 461 04.01.19 21:30 Сейчас в теме
(19) ну в принципе об этом и речь.
В теории нужна нейтив компонента, которая будет основана на принципах нативных компонент 1С с функционалом ZXing.
Проект нейтив компонент есть. Как к нему подступиться, чтобы внедрить туда ZXing? Для джавы опыт 5 лвл джава раша только.
21. user705428_doctorezhov 04.01.19 23:13 Сейчас в теме
Если взять туториальный прект StepCounter и в него внедрить. Сможете?
22. Xershi 461 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 461 05.01.19 14:55 Сейчас в теме
(23) можете сами начать и паралельно свой комментарии тут оставлять. Плюс можно как я понимаю проект выложить в гит и освоим эту технологию?
27. Xershi 461 05.01.19 21:24 Сейчас в теме
(23) обновил все модули. Стоит версия 3.2.1.
Нужно новый проект создавать или можно импортировать из Технология внешних компонент?
Прикрепленные файлы:
25. meriferi 05.01.19 18:12 Сейчас в теме
На Андроид много приложений существует, годные все платные
26. Xershi 461 05.01.19 18:15 Сейчас в теме
(25) речь идет не о самом приложении, а о компоненте, которую можно к нему подключить. Либо качай приложение, либо бери компоненту и пиши свое!
30. Xershi 461 10.01.19 00:08 Сейчас в теме
(29) интересная статья. Но к баркодам она мало имеет отношения. ИС иногда для скачки капчу подсовывает, вот наверно это решение поможет обойти.
32. Fox-trot 91 10.01.19 05:41 Сейчас в теме
(30) отношение может имеет мало, но думаю, что достаточно. потому как чел за соседним столом отлично ею пользуется. все сгенеренное унф qr.dll считывает с помощью этой библы гугл вижн
33. Xershi 461 10.01.19 09:01 Сейчас в теме
(32) так нужна не читалка, а как раз генератор! Читалка в мобильную платформу и так встроена же!
34. Fox-trot 91 10.01.19 09:14 Сейчас в теме
(33)сорян, не въехал...
чукча не писатель, чукча - читатель 8)
28. user705428_doctorezhov 06.01.19 22:54 Сейчас в теме
Тут тема такая. Как я понял, каждый, кто смог что-то сделать с внешней компонентой, хранит это, как зеницу ока. Я - не исключение. Есть туториал от 1 С - StepCounter. Если хотите все сами - ок, пробуйте, если смогу, подскажу. Короче, после Рождества попробую что-то смастрячить, если все получится - будем запускать. :)
31. Xershi 461 10.01.19 00:09 Сейчас в теме
(28) да, к сожалению ни один разраб, который что-то тут выложил по ВК для андроида не ответил в этой теме по существу...
35. user705428_doctorezhov 12.01.19 22:27 Сейчас в теме
А мне бы обработочку бы, которая на форму QR код выводила. После ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode("0000001", 0, 300);
И, кстати, 0 и 300 - что за параметры?
36. Xershi 461 13.01.19 12:18 Сейчас в теме
(35) вы бы шапку почитали там ссылка указана.
1. Что шифруем.
2. Коррекция ошибок.
3. Размер.
37. Fox-trot 91 13.01.19 17:46 Сейчас в теме
все ж кажись таки все это безобразие уже есть в телефоне
потому как на моем старом редми4+миуи10 код генерируется системой по любому поводу= будь то настройки сети или запись адресной книги
38. Xershi 461 13.01.19 19:56 Сейчас в теме
(37) приложения конечно есть. Речь идёт, чтобы это было на 1с!
39. Fox-trot 91 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 461 15.01.19 00:28 Сейчас в теме
(39) на мобильном устройстве может не быть интернета. Именно для этого и нужна компонента. Выше же все написали уже))
41. user705428_doctorezhov 17.01.19 22:16 Сейчас в теме
Ну, вк у меня взлетела, двоичные данные передает, только в картинку пихать не хочет. Буду разбираться.
42. Xershi 461 18.01.19 20:31 Сейчас в теме
(41) поделитесь уже что и как делать?)
43. user705428_doctorezhov 19.01.19 09:02 Сейчас в теме
Я написал вк, она передаёт данные в виде единиц и нулей, соответственно в картинку этот формат не подходит. Мне нужно знать, в каком формате должны быть данные в картинке.
44. Xershi 461 19.01.19 11:50 Сейчас в теме
(43) формат двоичных данных. Двоичные данные преобразует 1С в картинку.
45. user705428_doctorezhov 19.01.19 13:04 Сейчас в теме
Вот, например чёрный квадрат 10*20. Что будет в двоичных данных? По идее, должны быть размеры и цвета пикселей, которые как последовательность RRB или как индекс палитры?
46. Xershi 461 19.01.19 14:12 Сейчас в теме
(45) зинк использовали?
Сравни двоичные данные от стационарной вк с твоей вот и будет результат.
47. user705428_doctorezhov 19.01.19 17:59 Сейчас в теме
ZXING как раз и выдает 0 и 1. Стационарной вк у меня нет
48. Xershi 461 19.01.19 19:42 Сейчас в теме
(47) так рассказывайте какие кнопочки нажимать допилим остальное и сравним!
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

Консультант-аналитик 1С
Москва
зарплата от 100 000 руб. до 170 000 руб.
Полный день

Программист 1С
Москва
Полный день

Программист 1С
Видное
Полный день