Функция КомпонентаФормированияQRКода()
QRCodeGenerator = Неопределено;
Попытка
Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиQRКода24", "QR") Тогда
QRCodeGenerator = Новый("AddIn.QR.QRCodeExtension");
Иначе
Возврат Неопределено;
КонецЕсли;
Исключение
сообщить(ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
Возврат QRCodeGenerator;
КонецФункции
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
СК_ЖурналДействийПользователей.ЗарегистрироватьДействие(
"ВызовКоманды",
ПараметрыВыполненияКоманды.НавигационнаяСсылка,
ПараметрКоманды
);
ТабДок = ПолучитьТабДок(ПараметрКоманды);
ТабДок.Показать();
КонецПроцедуры
&НаСервере
Функция ПолучитьТабДок(ДокСсылка)
ТабДок = Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СК_ГР_РеестрУведомленныхПотребителей";
QRCodeGenerator = КомпонентаФормированияQRКода();
Макет = Документы.СК_ГР_РеестрУведомленныхПотребителей.ПолучитьМакет("Квитанция");
КоличествоКвитанций=0;
для каждого стр из ДокСсылка цикл
КоличествоКвитанций =КоличествоКвитанций + 1;
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Адрес = стр.АдресПотребителя;
если ТипЗнч(стр.лс)=Тип("Строка") тогда
лицсч=стр.лс;
иначе
лицсч=стр.лс.код;
конецесли;
ОбластьШапка.Параметры.ЛС= "9" + Строка(лицсч);
ОбластьШапка.Параметры.ФИО = стр.ФИО_потребителя;
ОбластьШапка.Параметры.СуммаРуб =Цел(стр.ПолнаяОплатаЗадолженостиСумма);
ОбластьШапка.Параметры.СуммаКоп = Прав(Формат(стр.ПолнаяОплатаЗадолженостиСумма,"ЧДЦ=2"),2);
ИмяQRКода = "ШтрихКод";
Попытка
УровеньКоррекции = 0;
Размер = 120;
ДанныеВШК = "ST00012|Name=ООО Сукацукая|PersonalAcc=234к234к34к|BankName=ПАО СБЕРБАНК|BIC=044525225|CorrespAcc=епукепк|Category=екпукеп|PayeeINN=4543е345е|Purpose=ОТКЛЮЧЕНИЕ/ПОДКЛЮЧЕНИЕ|PersAcc="+"9" + Строка(лицсч)+"|PayerAddress="+стр.АдресПотребителя+"|Sum="+формат(Цел(стр.ПолнаяОплатаЗадолженостиСумма*100),"ЧГ=")+"";
ДанныеQRКода = QRCodeGenerator.GenerateQRCode(ДанныеВШК, УровеньКоррекции, Размер);
Исключение
сообщить(описаниеОшибки());
КонецПопытки;
Если ДанныеQRКода <> Неопределено Тогда
ОбластьШапка.Рисунки[ИмяQRКода].Картинка = Новый Картинка(ДанныеQRКода);
КонецЕсли;
Если КоличествоКвитанций = 2 Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КоличествоКвитанций = 0;
КонецЕСли;
ТабДок.Вывести(ОбластьШапка);
конеццикла;
ТабДок.ТолькоПросмотр = истина;
ТабДок.АвтоМасштаб = истина;
Возврат ТабДок;
КонецФункции