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

Вакансии

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

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

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

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