#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
Если ПравоДоступа("Чтение", Метаданные.РегистрыСведений.ДанныеДляПодбораСотрудников) Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеДляПодбора.Начало КАК ДатаПриема
|ИЗ
| РегистрСведений.ДанныеДляПодбораСотрудников КАК ДанныеДляПодбора
|ГДЕ
| ДанныеДляПодбора.Сотрудник = &Сотрудник
| И ДанныеДляПодбора.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)
|
|;
|
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(ДанныеДляПодбора.Начало, ДЕНЬ, -1) КАК ДатаУвольнения
|ИЗ
| РегистрСведений.ДанныеДляПодбораСотрудников КАК ДанныеДляПодбора
|ГДЕ
| ДанныеДляПодбора.Сотрудник = &Сотрудник
| И ДанныеДляПодбора.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение)
|
|;
|ВЫБРАТЬ
| ВЫБОР
| КОГДА &ИспользоватьШтатноеРасписание
| ТОГДА ШтатноеРасписание.Должность
| ИНАЧЕ ДанныеДляПодбора.Должность
| КОНЕЦ КАК ТекущаяДолжность,
| ДанныеДляПодбора.МестоВСтруктуреПредприятия КАК ТекущееМестоВСтруктуреПредприятия,
| ДанныеДляПодбора.Организация КАК ТекущаяОрганизация,
| ДанныеДляПодбора.Подразделение КАК ТекущееПодразделение,
| ДанныеДляПодбора.ВидЗанятости КАК ТекущийВидЗанятости,
| ДанныеДляПодбора.ФизическоеЛицо КАК ФизическоеЛицо
|ИЗ
| РегистрСведений.ДанныеДляПодбораСотрудников КАК ДанныеДляПодбора
| {ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШтатноеРасписание КАК ШтатноеРасписание
| ПО &ИспользоватьШтатноеРасписание
| И ДанныеДляПодбора.ДолжностьПоШтатномуРасписанию = ШтатноеРасписание.Ссылка}
|ГДЕ
| ДанныеДляПодбора.Сотрудник = &Сотрудник
| И ДанныеДляПодбора.Начало <= &ТекущаяДата
| И ДанныеДляПодбора.Окончание >= &ТекущаяДата");
Запрос.УстановитьПараметр("Сотрудник", Объект.Ссылка);
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("ИспользоватьШтатноеРасписание", ПолучитьФункциональнуюОпцию("ИспользоватьШтатноеРасписание"));
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатДатаПриема = МассивРезультатов[0].Выгрузить();
РезультатДатаУвольнения = МассивРезультатов[1].Выгрузить();
Реквизиты = МассивРезультатов[2].Выгрузить();
Если РезультатДатаПриема.Количество() <> 0 Тогда
ДатаПриема = РезультатДатаПриема[0].ДатаПриема;
КонецЕсли;
Если РезультатДатаУвольнения.Количество() <> 0 Тогда
ДатаУвольнения = РезультатДатаУвольнения[0].ДатаУвольнения;
КонецЕсли;
Если Реквизиты.Количество() <> 0 Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Реквизиты[0]);
КонецЕсли;
Иначе
Элементы.ТекущееМестоРаботы.Видимость = Ложь;
Элементы.ГруппаДатаПриемаУвольнения.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти