Печать qr кода из самописного документа

1. waitklassik 12.04.19 16:10 Сейчас в теме
Есть самописный документ задача такова что бы по нажатию кнопки печать формировалась печатная форма qr кода на основании реквизита1 и реквизита2 из этого документа как это сделать?
+
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Xershi 1484 12.04.19 16:31 Сейчас в теме
(1) если есть компонента. Пишите код склеив 2 значения.
Если нету, качаете например мою разработку QR-код 2 в 1 (обычная и управляемая форма). И она вам по вашему алгоритма сгенерирует.
Terabaytus; Serg O.; +2
6. user770129 15.04.19 11:45 Сейчас в теме
(4)
Если нету, качаете например мою разработку
используете БСП, там всё сделано, ничего качать не надо.
Serg O.; +1
7. waitklassik 15.04.19 11:45 Сейчас в теме
(4)а вывод на печать ?
+
8. Xershi 1484 15.04.19 12:03 Сейчас в теме
(7) ну а полученный результат в табличный документ и выводите как вам надо.
+
2. noprogrammer 237 12.04.19 16:26 Сейчас в теме
Процедура ВывестиQRКод(QRСтрока, ОбластьМакета, ИмяРисунка="QRКод", Ссылка=Неопределено) Экспорт
	Если ПустаяСтрока(QRСтрока) Тогда Возврат; КонецЕсли;
		
	ДанныеQRКода=УправлениеПечатнымиФормамиСервер.ДанныеQRКода(QRСтрока, 0, 190);

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

Функция КомпонентаФормированияQRКода()
	ТекстОшибки = НСтр("ru = 'Не удалось подключить внешнюю компоненту для генерации QR-кода. Подробности в журнале регистрации.'");

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

// Возвращает двоичные данные для формирования 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Кода();
	Если ГенераторQRКода=Неопределено Тогда Возврат Неопределено; КонецЕсли;
	
	Попытка ДвоичныеДанныеКартинки=ГенераторQRКода.GenerateQRCode(QRСтрока, УровеньКоррекции, Размер);
	Исключение ЗаписьЖурналаРегистрации(НСтр("ru = 'Формирование QR-кода'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
	КонецПопытки;

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

Показать


Где: QRСтрока - значение Реквизита1+Реквизита2 (как там их надо указать)

Компоненту взять из типовой конфигурации.
oleg-x; Teut_Vlad; +2
3. user5300 1010 12.04.19 16:30 Сейчас в теме
http://catalog.mista.ru/public/259644/ - Никаких внешних макетов и DLL только javascript.
http://catalog.mista.ru/public/137919/ - Не использует дополнительного шрифта и внешней компоненты, что позволяет использовать ее в web-клиенте без дополнительных подготовительных действий на стороне пользователя.
http://catalog.mista.ru/public/80106/ - Генерация qr кода с помощью api google
+
5. Oldsad 15.04.19 05:54 Сейчас в теме
(3)
по первой ссылке вы будете генерировать кому то 3 сек бикоины(лол) при каждом формировании qr-кода
по второй ссылке с вас поросят денежку
по третьей надо учитывать, что вы в открытом виде будете передавать информацию гугл, а что там она с ней делает дальше хз

и возникает вопрос зачем все это, когда генерация qr кода встроена в стандартные конфигурации 1с еще во времена динозавров
Terabaytus; Gendelf; fenixnow; oldcopy; user770129; +5
9. waitklassik 17.04.19 11:55 Сейчас в теме +0.5 $m
спасибо за помощь но все не то=( разобрался сам
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот