1С 8.3 БСП ДанныеQRКода - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 БСП ДанныеQRКода

Данные > 1С 8.3 БСП > Генерация штрих-кода
Перейти в раздел примеры кода 1С 8.3:
1С 8.3 БСП ДанныеQRКода. Возвращает двоичные данные для формирования QR-кода.
Примера кода от rayastar
RСтрока = УправлениеПечатью.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
ТекстОшибки = "";
ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190, ТекстОшибки);

Если Не ПустаяСтрока(ТекстОшибки)
   ОбщегоНазначения.СообщитьПользователю(ТекстОшибки);
КонецЕсли;

КартинкаQRКода = Новый Картинка(ДанныеQRКода);
ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;

//
Процедура ВывестиQRКод(ДанныеПечати, ОбластьМакета)

   QRСтрока = ИнтеграцияВЕТИСКлиентСервер.ПутьКСерверуСИнформациейПоВСД() + ДанныеПечати.Идентификатор;

   Если Не ПустаяСтрока(QRСтрока) Тогда

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

       Если ТипЗнч(ДанныеQRКода) = Тип("ДвоичныеДанные") Тогда
           КартинкаQRКода = Новый Картинка(ДанныеQRКода);
           ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;
       Иначе
           Шаблон = Нстр("ru = 'Не удалось сформировать QR-код для документа %1. Технические подробности см. в журнале регистрации.'");
           ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ДанныеПечати.Ссылка);
           ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
       КонецЕсли;

   КонецЕсли;

КонецПроцедуры

//
ДанныеQRКода = ГенерацияШтрихкодаВызовСервера.ДанныеQRКода(QRСтрока, 0, 190);
// Автор библиотеки: ООО "1С-Софт". Все права защищены © 2021
// Типовая конфигурация Библиотека стандартных подсистем (далее - БСП)
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
Метод БСП
// Возвращает двоичные данные для формирования QR-кода.
//
// Параметры:
//  QRСтрока         - Строка - данные, которые необходимо разместить в QR-коде.
//
//  УровеньКоррекции - Число - уровень погрешности изображения, при котором данный QR-код все еще возможно 100%
//                             распознать.
//                     Параметр должен иметь тип целого и принимать одно из 4 допустимых значений:
//                     0 (7 % погрешности), 1 (15 % погрешности), 2 (25 % погрешности), 3 (35 % погрешности).
//
//  Размер           - Число - определяет длину стороны выходного изображения в пикселях.
//                     Если минимально возможный размер изображения больше этого параметра - код сформирован не будет.
//
// Возвращаемое значение:
//  ДвоичныеДанные  - буфер, содержащий байты PNG-изображения QR-кода.
//
// Пример:
//
//  // Выводим на печать QR-код, содержащий в себе информацию зашифрованную по УФЭБС.
//
//  QRСтрока = УправлениеПечатью.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
//  ТекстОшибки = "";
//  ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190, ТекстОшибки);
//  Если Не ПустаяСтрока(ТекстОшибки)
//      ОбщегоНазначения.СообщитьПользователю(ТекстОшибки);
//  КонецЕсли;
//
//  КартинкаQRКода = Новый Картинка(ДанныеQRКода);
//  ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;
//
Функция ДанныеQRКода(QRСтрока, УровеньКоррекции, Размер) Экспорт

   ПараметрыШтрихкода = ПараметрыГенерацииШтрихкода();
   ПараметрыШтрихкода.Ширина = Размер;
   ПараметрыШтрихкода.Высота = Размер;
   ПараметрыШтрихкода.Штрихкод = QRСтрока;
   ПараметрыШтрихкода.УровеньКоррекцииQR = УровеньКоррекции;
   ПараметрыШтрихкода.ТипКода = 16; // QR
   ПараметрыШтрихкода.УбратьЛишнийФон = Истина;

   Попытка
       РезультатФормированияШтрихкода = ИзображениеШтрихкода(ПараметрыШтрихкода);
       ДвоичныеДанныеКартинки = РезультатФормированияШтрихкода.ДвоичныеДанные;
   Исключение
       ЗаписьЖурналаРегистрации(НСтр("ru = 'Ошибка генерации штрихкода'",
       ОбщегоНазначения.КодОсновногоЯзыка()),
       УровеньЖурналаРегистрации.Ошибка,,,
       ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
   КонецПопытки;

   Возврат ДвоичныеДанныеКартинки;

КонецФункции
// Автор библиотеки: ООО "1С-Софт". Все права защищены © 2021
// Типовая конфигурация Библиотека стандартных подсистем (далее - БСП)
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 31.08.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому