#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если ЗначениеЗаполнено(Параметры.Отображение) Тогда
Элементы.Список.Отображение = ОтображениеТаблицы[Параметры.Отображение];
КонецЕсли;
ТекстОшибкиПриОткрытии = РассылкаОтчетов.ТекстОшибкиПроверкиПраваДобавления();
Если ЗначениеЗаполнено(ТекстОшибкиПриОткрытии) Тогда
ВызватьИсключение ТекстОшибкиПриОткрытии;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ВыполнятьПоРасписанию", Ложь,
ВидСравненияКомпоновкиДанных.Равно, , Ложь,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "ПериодичностьРасписания", ,
ВидСравненияКомпоновкиДанных.Равно, , Ложь,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Подготовлена", Ложь,
ВидСравненияКомпоновкиДанных.Равно, , Ложь,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список, "Автор", ,
ВидСравненияКомпоновкиДанных.Равно, , Ложь,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный);
Элементы.Список.РежимВыбора = Параметры.РежимВыбора;
Элементы.Список.ВыборГруппИЭлементов = ?(Параметры.ВыборГруппИЭлементов <> Неопределено, Параметры.ВыборГруппИЭлементов, Элементы.Список.ВыборГруппИЭлементов);
Элементы.Список.МножественныйВыбор = Параметры.МножественныйВыбор;
Элементы.Список.ТекущаяСтрока = ?(Параметры.ТекущаяСтрока <> Неопределено, Параметры.ТекущаяСтрока, Элементы.Список.ТекущаяСтрока);
Если Не ПравоДоступа("Изменение", Метаданные.Справочники.РассылкиОтчетов) Тогда
Элементы.Список.Отображение = ОтображениеТаблицы.Список;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "ЭтоГруппа", Ложь, , , Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
КонецЕсли;
ОтчетОтбор = Параметры.Отчет;
УстановитьОтбор(Ложь);
Список.Параметры.УстановитьЗначениеПараметра("ПустаяДата", '00010101');
Список.Параметры.УстановитьЗначениеПараметра("ПредставлениеСостоянияНовая", НСтр("ru = 'Новая'"));
Список.Параметры.УстановитьЗначениеПараметра("ПредставлениеСостоянияНеВыполнена", НСтр("ru = 'Не выполнена'"));
Список.Параметры.УстановитьЗначениеПараметра("ПредставлениеСостоянияВыполненаСОшибками", НСтр("ru = 'Выполнена частично'"));
Список.Параметры.УстановитьЗначениеПараметра("ПредставлениеСостоянияВыполнена", НСтр("ru = 'Выполнена'"));
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов")
Или Не ПравоДоступа("Изменение", Метаданные.Справочники.РассылкиОтчетов) Тогда
Элементы.ИзменитьВыделенные.Видимость = Ложь;
Элементы.ИзменитьВыделенныеСписок.Видимость = Ложь;
КонецЕсли;
Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда
Элементы.СобытияРассылки.Видимость = Ложь;
КонецЕсли;
ПоказатьПодсказкуРассылкиОтчетовМогутРаботатьБыстрее();
КонецПроцедуры
&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
УстановитьОтборСписка(Настройки);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СостояниеОтборПриИзменении(Элемент)
УстановитьОтбор();
КонецПроцедуры
&НаКлиенте
Процедура ОтчетОтборПриИзменении(Элемент)
УстановитьОтбор();
КонецПроцедуры
&НаКлиенте
Процедура ОтветственныйОтборПриИзменении(Элемент)
УстановитьОтбор();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
Если Строка = ПредопределенноеЗначение("Справочник.РассылкиОтчетов.ЛичныеРассылки") Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ИзменитьВыделенные(Команда)
МодульГрупповоеИзменениеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ГрупповоеИзменениеОбъектовКлиент");
МодульГрупповоеИзменениеОбъектовКлиент.ИзменитьВыделенные(Элементы.Список);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура УстановитьУсловноеОформление()
СтандартныеПодсистемыСервер.УстановитьУсловноеОформлениеПоляДата(ЭтотОбъект, "Список.ПоследнийЗапуск", Элементы.ПоследнийЗапуск.Имя);
СтандартныеПодсистемыСервер.УстановитьУсловноеОформлениеПоляДата(ЭтотОбъект, "Список.УспешныйЗапуск", Элементы.УспешныйЗапуск.Имя);
ЭлементУсловногоОформления = Список.УсловноеОформление.Элементы.Добавить();
ЭлементУсловногоОформления.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтоГруппа");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Ложь;
ЭлементОтбораДанных.Использование = Истина;
ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Подготовлена");
ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораДанных.ПравоеЗначение = Ложь;
ЭлементОтбораДанных.Использование = Истина;
ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("ЦветТекста");
ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение;
ЭлементЦветаОформления.Использование = Истина;
КонецПроцедуры
&НаСервере
Процедура УстановитьОтбор(СнятьФиксированныеОтборы = Истина)
Если СнятьФиксированныеОтборы Тогда
Список.Отбор.Элементы.Очистить();
КонецЕсли;
ПараметрыОтбора = Новый Соответствие();
ПараметрыОтбора.Вставить("СОшибками", СостояниеОтбор);
ПараметрыОтбора.Вставить("Отчет", ОтчетОтбор);
ПараметрыОтбора.Вставить("Автор", ОтветственныйОтбор);
УстановитьОтборСписка(ПараметрыОтбора);
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборСписка(ПараметрыОтбора)
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Автор", ПараметрыОтбора["Автор"],,,
Не ПараметрыОтбора["Автор"].Пустая());
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "СОшибками", ПараметрыОтбора["СОшибками"] = "Невыполненные",,,
ПараметрыОтбора["СОшибками"] <> "Все" И ЗначениеЗаполнено(ПараметрыОтбора["СОшибками"]));
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "ОтчетОтбор", ПараметрыОтбора["Отчет"],
ЗначениеЗаполнено(ПараметрыОтбора["Отчет"]) И Не ПараметрыОтбора["Отчет"].Пустая());
КонецПроцедуры
&НаСервере
Процедура ПоказатьПодсказкуРассылкиОтчетовМогутРаботатьБыстрее()
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Или ОбщегоНазначения.РазделениеВключено() Тогда
Элементы.ГруппаРассылкиМогутРаботатьБыстрее.Видимость = Ложь;
Иначе
Если ФайловаяСистема.ОбщийКаталогВременныхФайлов() = КаталогВременныхФайлов() Тогда
Элементы.ГруппаРассылкиМогутРаботатьБыстрее.Видимость = Истина;
Если Пользователи.ЭтоПолноправныйПользователь()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
Элементы.ЗаголовокУскорениеРассылок.Гиперссылка = Истина;
Элементы.ЗаголовокУскорениеРассылок.УстановитьДействие("Нажатие", "Подключаемый_ЗаголовокУскорениеРассылокНажатие");
КонецЕсли;
Иначе
Элементы.ГруппаРассылкиМогутРаботатьБыстрее.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЗаголовокУскорениеРассылокНажатие(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
МодульНастройкиПрограммыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("НастройкиПрограммыКлиент");
МодульНастройкиПрограммыКлиент.ОткрытьОбщиеНастройки();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецЕсли;
КонецПроцедуры
#КонецОбласти