Процедура
ПечатьКвитанцииНаОплатуПениПоСП_Далее(ТабДок, ВхБП, Знач Плательщик = Неопределено)
Экспорт
ТабДок.АвтоМасштаб
= Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПечатьКвитанцииНаОплатуГоспошлины";
Макет = Справочники.Партнеры.ПолучитьМакет("КвитанцияНаОплату");
Запрос = Новый Запрос();
Запрос.Текст
= "ВЫБРАТЬ
| CRM_БизнесПроцесс.Ссылка КАК СсылкаНаБП,
| CRM_БизнесПроцесс.Истец КАК
Истец,
| CRM_БизнесПроцесс.Истец.НаименованиеКраткое
КАК ИстецНаименованиеКраткое,
| CRM_БизнесПроцесс.Истец.ИНН КАК ИстецИНН,
| CRM_БизнесПроцесс.Истец.РасчетныйСчет
КАК ИстецРасчетныйСчет,
| CRM_БизнесПроцесс.Истец.Банк КАК ИстецБанк,
| CRM_БизнесПроцесс.Истец.БИК КАК ИстецБИК,
| CRM_БизнесПроцесс.Истец.КорСчет
КАК ИстецКорСчет,
| CRM_БизнесПроцесс.НомерСП КАК НомерСП,
| CRM_БизнесПроцесс.НомерДелаСП КАК
НомерДелаСП,
| CRM_БизнесПроцесс.НомерДелаИска КАК НомерДелаИска,
| CRM_БизнесПроцесс.Ответчик КАК
Ответчик,
| CRM_БизнесПроцесс.Партнер КАК СсылкаНаПартнеры,
| CRM_БизнесПроцесс.СуммаПени КАК СуммаПени,
| CRM_БизнесПроцесс.СуммаПениВИске КАК СуммаПениВИске,
| CRM_БизнесПроцесс.СуммаПениПоРешению
КАК СуммаПениПоРешению,
| CRM_БизнесПроцесс.Партнер.УК_ЛицевойСчетЕИРЦ
КАК ЛС,
| CRM_БизнесПроцесс.НачалоПЗ КАК НачалоПЗ,
| CRM_БизнесПроцесс.КонецПЗ КАК КонецПЗ,
| CRM_БизнесПроцесс.ФормаСудопроизводства.Ссылка
КАК ФормаСудопроизводства,
| CRM_БизнесПроцесс.Партнер.УК_ЛицевойСчетЕИРЦ
КАК ЛсЕирц
|ИЗ
| БизнесПроцесс.CRM_БизнесПроцесс
КАК CRM_БизнесПроцесс
|ГДЕ
| CRM_БизнесПроцесс.Ссылка = &ВхБП";
Запрос.УстановитьПараметр("ВхБП", ВхБП);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
НедостаточноДанныхДляQRКода
= 0;
Если Выборка.Следующий()
Тогда
//=========================
//
Область "Шапка"
//=========================
ОШ = Макет.ПолучитьОбласть("Шапка");
Если НЕ ЗначениеЗаполнено(Выборка.Истец)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.Истец = "Истец не заполнен в БП";
ИначеЕсли
НЕ ЗначениеЗаполнено(Выборка.ИстецНаименованиеКраткое)
Тогда
ОШ.Параметры.Истец = "Не заполнено краткое
наименование УК в справочнике";
Иначе
ОШ.Параметры.Истец = Выборка.ИстецНаименованиеКраткое;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Выборка.ИстецИНН)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ИстецИНН = "Не заполнен ИНН получателя
в справочнике"
Иначе
ОШ.Параметры.ИстецИНН = Выборка.ИстецИНН;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Выборка.ИстецРасчетныйСчет)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ИстецРасчетныйСчет = "Не заполнен р/с
получателя в справочнике";
Иначе
ОШ.Параметры.ИстецРасчетныйСчет = Выборка.ИстецРасчетныйСчет;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Выборка.ИстецБанк)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ИстецБанк = "Не заполнен банк
получателя в справочнике";
Иначе
ОШ.Параметры.ИстецБанк = Выборка.ИстецБанк;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Выборка.ИстецБИК)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ИстецБИК = "Не заполнен БИК получателя
в справочнике";
Иначе
ОШ.Параметры.ИстецБИК = Выборка.ИстецБИК;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Выборка.ИстецКорСчет)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ИстецКорСчет = "Не заполнен к/с банка
получателя в справочнике";
Иначе
ОШ.Параметры.ИстецКорСчет = Выборка.ИстецКорСчет;
КонецЕсли;
//====================================
//Наименование
платежа, <=210 символов
//====================================
Если НЕ ЗначениеЗаполнено(Выборка.НачалоПЗ)
ИЛИ НЕ ЗначениеЗаполнено(Выборка.КонецПЗ)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.НаименованиеПлатежа = "Не заполнены
[Начало ПЗ] или [Конец ПЗ]!";
Иначе
Если ЗначениеЗаполнено(Выборка.НомерДелаСП)
Тогда
ОШ.Параметры.НаименованиеПлатежа = "Оплата пени по
СП № " + Выборка.НомерДелаСП +
", ЛС
№" + Выборка.ЛсЕирц;
Иначе
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.НаименованиеПлатежа = "Не заполнен
[Номер дела СП] в разделе [Судебный приказ]!";
КонецЕсли;
КонецЕсли;
//==========================
//Лицевой
счет плательщика
//==========================
Если НЕ ЗначениеЗаполнено(Выборка.ЛсЕирц)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ЛсЕирц = "л/с не заполнен";
Иначе
ОШ.Параметры.ЛсЕирц = Выборка.ЛсЕирц;
КонецЕсли;
Если ЗначениеЗаполнено(Плательщик) Тогда
ФиоПлательщика = Плательщик.ФИО;
Иначе
ФиоПлательщика = Выборка.Ответчик;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ФиоПлательщика)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.ФиоПлательщика = "Не заполнено ФИО
плательщика";
Иначе
ОШ.Параметры.ФиоПлательщика = ФиоПлательщика;
КонецЕсли;
ОШ.Параметры.АдресПлательщика
= БизнесПроцессы.CRM_БизнесПроцесс.ЧисткаАдреса(БизнесПроцессы.CRM_БизнесПроцесс.АдресИзЛСдляБалашихи(Выборка.СсылкаНаПартнеры));
Если Выборка.ФормаСудопроизводства =
Перечисления.F1_ВидыСудебногоПроцесса.ПриказноеПроизводство Тогда//Задание
1331, от 28.04.2025
Если НЕ ЗначениеЗаполнено(Выборка.СуммаПени)
Тогда
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.СуммаПлатежаРуб = "[Сумма пени] не
заполнена в разделе [Судебный приказ]!";
Иначе
ОШ.Параметры.СуммаПлатежаРуб = Цел(Выборка.СуммаПени);
ОШ.Параметры.СуммаПлатежаКоп = Формат((Выборка.СуммаПени - Цел(Выборка.СуммаПени))*
100, "ЧЦ=2; ЧН=00");
КонецЕсли;
Иначе
НедостаточноДанныхДляQRКода = 1;
ОШ.Параметры.СуммаПлатежаРуб = "Это не СП!";
КонецЕсли;
ТабДок.Вывести(ОШ);
//=================
//Область
ПОДВАЛ
//=================
ОбластьПодвал
= Макет.ПолучитьОбласть("Подвал");
Если ЗначениеЗаполнено(Плательщик) Тогда
ФамилияПлательщика = Плательщик.Фамилия;
ИмяПлательщика = Плательщик.Имя;
ОтчествоПлательщика = Плательщик.Отчество;
Иначе
ФамилияПлательщика = Выборка.Ответчик.Фамилия;
ИмяПлательщика = Выборка.Ответчик.Имя;
ОтчествоПлательщика = Выборка.Ответчик.Отчество;
КонецЕсли;
QRСтрока
= "ST00011|Name=" + ОШ.Параметры.Истец +
"|PersonalAcc="
+ ОШ.Параметры.ИстецРасчетныйСчет +
"|BankName="
+ ОШ.Параметры.ИстецБанк +
"|BIC=" + ОШ.Параметры.ИстецБИК +
"|CorrespAcc="
+ ОШ.Параметры.ИстецКорСчет +
"|PayeeINN="
+ ОШ.Параметры.ИстецИНН +
"|LastName=" + ФамилияПлательщика
+ //Выборка.Ответчик.Фамилия +
"|FirstName="
+ ИмяПлательщика + //Выборка.Ответчик.Имя
+
"|MiddleName="
+ ОтчествоПлательщика + //Выборка.Ответчик.Отчество
+
"|Purpose="
+ ОШ.Параметры.НаименованиеПлатежа +
"|PersAcc="
+ ОШ.Параметры.ЛсЕирц +
"|PayerAddress="
+ ОШ.Параметры.АдресПлательщика +
"|Sum="
+ Формат(Выборка.СуммаПени * 100,
"ЧГ=");//Сумма в копейках и без пробела
ТекстОшибки
= "";
ДанныеQRКода
= УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190);
Если
Не ПустаяСтрока(ТекстОшибки)
Тогда
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки);
КонецЕсли;
КартинкаQRКода
= Новый Картинка(ДанныеQRКода);
ОбластьПодвал.Рисунки.QRКод.Картинка
= КартинкаQRКода;
Если НедостаточноДанныхДляQRКода = 0 Тогда
ТабДок.Вывести(ОбластьПодвал);
Иначе
//Если данные неполные в бланке, то QR-код вообще не
формируем
ОбластьСОшибкой = Макет.ПолучитьОбласть("СообщениеОбОшибке");
ТабДок.Вывести(ОбластьСОшибкой);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
|