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