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Строка, 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
// Код БСП распространяется по лицензии 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 = 'Ошибка генерации штрихкода'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат ДвоичныеДанныеКартинки;
КонецФункции
//
// Параметры:
// 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
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник