Генерация QR-кода (управляемая форма)

Обработки - Универсальные обработки

генерация qr-кода компонента

58
* Обработку можно быстро и легко интегрировать в любую конфигурацию без БСП (Библиотека Стандартных Подсистем); * Файл не содержит и не использует никакие модули БСП; * Код открыт; * Для генерации используется компонента из типовой конфигурации 1С, которая встроена в макет обработки "_Компонента_QR_Код".

Модуль содержит готовую функцию для программного создания QR-кодов и автоматического сохранения в файл для встраивания в вашу конфигурацию:

_QR_Код_Получить(пТекст, пУровень_Коррекции, пРазмер_Пикселей, пФайл_Имя_Полное = Неопределено)

Позволяет генерировать QR-коды как мышкой в форме так и программно через обращение к функции обработки.

Генерации QR-кодов успешно работает с многострочным текстом на разичных языках (см. скрины).

Для многострочных объёмных текстов необходимо увеличивать количество пикселей.

Можно встроить в типовые конфигурации во внешние обработки.

Отсканировать полученные qr-коды можно с помощью мобильного приложения 1С: //infostart.ru/public/394624/

58

Скачать файлы

Наименование Файл Версия Размер
Генерация QR-кода (управляемая форма)
.epf 424,85Kb
31.05.17
117
.epf 424,85Kb 117 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. Rokky78 20 10.02.16 11:59 Сейчас в теме
Есть какие то ключевые отличия от возможности формирования QR кода с помощью подсистемы "Печать" из БСП?

Все, пардон, не увидел "используется компонента из типовой конфигурации".
2. tunesoft 207 10.02.16 12:25 Сейчас в теме
(1) Rokky78,
>Есть какие то ключевые отличия от возможности формирования QR кода с помощью подсистемы "Печать" из БСП?

Основное отличие: легко интегрируется и работает в любой конфигурации без использования БСП.
3. Serginio 736 10.02.16 12:45 Сейчас в теме
Кстати простая библиотека https://github.com/codebude/QRCoder с Лицензия MIT
утюгчеловек; +1 Ответить
4. tunesoft 207 10.02.16 13:07 Сейчас в теме
(3) Serginio, спасибо за информацию.
6. утюгчеловек 23.04.16 15:21 Сейчас в теме
(3) Serginio,

хороший вариант -- использовать эту библиотеку в веб-сервисе. Тогда QR коды можно использовать не только в 1С, и не только в рамках корпоративной сети. Например в мобильном клиенте. Правда получать коды через сервис будет медленнее чем через компоненту.
7. tunesoft 207 23.04.16 19:19 Сейчас в теме
(6) утюгчеловек, да, вариант хороший, только каждое подключение к веб-сервису требует лицензию 1С.
13. утюгчеловек 26.04.16 12:59 Сейчас в теме
(7) (8) Serginio,
Верно, я имел в виду именно не 1С-ный веб-сервис, благо инструментов для их создания хватает, чтобы клиенты 1С могли генерить QR-коды "внутрь 1С".
WCF, MonoWCF, ASP.net, JAX-WS и проч. С их помощью поднять вебсервис QR-кодов можно за считанные часы.

(11) не считаю, что это спам. Я оцениваю как потребитель, и ожидаю в комментариях увидеть плюсы и минусы как обработки так и её альтернатив. А это именно альтернатива использованию обработки из публикации. Причем опенсорсная, которую можно использовать без потери стартмани и проч. Не вижу здесь элемента рекламы. Тем более что автором является не Serginio.
Serginio; +1 Ответить
14. tunesoft 207 26.04.16 14:20 Сейчас в теме
(13) утюгчеловек,
>WCF, MonoWCF, ASP.net, JAX-WS и проч. С их помощью поднять вебсервис QR-кодов можно за считанные часы.

Отлично.
Как вы думаете чем этот набор букв поможет читателям данной публикации ?
Если хотите глубже раскрыть тему, то не будьте голословны и добавьте конкретные способы реализации с помощью ваших предложенных технологий.
15. утюгчеловек 26.04.16 16:27 Сейчас в теме
(14)
Мне кажется, что обзор способов поднятия веб-сервиса с помощью какой-либо популярной технологии тянет на небольшую статью типа "How to..".
Моя цель была обозначить альтернативы и упомянуть "наборы букв" по которым можно быстро найти нужные мануалы в любимом поисковике.

Нужна ли такая статья? Предлагаю поставить плюс или минус =) под постом, если эта тема интересна. Но полагаю, в интернете полно ресурсов, в которых уже всё написано за меня.
8. Serginio 736 23.04.16 20:09 Сейчас в теме
(6) Можно прямо из Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент.
.......
Использование классов .Net в 1С для новичков
(7) Нужна лицензия только на вызов метода. Если лицензий не хватает то вызовы становятся в очередь

Ну и вэб сервис может быть на Asp.Net
утюгчеловек; +1 Ответить
9. tunesoft 207 24.04.16 12:45 Сейчас в теме
(8) Serginio,

>Нужна лицензия только на вызов метода. Если лицензий не хватает то вызовы становятся в очередь

Обычно лицензия 1С освобождается не сразу после окончания сессии, количество лицензий 1С нужно брать с запасом

>Ну и вэб сервис может быть на Asp.Net

Тогда причём тут 1С ? Можно и на PHP сделать :)
10. Serginio 736 24.04.16 15:21 Сейчас в теме
(9) А для вызова веб сервиса скссии нет. Там для каждого вызова инициализируется отдельная сессия с УстановкаПараметровСеанса
http://forum.infostart.ru/forum86/topic120770/

Ну можно 1С использовать так Linq to ODATA

Code First и Linq to EF на примере 1С версии 8.3 часть II
11. tunesoft 207 24.04.16 16:14 Сейчас в теме
(10) Serginio, странный у вас способ так открыто и не в тему рекламировать свои обработки в комментариях к публикации, это плохой тон, ваши ссылки не имеют никакого отношения к текущей публикации, мягко говоря вы здесь спамите.
5. dedicated 24 15.02.16 08:48 Сейчас в теме
Отличная обработка спасибо!
12. Serginio 736 24.04.16 16:49 Сейчас в теме
Я только показал в 3, что есть такая библиотека. Потом как её применять. Это все относится к формированию QR. И те кого это интересует увидят разные реализации. Только и всего.
16. fr13 08.06.17 09:06 Сейчас в теме
Соединение = Новый HTTPСоединение("chart.googleapis.com",,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("chart?chs=300x300&cht=qr&chl="https://infostart.ru");
Соединение.Получить(Запрос, ПутьКФайлу);


я делал так, быстро, просто.
🅵🅾️🆇; DrAku1a; tunesoft; Andry.Boris; alexzhilichev; +5 Ответить
17. tunesoft 207 08.06.17 11:23 Сейчас в теме
(16) Тоже интересный вариант, только требует подключения к интернету, не во всех организациях это бывает.
20. 🅵🅾️🆇 15.03.18 18:04 Сейчас в теме
(16) Также делал.
Кому прям совсем лень напрягаться:

    
&НаКлиенте
Процедура Сформировать(Команда)
    СформироватьНаСервере();
КонецПроцедуры // Сформировать(0

&НаСервере
Процедура СформироватьНаСервере()
    ТабДок.Очистить(); 
    Макет        = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
    
    // СтрокаВнутр 
    Строка        = ЗначениеВСтрокуВнутр(Реквизит);
    Макет.Рисунки.D1.Картинка    = Новый Картинка(ПолучитьКодQR(Строка, Погрешность, ГабШирина, ГабВысота), Истина);
    
    // НавигационнаяСсылка
    Строка        = ПолучитьНавигационнуюСсылку(Реквизит);
    Макет.Рисунки.D2.Картинка    = Новый Картинка(ПолучитьКодQR(Строка, Погрешность, ГабШирина, ГабВысота), Истина);
    
    // Код;Наименование
    Строка        = Формат(Реквизит.Код, "ЧГ=0")+";"+Реквизит.Наименование;
    Макет.Рисунки.D3.Картинка    = Новый Картинка(ПолучитьКодQR(Строка, Погрешность, ГабШирина, ГабВысота), Истина);
    
    ТабДок.Вывести(Макет);
КонецПроцедуры // СформироватьНаСервере()

&НаСервереБезКонтекста
Функция ПолучитьКодQR(Строка, Погрешность, Ширина, Высота)
    Попытка
        Соединение    = Новый HTTPСоединение("chart.googleapis.com", 443,,,, 0, Новый ЗащищенноеСоединениеOpenSSL);
        Запрос        = Новый HTTPЗапрос(СтрШаблон("chart?chs=%1x%2&cht=qr&chld=%3&chl=%4", Ширина, Высота, Погрешность, КодироватьСтроку(Строка, СпособКодированияСтроки.КодировкаURL)));
        Ответ        = Соединение.Получить(Запрос);
        Если Ответ.КодСостояния <> 200 Тогда Возврат Ответ.ПолучитьТелоКакСтроку(); КонецЕсли;
        Возврат Ответ.ПолучитьТелоКакДвоичныеДанные();
    Исключение    
        Сообщение        = Новый СообщениеПользователю;
        Сообщение.Текст    = СтрШаблон("Не удалось получить QR код.
                            | %1", ОписаниеОшибки());
        Сообщение.УстановитьДанные();
        Сообщение.Сообщить();        
        Возврат Неопределено;    
    КонецПопытки;
КонецФункции // ПолучитьКодQR()
Показать


Заполняет картинки макета обработки (D1, D2, D3) QR кодами.

Хинты:
Если у вас структура, но с коротенькими данными, то можно, например, писать JSON строку, правда всеже место жалко.
Если только для внутреннего пользования - AES256.
Числа и даты ввиде строки можно переводить в другие системы счисления для укорачивания.
Не забывайте кодировать URL строку перед GET запросом.

Информация для чтения
18. 7OH 31 13.06.17 22:14 Сейчас в теме
А можете добавить возможность выводить в центр своё изображение ?
Тогда можно и десяточку потратить.
19. tunesoft 207 22.06.17 10:47 Сейчас в теме
(18) Генерация QR-кода выполняется с помощью типовой компоненты 1С, если они добавят такую возможность то с удовольствием добавим :)
Оставьте свое сообщение