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