V82.ОбщиеМодули.ФормированиеПечатныхФормДополнительный.СформироватьПечатнуюФормуСправкиПоУправленческимОтпускамСотрудника C# (CSharp) Method

СформироватьПечатнуюФормуСправкиПоУправленческимОтпускамСотрудника() public method

        public object СформироватьПечатнуюФормуСправкиПоУправленческимОтпускамСотрудника(/*Физлицо, ФИОСотрудника, Сотрудник = Неопределено*/)
        {
            //ФорматДаты = "ДФ='d MMM yyyy ""г.""'";
            //КомпонентаСклоненияФИО = глЗначениеПеременной("глКомпонентаСклоненияФИО");
            //Макет = ПолучитьОбщийМакет("СправкаПоОтпускамКомпанииСотрудника");
            //ТабДокумент = Новый ТабличныйДокумент;
            //ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СправкаПоУправленческимОтпускамСотрудника";
            //Запрос = Новый Запрос;
            //Запрос.УстановитьПараметр("Физлицо",	Физлицо);
            /*Запрос.Текст =
            "ВЫБРАТЬ
            |	ПриемНаРаботу.Сотрудник,
            |	ПриемНаРаботу.ДатаПриема,
            |	ВЫБОР
            |		КОГДА Увольнение.ДатаУвольнения ЕСТЬ NULL
            |				ИЛИ Увольнение.ДатаУвольнения < ПриемНаРаботу.ДатаПриема
            |			ТОГДА ДАТАВРЕМЯ(1, 1, 1)
            |		ИНАЧЕ Увольнение.ДатаУвольнения
            |	КОНЕЦ КАК ДатаУвольнения,
            |	ПриемНаРаботу.Подразделение,
            |	ПриемНаРаботу.Должность,
            |	ПриемНаРаботу.Пол,
            |	ЕСТЬNULL(УчетнаяПолитикаПоПерсоналу.КоличествоДнейОтпускаВГод, 20) КАК КоличествоДнейОтпускаВГод
            |ИЗ
            |	(ВЫБРАТЬ
            |		Работники.ФизЛицо.Наименование КАК Сотрудник,
            |		Работники.Период КАК ДатаПриема,
            |		Работники.Подразделение.Наименование КАК Подразделение,
            |		Работники.Должность.Наименование КАК Должность,
            |		Работники.ФизЛицо.Пол КАК Пол,
            |		Работники.ФизЛицо КАК ФизЛицо
            |	ИЗ
            |		РегистрСведений.Работники КАК Работники
            |			ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |				МАКСИМУМ(Работники.Период) КАК Период,
            |				Работники.ФизЛицо КАК ФизЛицо
            |			ИЗ
            |				РегистрСведений.Работники КАК Работники
            |			ГДЕ
            |				Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
            |				И Работники.ФизЛицо = &ФизЛицо
            |
            |			СГРУППИРОВАТЬ ПО
            |				Работники.ФизЛицо) КАК РаботникиПериоды
            |			ПО Работники.Период = РаботникиПериоды.Период
            |				И Работники.ФизЛицо = РаботникиПериоды.ФизЛицо
            |	ГДЕ
            |		Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
            |		И Работники.ФизЛицо = &ФизЛицо) КАК ПриемНаРаботу
            |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоПерсоналу КАК УчетнаяПолитикаПоПерсоналу
            |		ПО (ИСТИНА)
            |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |			ДОБАВИТЬКДАТЕ(Работники.Период, ДЕНЬ, -1) КАК ДатаУвольнения,
            |			Работники.ФизЛицо КАК ФизЛицо
            |		ИЗ
            |			РегистрСведений.Работники КАК Работники
            |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |					МАКСИМУМ(Работники.Период) КАК Период,
            |					Работники.ФизЛицо КАК ФизЛицо
            |				ИЗ
            |					РегистрСведений.Работники КАК Работники
            |				ГДЕ
            |					Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |					И Работники.ФизЛицо = &ФизЛицо
            |
            |				СГРУППИРОВАТЬ ПО
            |					Работники.ФизЛицо) КАК РаботникиПериоды
            |				ПО Работники.Период = РаботникиПериоды.Период
            |					И Работники.ФизЛицо = РаботникиПериоды.ФизЛицо
            |		ГДЕ
            |			Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |			И Работники.ФизЛицо = &ФизЛицо) КАК Увольнение
            |		ПО ПриемНаРаботу.ФизЛицо = Увольнение.ФизЛицо
            |
            |СГРУППИРОВАТЬ ПО
            |	ЕСТЬNULL(УчетнаяПолитикаПоПерсоналу.КоличествоДнейОтпускаВГод, 20),
            |	ПриемНаРаботу.Сотрудник,
            |	ПриемНаРаботу.ДатаПриема,
            |	ПриемНаРаботу.Подразделение,
            |	ПриемНаРаботу.Должность,
            |	ПриемНаРаботу.Пол,
            |	ВЫБОР
            |		КОГДА Увольнение.ДатаУвольнения ЕСТЬ NULL
            |				ИЛИ Увольнение.ДатаУвольнения < ПриемНаРаботу.ДатаПриема
            |			ТОГДА ДАТАВРЕМЯ(1, 1, 1)
            |		ИНАЧЕ Увольнение.ДатаУвольнения
            |	КОНЕЦ";*/
            //Выборка = Запрос.Выполнить().Выбрать();
            //ДатаПриема = Дата(1,1,1);
            if(true/*Выборка.Следующий()*/)
            {
                //ДатаПриема = Выборка.ДатаПриема;
                //ОбластьМакета = Макет.ПолучитьОбласть("ОбщиеДанные");
                //ОбластьМакета.Параметры.Заполнить(Выборка);
                //ТабДокумент.Вывести(ОбластьМакета);
                //ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
                //ОбластьМакета.Параметры.Период		= Формат(ДатаПриема, ФорматДаты);
                if(true/*Выборка.Пол = Перечисления.ПолФизическихЛиц.Женский*/)
                {
                    //ОбластьМакета.Параметры.Комментарий	= "Принята на работу";
                }
                //ТабДокумент.Вывести(ОбластьМакета);
                //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                //ОбластьМакета.Параметры.Текст			= "" + Выборка.КоличествоДнейОтпускаВГод + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день","дня","дней",Выборка.КоличествоДнейОтпускаВГод) + " отпуска в год";
                //ТабДокумент.Вывести(ОбластьМакета);
                //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                //ТабДокумент.Вывести(ОбластьМакета);
            }
            if(true/*Выборка.Количество() = 0*/)
            {
                /*Запрос.Текст =
            "ВЫБРАТЬ
            |	ПриемНаРаботу.Сотрудник КАК Сотрудник,
            |	ПриемНаРаботу.ДатаПриема КАК ДатаПриема,
            |	ВЫБОР
            |		КОГДА Увольнение.ДатаУвольнения ЕСТЬ NULL
            |				ИЛИ Увольнение.ДатаУвольнения < ПриемНаРаботу.ДатаПриема
            |			ТОГДА ДАТАВРЕМЯ(1, 1, 1)
            |		ИНАЧЕ Увольнение.ДатаУвольнения
            |	КОНЕЦ КАК ДатаУвольнения,
            |	ЕСТЬNULL(СоответствиеПодразделенийИПодразделенийОрганизаций.Подразделение.Наименование, ""Подразделение не указано"") КАК Подразделение,
            |	ПриемНаРаботу.Должность КАК Должность,
            |	ПриемНаРаботу.Пол КАК Пол,
            |	ЕСТЬNULL(УчетнаяПолитикаПоПерсоналу.КоличествоДнейОтпускаВГод, 20) КАК КоличествоДнейОтпускаВГод,
            |	ПриемНаРаботу.ОбособленноеПодразделение КАК ОбособленноеПодразделение
            |ИЗ
            |	(ВЫБРАТЬ
            |		Работники.Сотрудник.Физлицо.Наименование КАК Сотрудник,
            |		МАКСИМУМ(Работники.Период) КАК ДатаПриема,
            |		Работники.Должность.Наименование КАК Должность,
            |		Работники.Сотрудник.Физлицо.Пол КАК Пол,
            |		Работники.ОбособленноеПодразделение.Наименование КАК ОбособленноеПодразделение,
            |		Работники.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
            |		Работники.Сотрудник.Физлицо КАК Физлицо
            |	ИЗ
            |		РегистрСведений.РаботникиОрганизаций КАК Работники
            |			ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |				МАКСИМУМ(Работники.Период) КАК Период,
            |				Работники.Сотрудник.Физлицо КАК Физлицо
            |			ИЗ
            |				РегистрСведений.РаботникиОрганизаций КАК Работники
            |			ГДЕ
            |				Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
            |				И Работники.Сотрудник.Физлицо = &ФизЛицо
            |
            |			СГРУППИРОВАТЬ ПО
            |				Работники.Сотрудник.Физлицо) КАК РаботникиПериоды
            |			ПО Работники.Период = РаботникиПериоды.Период
            |				И Работники.Сотрудник.Физлицо = РаботникиПериоды.Физлицо
            |	ГДЕ
            |		Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
            |		И Работники.Сотрудник.Физлицо = &ФизЛицо
            |
            |	СГРУППИРОВАТЬ ПО
            |		Работники.Сотрудник.Физлицо.Наименование,
            |		Работники.Должность.Наименование,
            |		Работники.Сотрудник.Физлицо.Пол,
            |		Работники.ОбособленноеПодразделение.Наименование,
            |		Работники.ПодразделениеОрганизации,
            |		Работники.Сотрудник.Физлицо) КАК ПриемНаРаботу
            |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоПерсоналу КАК УчетнаяПолитикаПоПерсоналу
            |		ПО (ИСТИНА)
            |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |			Работники.Сотрудник.Физлицо КАК Физлицо,
            |			МАКСИМУМ(Работники.Период) КАК ДатаУвольнения
            |		ИЗ
            |			РегистрСведений.РаботникиОрганизаций КАК Работники
            |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |					МАКСИМУМ(Работники.Период) КАК Период,
            |					Работники.Сотрудник.Физлицо КАК Физлицо
            |				ИЗ
            |					РегистрСведений.РаботникиОрганизаций КАК Работники
            |				ГДЕ
            |					Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |					И Работники.Сотрудник.Физлицо = &ФизЛицо
            |
            |				СГРУППИРОВАТЬ ПО
            |					Работники.Сотрудник.Физлицо) КАК РаботникиПериоды
            |				ПО Работники.Период = РаботникиПериоды.Период
            |					И Работники.Сотрудник.Физлицо = РаботникиПериоды.Физлицо
            |		ГДЕ
            |			Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |			И Работники.Сотрудник.Физлицо = &ФизЛицо
            |
            |		СГРУППИРОВАТЬ ПО
            |			Работники.Сотрудник.Физлицо) КАК Увольнение
            |		ПО ПриемНаРаботу.Физлицо = Увольнение.Физлицо
            |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеПодразделенийИПодразделенийОрганизаций КАК СоответствиеПодразделенийИПодразделенийОрганизаций
            |		ПО ПриемНаРаботу.ПодразделениеОрганизации = СоответствиеПодразделенийИПодразделенийОрганизаций.ПодразделениеОрганизации";*/
                //Выборка = Запрос.Выполнить().Выбрать();
                if(true/*Выборка.Следующий()*/)
                {
                    //ДатаПриема = Выборка.ДатаПриема;
                    //ОбластьМакета = Макет.ПолучитьОбласть("ОбщиеДанные");
                    //ОбластьМакета.Параметры.Заполнить(Выборка);
                    //ТабДокумент.Вывести(ОбластьМакета);
                    //ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
                    //ОбластьМакета.Параметры.Период		= Формат(ДатаПриема, ФорматДаты);
                    if(true/*Выборка.Пол = Перечисления.ПолФизическихЛиц.Женский*/)
                    {
                        //ОбластьМакета.Параметры.Комментарий	= "Принята на работу в организацию " + Выборка.ОбособленноеПодразделение;
                    }
                    //ТабДокумент.Вывести(ОбластьМакета);
                    //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                    //ОбластьМакета.Параметры.Текст			= "" + Выборка.КоличествоДнейОтпускаВГод + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день","дня","дней",Выборка.КоличествоДнейОтпускаВГод) + " отпуска в год";
                    //ТабДокумент.Вывести(ОбластьМакета);
                    //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                    //ТабДокумент.Вывести(ОбластьМакета);
                }
            }
            /*Запрос.Текст =
            "ВЫБРАТЬ
            |	ПравоНаДополнительныеДниОтпускаРаботники.Ссылка.Дата КАК Период,
            |	ПравоНаДополнительныеДниОтпускаРаботники.Количество КАК ДнейОтпуска,
            |	ПравоНаДополнительныеДниОтпускаРаботники.Примечание
            |ИЗ
            |	Документ.ПравоНаДополнительныеДниОтпуска.Работники КАК ПравоНаДополнительныеДниОтпускаРаботники
            |ГДЕ
            |	ПравоНаДополнительныеДниОтпускаРаботники.Сотрудник.Физлицо = &Физлицо
            |	И ПравоНаДополнительныеДниОтпускаРаботники.Ссылка.Проведен
            |
            |УПОРЯДОЧИТЬ ПО
            |	Период";*/
            //ТаблицаДопОтпусков = Запрос.Выполнить().Выгрузить();
            /*Запрос.Текст =
            "ВЫБРАТЬ
            |	ОстаткиСрез.ДатаОкончанияРабочегоГода КАК Период,
            |	СУММА(ОстаткиОтпусковОстатки.Количество) КАК Количество
            |ИЗ
            |	Справочник.ОстаткиОтпусков.Остатки КАК ОстаткиОтпусковОстатки
            |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |			ВложенныйЗапрос.ДатаАктуальности КАК ДатаАктуальности,
            |			МАКСИМУМ(ВложенныйЗапрос.ДатаОкончанияРабочегоГода) КАК ДатаОкончанияРабочегоГода
            |		ИЗ
            |			(ВЫБРАТЬ
            |				МАКСИМУМ(ОстаткиОтпусковОстатки.Ссылка.ДатаАктуальности) КАК ДатаАктуальности,
            |				ОстаткиОтпусковОстатки.ДатаОкончанияРабочегоГода КАК ДатаОкончанияРабочегоГода
            |			ИЗ
            |				Справочник.ОстаткиОтпусков.Остатки КАК ОстаткиОтпусковОстатки
            |			ГДЕ
            |				ОстаткиОтпусковОстатки.Ссылка.Физлицо = &Физлицо
            |
            |			СГРУППИРОВАТЬ ПО
            |				ОстаткиОтпусковОстатки.ДатаОкончанияРабочегоГода) КАК ВложенныйЗапрос
            |
            |		СГРУППИРОВАТЬ ПО
            |			ВложенныйЗапрос.ДатаАктуальности) КАК ОстаткиСрез
            |		ПО ОстаткиОтпусковОстатки.Ссылка.ДатаАктуальности = ОстаткиСрез.ДатаАктуальности
            |			И (ОстаткиОтпусковОстатки.Ссылка.Физлицо = &Физлицо)
            |
            |СГРУППИРОВАТЬ ПО
            |	ОстаткиСрез.ДатаОкончанияРабочегоГода
            |
            |УПОРЯДОЧИТЬ ПО
            |	Период";*/
            //ТаблицаОстатков = Запрос.Выполнить().Выгрузить();
            /*Запрос.Текст =
            "ВЫБРАТЬ
            |	0 КАК НомерСтроки,
            |	ФактическиеОтпуска.Физлицо КАК Сотрудник,
            |	ФактическиеОтпуска.Период КАК ДатаНачала,
            |	ФактическиеОтпуска.ДатаОкончания КАК ДатаОкончания
            |ИЗ
            |	РегистрНакопления.ФактическиеОтпуска КАК ФактическиеОтпуска
            |ГДЕ
            |	ФактическиеОтпуска.Физлицо = &ФизЛицо
            |
            |УПОРЯДОЧИТЬ ПО
            |	ДатаНачала,
            |	ДатаОкончания";*/
            //ТаблицаПериодов = Запрос.Выполнить().Выгрузить();
            //НомерСтроки = 1;
            //СотрудникУволен		= ЗначениеЗаполнено(Выборка.ДатаУвольнения);
            //ДатаАктуальности	= ?(СотрудникУволен, Выборка.ДатаУвольнения, ОбщегоНазначения.ПолучитьРабочуюДату());
            //ДлинаСуток = 86400;
            /*// Получим остатки отпуска на следующий день после текущего или после даты увольнения,
            */
            /*// Что бы отпуска текущего дня тоже попали в отчет
            */
            //Строка = ТаблицаПериодов.Добавить();
            //Строка.НомерСтроки		= 0;
            //Строка.Сотрудник		= Физлицо;
            //Строка.ДатаНачала		= ДатаАктуальности + ДлинаСуток;
            //Строка.ДатаОкончания	= ДатаАктуальности + ДлинаСуток;
            /*// Получим остатки на конец каждого рабочего года
            */
            if(true/*ЗначениеЗаполнено(ДатаПриема)*/)
            {
                //ТекущийРабочийГод = НачалоДня(КонецГода(ДатаПриема));
                //НомерСтроки = -1;
                while(true/*ТекущийРабочийГод < ДатаАктуальности*/)
                {
                    //Строка = ТаблицаПериодов.Добавить();
                    //Строка.НомерСтроки		= НомерСтроки;
                    //Строка.Сотрудник		= Физлицо;
                    //Строка.ДатаНачала		= ТекущийРабочийГод;
                    //Строка.ДатаОкончания	= ТекущийРабочийГод;
                    //ТекущийРабочийГод = НачалоДня(КонецГода(КонецГода(ТекущийРабочийГод)+1));
                    //НомерСтроки = НомерСтроки - 1;
                }
                //;;
            }
            //ТаблицаПериодов.Сортировать("НомерСтроки");
            //Выборка = ПроцедурыУправленияПерсоналомДополнительный.ПодготовитьДанныеПоУправленческимОтпускам(ТаблицаПериодов, Истина);
            /*// Список макетов с информацией на сегодня
            */
            //МакетыНаСегодня			= Новый Массив;
            /*// таблица с макетами
            */
            //ТаблицаМакетовЗаПериод	= Новый ТаблицаЗначений;
            //ТаблицаМакетовЗаПериод.Колонки.Добавить("Период");
            //ТаблицаМакетовЗаПериод.Колонки.Добавить("ДопРеквизитУпорядочивания");
            //ТаблицаМакетовЗаПериод.Колонки.Добавить("МассивМакетов");
            while(true/*Выборка.Следующий()*/)
            {
                if(true/*Выборка.НомерСтроки = 0*/)
                {
                    /*// Остаток отпуска на рабочую дату/дату увольнения
            */
                    //ОбщееКоличествоДней		= Выборка.Количество + Выборка.ОстатокДополнительногоОтпуска;
                    //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                    //МакетыНаСегодня.Добавить(ОбластьМакета);
                    //ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
                    if(true/*СотрудникУволен*/)
                    {
                        //ОбластьМакета.Параметры.Период		= "На дату увольнения, " + Формат(ДатаАктуальности, ФорматДаты);
                    }
                    //МакетыНаСегодня.Добавить(ОбластьМакета);
                    if(true/*ОбщееКоличествоДней >= 0*/)
                    {
                        //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                        //ОбластьМакета.Параметры.Текст			= "Неиспользованный отпуск";
                        //ОбластьМакета.Параметры.КоличествоДней	= "" + ОбщееКоличествоДней + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день","дня","дней",ОбщееКоличествоДней);
                    }
                    //МакетыНаСегодня.Добавить(ОбластьМакета);
                    if(true/*(ОбщееКоличествоДней >= 0 И Выборка.КоличествоДнейОтпускаБезТекущегоГода > 0 И Выборка.ОстатокДополнительногоОтпуска > 0)
                ИЛИ (ОбщееКоличествоДней < 0 И Выборка.КоличествоДнейОтпускаБезТекущегоГода < 0 И Выборка.ОстатокДополнительногоОтпуска < 0)*/)
                    {
                        //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                        //ОбластьМакета.Параметры.Текст			= "Из них";
                        //ТабДокумент.Вывести(ОбластьМакета);
                        //ОбщийТекст = "     ";
                    }
                    if(true/*ОбщееКоличествоДней >= 0*/)
                    {
                        if(true/*Выборка.КоличествоДнейОтпускаБезТекущегоГода > 0*/)
                        {
                            //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                            //ОбластьМакета.Параметры.Текст			= ОбщийТекст + "остаток прошлых лет";
                            //ОбластьМакета.Параметры.КоличествоДней	= "" + Выборка.КоличествоДнейОтпускаБезТекущегоГода + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день","дня","дней",Выборка.КоличествоДнейОтпускаБезТекущегоГода);
                            //МакетыНаСегодня.Добавить(ОбластьМакета);
                        }
                        if(true/*Выборка.ОстатокДополнительногоОтпуска > 0*/)
                        {
                            //ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                            //ОбластьМакета.Параметры.Текст			= ОбщийТекст + "дополнительный отпуск";
                            //ОбластьМакета.Параметры.КоличествоДней	= "" + Выборка.ОстатокДополнительногоОтпуска + " " + ОбщегоНазначения.ФормаМножественногоЧисла("день","дня","дней",Выборка.ОстатокДополнительногоОтпуска);
                            //МакетыНаСегодня.Добавить(ОбластьМакета);
                        }
                    }
                }
            }
            //ТаблицаМакетовЗаПериод.Сортировать("Период, ДопРеквизитУпорядочивания");
            //ФИОСотрудника = СокрЛП(Физлицо);
            //УниверсальныеМеханизмы.Просклонять(КомпонентаСклоненияФИО, ФИОСотрудника, 2, , ФИОСотрудника);
            return null;
        }