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

Вакансии

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

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

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

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