&НаСервере
Функция РасчетДЗвРазрезеДомов()
Запрос
= Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
РАЗЛИЧНЫЕ
| УК_СостояниеРасчетов.МесяцНачисления
КАК МесяцНачисления,
| Партнеры.F1_Город КАК Город,
| Партнеры.F1_Дом КАК Дом,
| УК_ПоставщикиУслуг.Ссылка
КАК УК,
| СУММА(УК_СостояниеРасчетов.Сумма
- УК_Оплаты.Сумма) КАК ДЗ_ПредМесяц
|ПОМЕСТИТЬ
втПредМесяц
|ИЗ
| РегистрСведений.УК_СостояниеРасчетов
КАК УК_СостояниеРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УК_ПоставщикиУслуг КАК УК_ПоставщикиУслуг
| ПО УК_СостояниеРасчетов.ПоставщикРЦ.Поставщик
= УК_ПоставщикиУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УК_Оплаты КАК УК_Оплаты
| ПО УК_СостояниеРасчетов.ЛС
= УК_Оплаты.Абонент
| И УК_СостояниеРасчетов.МесяцНачисления = УК_Оплаты.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО УК_СостояниеРасчетов.ЛС
= Партнеры.Ссылка
|ГДЕ
| УК_СостояниеРасчетов.МесяцНачисления
= ДОБАВИТЬКДАТЕ(&МесяцНачисления, МЕСЯЦ, -1)
|
|СГРУППИРОВАТЬ
ПО
| Партнеры.F1_Город,
| Партнеры.F1_Дом,
| УК_ПоставщикиУслуг.Ссылка,
| УК_СостояниеРасчетов.МесяцНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
РАЗЛИЧНЫЕ
| УК_СостояниеРасчетов.МесяцНачисления
КАК МесяцНачисления,
| Партнеры.F1_Город КАК Город,
| Партнеры.F1_Дом КАК Дом,
| УК_ПоставщикиУслуг.Ссылка
КАК УК,
| СУММА(УК_СостояниеРасчетов.Сумма
- УК_Оплаты.Сумма) КАК ДЗ_ТекМесяц
|ПОМЕСТИТЬ
втТекМесяц
|ИЗ
| РегистрСведений.УК_СостояниеРасчетов
КАК УК_СостояниеРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УК_ПоставщикиУслуг КАК УК_ПоставщикиУслуг
| ПО УК_СостояниеРасчетов.ПоставщикРЦ.Поставщик
= УК_ПоставщикиУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УК_Оплаты КАК УК_Оплаты
| ПО УК_СостояниеРасчетов.ЛС
= УК_Оплаты.Абонент
| И УК_СостояниеРасчетов.МесяцНачисления = УК_Оплаты.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО УК_СостояниеРасчетов.ЛС
= Партнеры.Ссылка
|ГДЕ
| УК_СостояниеРасчетов.МесяцНачисления
= &МесяцНачисления
|
|СГРУППИРОВАТЬ
ПО
| Партнеры.F1_Город,
| Партнеры.F1_Дом,
| УК_ПоставщикиУслуг.Ссылка,
| УК_СостояниеРасчетов.МесяцНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втТекМесяц.Город
КАК Город,
| втТекМесяц.Дом
КАК Дом,
| втТекМесяц.УК
КАК УК,
| втТекМесяц.МесяцНачисления
КАК МесяцНачисления,
| втТекМесяц.ДЗ_ТекМесяц
КАК ДЗ_ТекМесяц,
| втПредМесяц.ДЗ_ПредМесяц
КАК ДЗ_ПредМесяц,
| ВЫБОР
| КОГДА втПредМесяц.ДЗ_ПредМесяц
<> 0
| ТОГДА (втТекМесяц.ДЗ_ТекМесяц - втПредМесяц.ДЗ_ПредМесяц)
/ втПредМесяц.ДЗ_ПредМесяц * 100
| ИНАЧЕ 0
| КОНЕЦ КАК ПроцентИзмененияДЗ
|ПОМЕСТИТЬ
втИзменениеДЗ
|ИЗ
| втТекМесяц
КАК втТекМесяц
| ЛЕВОЕ СОЕДИНЕНИЕ втПредМесяц КАК втПредМесяц
| ПО втТекМесяц.Город
= втПредМесяц.Город
| И втТекМесяц.Дом = втПредМесяц.Дом
| И втТекМесяц.УК = втПредМесяц.УК
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втИзменениеДЗ.Дом
КАК Дом,
| СУММА(втИзменениеДЗ.ПроцентИзмененияДЗ)
КАК ПроцентИзмененияДЗ
|ИЗ
| втИзменениеДЗ
КАК втИзменениеДЗ
|ГДЕ
| втИзменениеДЗ.ПроцентИзмененияДЗ
> 20
|
|СГРУППИРОВАТЬ
ПО
| втИзменениеДЗ.Дом
|
|УПОРЯДОЧИТЬ
ПО
| втИзменениеДЗ.Дом.Наименование";
Запрос.УстановитьПараметр("МесяцНачисления",
НачалоМесяца(ТекущаяДата()));
Результат
= Запрос.Выполнить();
Выборка
= Результат.Выбрать();
СЗ
= Новый СписокЗначений;
Пока
Выборка.Следующий() Цикл
СЗ.Добавить(Строка(Выборка.Дом)
+ " " + Строка(Формат(Выборка.ПроцентИзмененияДЗ, "ЧЦ=10; ЧДЦ=2")) +
" %");
КонецЦикла;
Если
НЕ Результат.Пустой() Тогда
Возврат
СЗ;
Иначе
Возврат
Неопределено;
КонецЕсли
КонецФункции
&НаСервере
Функция РасчетДЗвРазрезеГородов()
Запрос
= Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
РАЗЛИЧНЫЕ
| УК_СостояниеРасчетов.МесяцНачисления
КАК МесяцНачисления,
| Партнеры.F1_Город КАК Город,
| Партнеры.F1_Дом КАК Дом,
| УК_ПоставщикиУслуг.Ссылка
КАК УК,
| СУММА(УК_СостояниеРасчетов.Сумма
- УК_Оплаты.Сумма) КАК ДЗ_ПредМесяц
|ПОМЕСТИТЬ
втПредМесяц
|ИЗ
| РегистрСведений.УК_СостояниеРасчетов
КАК УК_СостояниеРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УК_ПоставщикиУслуг КАК УК_ПоставщикиУслуг
| ПО УК_СостояниеРасчетов.ПоставщикРЦ.Поставщик
= УК_ПоставщикиУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УК_Оплаты КАК УК_Оплаты
| ПО УК_СостояниеРасчетов.ЛС
= УК_Оплаты.Абонент
| И УК_СостояниеРасчетов.МесяцНачисления = УК_Оплаты.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО УК_СостояниеРасчетов.ЛС
= Партнеры.Ссылка
|ГДЕ
| УК_СостояниеРасчетов.МесяцНачисления
= ДОБАВИТЬКДАТЕ(&МесяцНачисления, МЕСЯЦ, -1)
|
|СГРУППИРОВАТЬ
ПО
| Партнеры.F1_Город,
| Партнеры.F1_Дом,
| УК_ПоставщикиУслуг.Ссылка,
| УК_СостояниеРасчетов.МесяцНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
РАЗЛИЧНЫЕ
| УК_СостояниеРасчетов.МесяцНачисления
КАК МесяцНачисления,
| Партнеры.F1_Город КАК Город,
| Партнеры.F1_Дом КАК Дом,
| УК_ПоставщикиУслуг.Ссылка
КАК УК,
| СУММА(УК_СостояниеРасчетов.Сумма
- УК_Оплаты.Сумма) КАК ДЗ_ТекМесяц
|ПОМЕСТИТЬ
втТекМесяц
|ИЗ
| РегистрСведений.УК_СостояниеРасчетов
КАК УК_СостояниеРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УК_ПоставщикиУслуг КАК УК_ПоставщикиУслуг
| ПО УК_СостояниеРасчетов.ПоставщикРЦ.Поставщик
= УК_ПоставщикиУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УК_Оплаты КАК УК_Оплаты
| ПО УК_СостояниеРасчетов.ЛС
= УК_Оплаты.Абонент
| И УК_СостояниеРасчетов.МесяцНачисления = УК_Оплаты.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО УК_СостояниеРасчетов.ЛС
= Партнеры.Ссылка
|ГДЕ
| УК_СостояниеРасчетов.МесяцНачисления
= &МесяцНачисления
|
|СГРУППИРОВАТЬ
ПО
| Партнеры.F1_Город,
| Партнеры.F1_Дом,
| УК_ПоставщикиУслуг.Ссылка,
| УК_СостояниеРасчетов.МесяцНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втТекМесяц.Город
КАК Город,
| втТекМесяц.Дом
КАК Дом,
| втТекМесяц.УК
КАК УК,
| втТекМесяц.МесяцНачисления
КАК МесяцНачисления,
| втТекМесяц.ДЗ_ТекМесяц
КАК ДЗ_ТекМесяц,
| втПредМесяц.ДЗ_ПредМесяц
КАК ДЗ_ПредМесяц,
| ВЫБОР
| КОГДА втПредМесяц.ДЗ_ПредМесяц
<> 0
| ТОГДА (втТекМесяц.ДЗ_ТекМесяц - втПредМесяц.ДЗ_ПредМесяц)
/ втПредМесяц.ДЗ_ПредМесяц * 100
| ИНАЧЕ 0
| КОНЕЦ КАК ПроцентИзмененияДЗ
|ПОМЕСТИТЬ
втИзменениеДЗ
|ИЗ
| втТекМесяц
КАК втТекМесяц
| ЛЕВОЕ СОЕДИНЕНИЕ втПредМесяц КАК втПредМесяц
| ПО втТекМесяц.Город
= втПредМесяц.Город
| И втТекМесяц.Дом = втПредМесяц.Дом
| И втТекМесяц.УК = втПредМесяц.УК
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втИзменениеДЗ.Город
КАК Город,
| СУММА(втИзменениеДЗ.ПроцентИзмененияДЗ)
КАК ПроцентИзмененияДЗ
|ИЗ
| втИзменениеДЗ
КАК втИзменениеДЗ
|ГДЕ
| втИзменениеДЗ.ПроцентИзмененияДЗ
> 20
|
|СГРУППИРОВАТЬ
ПО
| втИзменениеДЗ.Город
|
|УПОРЯДОЧИТЬ
ПО
| втИзменениеДЗ.Город.Наименование";
Запрос.УстановитьПараметр("МесяцНачисления",
НачалоМесяца(ТекущаяДата()));
Результат
= Запрос.Выполнить();
Выборка
= Результат.Выбрать();
СЗ
= Новый СписокЗначений;
Пока
Выборка.Следующий() Цикл
СЗ.Добавить(Строка(Выборка.Город)
+ " " + Строка(Формат(Выборка.ПроцентИзмененияДЗ, "ЧЦ=10; ЧДЦ=2")) +
" %");
КонецЦикла;
Если
НЕ Результат.Пустой() Тогда
Возврат
СЗ;
Иначе
Возврат
Неопределено;
КонецЕсли
КонецФункции
&НаСервере
Функция РасчетДЗвРазрезеУК()
Запрос
= Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
РАЗЛИЧНЫЕ
| УК_СостояниеРасчетов.МесяцНачисления
КАК МесяцНачисления,
| Партнеры.F1_Город КАК Город,
| Партнеры.F1_Дом КАК Дом,
| УК_ПоставщикиУслуг.Ссылка
КАК УК,
| СУММА(УК_СостояниеРасчетов.Сумма
- УК_Оплаты.Сумма) КАК ДЗ_ПредМесяц
|ПОМЕСТИТЬ
втПредМесяц
|ИЗ
| РегистрСведений.УК_СостояниеРасчетов
КАК УК_СостояниеРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УК_ПоставщикиУслуг КАК УК_ПоставщикиУслуг
| ПО УК_СостояниеРасчетов.ПоставщикРЦ.Поставщик
= УК_ПоставщикиУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УК_Оплаты КАК УК_Оплаты
| ПО УК_СостояниеРасчетов.ЛС
= УК_Оплаты.Абонент
| И УК_СостояниеРасчетов.МесяцНачисления = УК_Оплаты.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО УК_СостояниеРасчетов.ЛС
= Партнеры.Ссылка
|ГДЕ
| УК_СостояниеРасчетов.МесяцНачисления
= ДОБАВИТЬКДАТЕ(&МесяцНачисления, МЕСЯЦ, -1)
|
|СГРУППИРОВАТЬ
ПО
| Партнеры.F1_Город,
| Партнеры.F1_Дом,
| УК_ПоставщикиУслуг.Ссылка,
| УК_СостояниеРасчетов.МесяцНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
РАЗЛИЧНЫЕ
| УК_СостояниеРасчетов.МесяцНачисления
КАК МесяцНачисления,
| Партнеры.F1_Город КАК Город,
| Партнеры.F1_Дом КАК Дом,
| УК_ПоставщикиУслуг.Ссылка
КАК УК,
| СУММА(УК_СостояниеРасчетов.Сумма
- УК_Оплаты.Сумма) КАК ДЗ_ТекМесяц
|ПОМЕСТИТЬ
втТекМесяц
|ИЗ
| РегистрСведений.УК_СостояниеРасчетов
КАК УК_СостояниеРасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УК_ПоставщикиУслуг КАК УК_ПоставщикиУслуг
| ПО УК_СостояниеРасчетов.ПоставщикРЦ.Поставщик
= УК_ПоставщикиУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УК_Оплаты КАК УК_Оплаты
| ПО УК_СостояниеРасчетов.ЛС
= УК_Оплаты.Абонент
| И УК_СостояниеРасчетов.МесяцНачисления = УК_Оплаты.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО УК_СостояниеРасчетов.ЛС
= Партнеры.Ссылка
|ГДЕ
| УК_СостояниеРасчетов.МесяцНачисления
= &МесяцНачисления
|
|СГРУППИРОВАТЬ
ПО
| Партнеры.F1_Город,
| Партнеры.F1_Дом,
| УК_ПоставщикиУслуг.Ссылка,
| УК_СостояниеРасчетов.МесяцНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втТекМесяц.Город
КАК Город,
| втТекМесяц.Дом
КАК Дом,
| втТекМесяц.УК
КАК УК,
| втТекМесяц.МесяцНачисления
КАК МесяцНачисления,
| втТекМесяц.ДЗ_ТекМесяц
КАК ДЗ_ТекМесяц,
| втПредМесяц.ДЗ_ПредМесяц
КАК ДЗ_ПредМесяц,
| ВЫБОР
| КОГДА втПредМесяц.ДЗ_ПредМесяц
<> 0
| ТОГДА (втТекМесяц.ДЗ_ТекМесяц - втПредМесяц.ДЗ_ПредМесяц)
/ втПредМесяц.ДЗ_ПредМесяц * 100
| ИНАЧЕ 0
| КОНЕЦ КАК ПроцентИзмененияДЗ
|ПОМЕСТИТЬ
втИзменениеДЗ
|ИЗ
| втТекМесяц
КАК втТекМесяц
| ЛЕВОЕ СОЕДИНЕНИЕ втПредМесяц КАК втПредМесяц
| ПО втТекМесяц.Город
= втПредМесяц.Город
| И втТекМесяц.Дом = втПредМесяц.Дом
| И втТекМесяц.УК = втПредМесяц.УК
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втИзменениеДЗ.УК
КАК УК,
| СУММА(втИзменениеДЗ.ПроцентИзмененияДЗ)
КАК ПроцентИзмененияДЗ
|ИЗ
| втИзменениеДЗ
КАК втИзменениеДЗ
|ГДЕ
| втИзменениеДЗ.ПроцентИзмененияДЗ > 20
|
|СГРУППИРОВАТЬ
ПО
| втИзменениеДЗ.УК
|
|УПОРЯДОЧИТЬ
ПО
| втИзменениеДЗ.УК.Наименование";
Запрос.УстановитьПараметр("МесяцНачисления",
НачалоМесяца(ТекущаяДата()));
Результат
= Запрос.Выполнить();
Выборка
= Результат.Выбрать();
СЗ
= Новый СписокЗначений;
Пока
Выборка.Следующий() Цикл
СЗ.Добавить(Строка(Выборка.УК)
+ " " + Строка(Формат(Выборка.ПроцентИзмененияДЗ, "ЧЦ=10;
ЧДЦ=2")) + " %");
КонецЦикла;
Если
НЕ Результат.Пустой() Тогда
Возврат
СЗ;
Иначе
Возврат
Неопределено;
КонецЕсли
КонецФункции
&НаСервере
Процедура ОтправитьПочтовоеСообщениеСИнцидентом(Знач Сообщение) Экспорт//Ark,
2022-10-21
Попытка
АдресПолучателя = "info@pochta.ru";
АдресОтвета ="";
ТемаПисьма ="Инцидент - Взрывная дебиторская
задолженность";
ТекстПисьма = Сообщение;
МодульРаботаСПочтовымиСообщениями = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениями");
УчетнаяЗапись = МодульРаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", АдресПолучателя);
ПараметрыПисьма.Вставить("УчетнаяЗапись",
УчетнаяЗапись);
ПараметрыПисьма.Вставить("АдресОтвета",
АдресОтвета);
ПараметрыПисьма.Вставить("Тема", ТемаПисьма);
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста",
"ПростойТекст");
РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗапись,
ПараметрыПисьма);
Исключение
КонецПопытки;
КонецПроцедуры
&НаСервере
Процедура ИнцидентВзрывнаяДЗ()
Экспорт
СписокГородов = РасчетДЗвРазрезеГородов();
СписокУК = РасчетДЗвРазрезеУК();
СписокДомов = РасчетДЗвРазрезеДомов();
Если
СписокДомов <> Неопределено
Тогда
Если
СписокДомов.Количество() > 0 Тогда
Сообщение
= "ДЗ в разрезе ГОРОДОВ" + Символы.ПС +
"=====================================" + Символы.ПС;
Для
Каждого Эл Из СписокГородов Цикл
Сообщение
= Сообщение + Строка(Эл) + Символы.ПС;
КонецЦикла;
Сообщение
= Сообщение + Символы.ПС + "ДЗ в разрезе
УК" + Символы.ПС +
"=====================================" + Символы.ПС;
Для
Каждого Эл Из СписокУК Цикл
Сообщение
= Сообщение + Строка(Эл) + Символы.ПС;
КонецЦикла;
Сообщение
= Сообщение + Символы.ПС + "ДЗ в разрезе
ДОМОВ" + Символы.ПС +
"=====================================" + Символы.ПС;
Для
Каждого Эл Из СписокДомов Цикл
Сообщение
= Сообщение + Строка(Эл) + Символы.ПС;
КонецЦикла;
ОтправитьПочтовоеСообщениеСИнцидентом(Сообщение);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
|