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