Версия для печати темы (http://pro1c.org.ua/index.php?s=35c1ade8f1cd47c63fa5864c75b80af3&showtopic=52928)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Работа с QR Code при помощи типовой КомпонентаПечатиQRКода

Автор: kosalex 09.07.19, 13:01

Доброго времени суток!
Подскажите какие методы есть у типовой КомпонентаПечатиQRКода ? В интернете нигде не могу найти примера. Везде с использованием сторонних библиотек.
Задача у меня следующая, сгенерировать QR-Code и сохранить его в картинку.
В самой конфигурации нет примера работы с этой компонентой.

Автор: Petre 09.07.19, 13:29

В БПУ есть пример.
Кроме того, в БПО есть компонента печати штрихкода.

Автор: sava1 09.07.19, 13:32

ИЗ модуля

    ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode(QRСтрока, УровеньКоррекции, Размер);


получить объект

Функция КомпонентаФормированияQRКода(Отказ)
    
    СистемнаяИнформация = Новый СистемнаяИнформация;
    Платформа = СистемнаяИнформация.ТипПлатформы;
    
    ТекстОшибки = НСтр("ru='Не удалось подключить внешнюю компоненту для генерации QR-кода';uk='Не вдалося підключити зовнішній компонент для генерації QR-коду'");
    
    Попытка
        Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиQRКода", "QR") Тогда
            QRCodeGenerator = Новый("AddIn.QR.QRCodeExtension");
        Иначе
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , , , Отказ);
        КонецЕсли
    Исключение
        ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки, , , , Отказ);
    КонецПопытки;
    
    Возврат QRCodeGenerator;
    
КонецФункции


и собственно - вызов

//  //Выводим на печать QR-код, содержащий в себе информацию зашифрованную по УФЭБС
//
//  QRСтрока = УправлениеПечатью.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
//  ТекстОшибки = "";
//  ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190, ТекстОшибки);
//  Если Не ПустаяСтрока(ТекстОшибки)
//      ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки);
//  КонецЕсли;
//
//  КартинкаQRКода = Новый Картинка(ДанныеQRКода);
//  ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;

Автор: kosalex 09.07.19, 15:24

Petre @ Сегодня, 14:29 * ,

Нет под рукой БПУ и БПО, есть только УТ 3.1



sava1, ДвоичныеДанныеКартинки = ГенераторQRКода.GenerateQRCode(QRСтрока, УровеньКоррекции, Размер);

Значения и типы параметров "УровеньКоррекции" и "Размер" где нибудь можно посмотреть?

Автор: sava1 09.07.19, 15:54

выше в коде - вызов -

ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190, ТекстОшибки);


в ут31 смотрите в УправлениеПечатью

Автор: kosalex 09.07.19, 21:08

sava1 @ Сегодня, 16:54 * ,
Странно, но у меня в этом модуле, да во всей конфигурации УТ 3.1.6.1 нет упоминания о "ДанныеQRКода".

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
http://pro1c.org.ua