#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если СПАРКРиски.ИспользованиеСПАРКРискиВключено() Тогда
ВидОшибки = СПАРКРискиМониторингСобытий.ОбновитьСобытияМониторинга();
Иначе
ВидОшибки = Перечисления.ВидыОшибокСПАРКРиски.ИспользованиеОтключено;
КонецЕсли;
Если Не ВидОшибки.Пустая() Тогда
СПАРКРиски.ЗаполнитьОписаниеОшибкиФормированияОтчета(
ДокументРезультат,
ВидОшибки);
Возврат;
КонецЕсли;
Запросы = Новый Массив;
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.СобытияМониторинга.Запрос;
ПозицияШаблон = СтрНайти(ТекстЗапроса, "//# Начало запроса");
Запросы.Добавить(Лев(ТекстЗапроса, ПозицияШаблон - 1));
ШаблонЗапроса = Сред(ТекстЗапроса, ПозицияШаблон + 19);
СправочникиКонтрагенты = СПАРКРиски.СвойстваСправочниковКонтрагентов();
ДобавитьОбъединить = Ложь;
Для Каждого ОписаниеСправочника Из СправочникиКонтрагенты Цикл
Если ДобавитьОбъединить Тогда
Запросы.Добавить("ОБЪЕДИНИТЬ ВСЕ");
ШаблонЗапроса = СтрЗаменить(ШаблонЗапроса, "РАЗРЕШЕННЫЕ", "");
КонецЕсли;
ТекстЗапроса =
СтрЗаменить(
ШаблонЗапроса,
"%ИмяСправочникаКонтрагенты",
ОписаниеСправочника.Имя);
ТекстЗапроса =
СтрЗаменить(
ТекстЗапроса,
"//#",
"");
Запросы.Добавить(ТекстЗапроса);
ДобавитьОбъединить = Истина;
КонецЦикла;
СхемаКомпоновкиДанных.НаборыДанных.СобытияМониторинга.Запрос =
СтрСоединить(Запросы, Символы.ПС);
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
ПараметрНадписьНаПортале = НастройкиОтчета.ПараметрыДанных.Элементы.Найти("НадписьНаПортале");
Если ПараметрНадписьНаПортале <> Неопределено Тогда
ПараметрНадписьНаПортале.Значение = НСтр("ru = 'на Портале 1С:ИТС'");
ПараметрНадписьНаПортале.Использование = Истина;
КонецЕсли;
ДокументРезультат.Очистить();
СПАРКРиски.ВывестиУведомлениеПользователяВОтчете(ДокументРезультат);
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
КонецПроцедуры
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.ВыводитьСуммуВыделенныхЯчеек = Ложь;
Настройки.События.ПередЗагрузкойВариантаНаСервере = Истина;
Настройки.События.ПриОпределенииПараметровВыбора = Истина;
Настройки.События.ПриЗагрузкеПользовательскихНастроекНаСервере = Истина;
КонецПроцедуры
Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт
СПАРКРиски.ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД);
КонецПроцедуры
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Форма, НовыеНастройкиКД) Экспорт
Если Форма.КлючНазначенияИспользования = "ТекущиеДела" Тогда
КомпоновщикНастроекФормы = Форма.Отчет.КомпоновщикНастроек;
Для Каждого Элемент Из КомпоновщикНастроекФормы.ПользовательскиеНастройки.Элементы Цикл
Элемент.Использование = Ложь;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт
СПАРКРиски.ПриОпределенииПараметровВыбора(СвойстваНастройки);
Если СвойстваНастройки.ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных.ТипСобытия") Тогда
Если ТипЗнч(СвойстваНастройки.ПользовательскаяНастройкаКД.Значение) = Тип("СписокЗначений") Тогда
ЭлементыКУдалению = Новый Массив;
Для Каждого Элемент Из СвойстваНастройки.ПользовательскаяНастройкаКД.Значение Цикл
Если Элемент.Значение = "" Тогда
ЭлементыКУдалению.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
Для Каждого Элемент Из ЭлементыКУдалению Цикл
СвойстваНастройки.ПользовательскаяНастройкаКД.Значение.Удалить(Элемент);
КонецЦикла;
ИначеЕсли СвойстваНастройки.ПользовательскаяНастройкаКД.Значение = "" Тогда
СвойстваНастройки.ПользовательскаяНастройкаКД.Значение = Новый СписокЗначений;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли