Функция ГрафикПлатежейВJSON(Знач
СсылкаНаГП)
Масс = Новый Массив;
Для Каждого Эл Из СсылкаНаГП Цикл
Струк = Новый
Структура;
Струк.Вставить("date", Формат(Эл.Дата,
"ДФ=dd.MM.yyyy"));
Если ЗначениеЗаполнено(Эл.Сумма)
Тогда
Струк.Вставить("schedule_plan",
Формат(Эл.Сумма, "ЧДЦ=2"));
Иначе
Струк.Вставить("schedule_plan",
"");
КонецЕсли;
Если ЗначениеЗаполнено(Эл.НадоОплатитьПоГрафику)
Тогда
Струк.Вставить("schedule_fact",
Формат(Эл.НадоОплатитьПоГрафику,
"ЧДЦ=2"));
Иначе
Струк.Вставить("schedule_fact",
"");
КонецЕсли;
Если ЗначениеЗаполнено(Эл.Оплачено)
Тогда
Струк.Вставить("payed",
Формат(Эл.Оплачено, "ЧДЦ=2"));
Иначе
Струк.Вставить("payed",
"");
КонецЕсли;
Масс.Добавить(Струк);
КонецЦикла;
ЗаписьJSON
= Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Масс);
//Возврат
ЗаписьJSON.Закрыть();
//Удаляем
символы переноса и возврата каретки для компактности
Возврат СтрЗаменить(ЗаписьJSON.Закрыть(),
Символы.ВК + Символы.ПС,
"");
КонецФункции//ГрафикПлатежейВJSON
Процедура
ПриКомпоновкеРезультата(ДокументРезультат,
ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка
= Ложь;
ДатаЗаключенияНачало
= Дата(1,1,1);
ДатаЗаключенияОкончание
= Дата(1,1,1);
ТЗРезультат = Новый ТаблицаЗначений;
СоздатьКолонкиТЗ(ТЗРезультат);
СхемаКомпоновкиДанных
= ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
ПараметрКомпоновкиДанныхДатаЗаключенияНачало
= Новый ПараметрКомпоновкиДанных("ДатаЗаключенияНачало");
ПараметрКомпоновкиДанныхДатаЗаключенияОкончание
= Новый ПараметрКомпоновкиДанных("ДатаЗаключенияОкончание");
Для Каждого СтрЭлемент
из КомпоновщикНастроек.ПользовательскиеНастройки.Элементы
Цикл
Если СтрЭлемент.Использование = Истина Тогда
Если СтрЭлемент.Параметр = ПараметрКомпоновкиДанныхДатаЗаключенияНачало
Тогда
ДатаЗаключенияНачало = СтрЭлемент.Значение.Дата;
ИначеЕсли СтрЭлемент.Параметр =
ПараметрКомпоновкиДанныхДатаЗаключенияОкончание
Тогда
ДатаЗаключенияОкончание = СтрЭлемент.Значение.Дата;
КонецЕсли;
КонецЕсли;
КонецЦикла;
МойЗапрос
= Новый Запрос;
МойЗапрос.Текст
= "ВЫБРАТЬ
| F1_СоглашениеОРассрочкеПлатежа.Дата КАК ДатаЗаключенияСоглашения,
| F1_СоглашениеОРассрочкеПлатежа.Номер КАК Номер,
| F1_СоглашениеОРассрочкеПлатежа.УК КАК УК,
| F1_СоглашениеОРассрочкеПлатежа.Должник КАК Должник,
| F1_СоглашениеОРассрочкеПлатежа.ДатаНачала КАК ДатаНачала,
| F1_СоглашениеОРассрочкеПлатежа.ДатаОкончания КАК ДатаОкончания,
| F1_СоглашениеОРассрочкеПлатежа.Статус КАК СтатусСоглашенияОРассрочке,
| F1_СоглашениеОРассрочкеПлатежа.ПериодичностьОплаты КАК ПериодичностьОплаты,
| F1_СоглашениеОРассрочкеПлатежа.СуммаДолга КАК СуммаДолга,
| F1_СоглашениеОРассрочкеПлатежа.ОстатокДолга КАК ОстатокДолга,
| F1_СоглашениеОРассрочкеПлатежа.Должник.F1_Город КАК Город,
| F1_СоглашениеОРассрочкеПлатежа.АдресПроживания КАК АдресПроживания,
| F1_СоглашениеОРассрочкеПлатежа.Должник.F1_Дом КАК
ДолжникF1_Дом,
| F1_СоглашениеОРассрочкеПлатежа.Должник.F1_Квартира КАК
ДолжникF1_Квартира,
| F1_СоглашениеОРассрочкеПлатежа.Должник.УК_Помещение КАК ДолжникУК_Помещение,
| F1_СоглашениеОРассрочкеПлатежа.Ссылка КАК Ссылка,
| F1_СоглашениеОРассрочкеПлатежа.п50 КАК СуммаПервоначальногоВзноса
|ИЗ
| Документ.F1_СоглашениеОРассрочкеПлатежа КАК
F1_СоглашениеОРассрочкеПлатежа
|ГДЕ
| F1_СоглашениеОРассрочкеПлатежа.ПометкаУдаления = ЛОЖЬ
| И F1_СоглашениеОРассрочкеПлатежа.Дата >= &ДатаЗаключенияНачало
| И F1_СоглашениеОРассрочкеПлатежа.Дата <= &ДатаЗаключенияОкончание";
МойЗапрос.УстановитьПараметр("ДатаЗаключенияНачало", ДатаЗаключенияНачало);
МойЗапрос.УстановитьПараметр("ДатаЗаключенияОкончание", ДатаЗаключенияОкончание);
Результат = МойЗапрос.Выполнить();
Если Результат.Пустой()
Тогда
Возврат;
КонецЕсли;
Выгрузка = Результат.Выгрузить();
Выгрузка.Колонки.Добавить("ГрафикПлатежей");
Для Каждого Эл Из Выгрузка Цикл
Эл.ГрафикПлатежей
= ГрафикПлатежейВJSON(Эл.Ссылка.ГрафикПлатежей);
КонецЦикла;
ДанныеРасшифровки
= Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета
= Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки
= КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
Настройки, ДанныеРасшифровки);
ВнешнийНаборДанных
= Новый Структура("НаборДанных1", Выгрузка);
ПроцессорКомпоновкиДанных
= Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных,
ДанныеРасшифровки);
ДокументРезультат.Очистить();
ПроцессорВывода
= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
|