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

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

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

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)