#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ДляВсехСтрок( ЗначениеРазрешено(Сотрудники.ФизическоеЛицо, NULL КАК ИСТИНА)
| ) И ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
#Область ОбработчикиПравилРегистрации
Процедура ПриЗаполненииНастроекОбработчиковПравилРегистрации(Настройки) Экспорт
ВоинскийУчет.ДляОтбораПоОрганизации(Настройки);
ВоинскийУчет.ДляОбъектаСПрисоединеннымиФайлами(Настройки);
КонецПроцедуры
#КонецОбласти
Функция ОписаниеСоставаОбъекта() Экспорт
МетаданныеДокумента = Метаданные.Документы.ХодатайствоОБронированииГражданПребывающихВЗапасе;
ОписаниеСоставаОбъекта = ЗарплатаКадрыСоставДокументов.ОписаниеСоставаОбъектаПоМетаданнымФизическиеЛицаВТабличныхЧастях(МетаданныеДокумента);
ОписаниеСоставаОбъекта.ЗаполнятьФизическиеЛицаПоСотрудникам = Ложь;
Возврат ОписаниеСоставаОбъекта;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
КомандаПечати.Идентификатор = "ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем";
КомандаПечати.Представление = НСтр("ru = 'Ходатайство о бронировании в соответствии с перечнем (форма № 8)'");
КомандаПечати.Порядок = 10;
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
КомандаПечати.Идентификатор = "ПФ_MXL_ХодатайствоОбИндивидуальномБронировании";
КомандаПечати.Представление = НСтр("ru = 'Ходатайство об индивидуальном бронировании (форма № 2)'");
КомандаПечати.Порядок = 20;
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем",
НСтр("ru = 'Ходатайство о бронировании в соответствии с перечнем (форма № 8)'"),
ПечатнаяФормаХодатайстваОБронированииВСоответствииСПеречнем(МассивОбъектов, ОбъектыПечати), ,
"Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем");
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_ХодатайствоОбИндивидуальномБронировании") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПФ_MXL_ХодатайствоОбИндивидуальномБронировании",
НСтр("ru = 'Ходатайство об индивидуальном бронировании (форма № 2)'"),
ПечатнаяФормаХодатайстваОбИндивидуальномБронировании(МассивОбъектов, ОбъектыПечати), ,
"Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОбИндивидуальномБронировании");
КонецЕсли;
КонецПроцедуры
#Область ПроцедурыФункцииПечатиБланковВоинскогоУчета
Функция ПечатнаяФормаХодатайстваОБронированииВСоответствииСПеречнем(МассивОбъектов, ОбъектыПечати)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ХодатайствоОБронированииВСоответствииСПеречнем";
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ДанныеДляПечати = ДанныеДляПечатиДокументаХодатайствоОБронировании(МассивОбъектов);
ВыборкаПоДокументам = ДанныеДляПечати.РезультатПоШапке.Выбрать();
ВыборкаПоСтрокам = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выбрать();
Пока ВыборкаПоДокументам.Следующий() Цикл
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем2023");
ИспользоватьФорму2017 = Ложь;
ИспользоватьФорму2023 = Ложь;
Если ВыборкаПоДокументам.ДатаДок >= '20231102' Тогда
ИспользоватьФорму2023 = Истина;
ИначеЕсли ВыборкаПоДокументам.ДатаДок >= '20170801' Тогда
ИспользоватьФорму2017 = Истина;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем2017");
Иначе
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОБронированииВСоответствииСПеречнем");
КонецЕсли;
Заголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
СтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
Подвал = Макет.ПолучитьОбласть("Подвал");
ВыводимыеОбласти = Новый Массив;
ВыводимыеОбласти.Добавить(СтрокаТаблицы);
ВыводимыеОбласти.Добавить(Подвал);
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
ЗаполнитьЗначенияСвойств(Заголовок.Параметры, ВыборкаПоДокументам);
ТабДокумент.Вывести(Заголовок);
ТабДокумент.Вывести(Шапка);
СтруктураПоиска = Новый Структура("Ссылка", ВыборкаПоДокументам.Ссылка);
ВыборкаПоСтрокам.Сбросить();
Пока ВыборкаПоСтрокам.НайтиСледующий(СтруктураПоиска) Цикл
ЗаполнитьЗначенияСвойств(СтрокаТаблицы.Параметры, ВыборкаПоСтрокам);
Если ИспользоватьФорму2017 Или ИспользоватьФорму2023 Тогда
ДанныеДолжности = ВыборкаПоСтрокам.КодВЭД + Символы.ПС + ВыборкаПоСтрокам.КодДолжности;
Если Не ЗначениеЗаполнено(ВыборкаПоСтрокам.КодВЭД) И Не ЗначениеЗаполнено(ВыборкаПоСтрокам.КодДолжности) Тогда
ДанныеДолжности = ВыборкаПоСтрокам.ОписаниеПунктаПеречня;
КонецЕсли;
СтрокаТаблицы.Параметры.ДанныеДолжности = ДанныеДолжности;
КонецЕсли;
Если ИспользоватьФорму2023 Тогда
Должность = Строка(ВыборкаПоСтрокам.Должность)
+ Символы.ПС + ВыборкаПоДокументам.ПолноеНаименованиеОрганизации
+ Символы.ПС + ВыборкаПоДокументам.ИНН;
СтрокаТаблицы.Параметры.Должность = Должность;
КонецЕсли;
Если Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти) Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДокумент.Вывести(СтрокаТаблицы);
КонецЦикла;
ЗаполнитьЗначенияСвойств(Подвал.Параметры, ВыборкаПоДокументам);
ТабДокумент.Вывести(Подвал);
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);
КонецЦикла;
Возврат ТабДокумент;
КонецФункции
Функция ПечатнаяФормаХодатайстваОбИндивидуальномБронировании(МассивОбъектов, ОбъектыПечати)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ХодатайствоОбИндивидуальномБронировании";
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ДанныеДляПечати = ДанныеДляПечатиДокументаХодатайствоОБронировании(МассивОбъектов);
ВыборкаПоДокументам = ДанныеДляПечати.РезультатПоШапке.Выбрать();
ВыборкаПоСтрокам = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выбрать();
Пока ВыборкаПоДокументам.Следующий() Цикл
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОбИндивидуальномБронировании2017");
ИспользоватьФорму2017 = ВыборкаПоДокументам.ДатаДок >= '20170801';
Если Не ИспользоватьФорму2017 Тогда
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.ПФ_MXL_ХодатайствоОбИндивидуальномБронировании");
КонецЕсли;
Заголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
СтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
Подвал = Макет.ПолучитьОбласть("Подвал");
ВыводимыеОбласти = Новый Массив;
ВыводимыеОбласти.Добавить(СтрокаТаблицы);
ВыводимыеОбласти.Добавить(Подвал);
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
ЗаполнитьЗначенияСвойств(Заголовок.Параметры, ВыборкаПоДокументам);
ТабДокумент.Вывести(Заголовок);
ТабДокумент.Вывести(Шапка);
СтруктураПоиска = Новый Структура("Ссылка", ВыборкаПоДокументам.Ссылка);
ВыборкаПоСтрокам.Сбросить();
Пока ВыборкаПоСтрокам.НайтиСледующий(СтруктураПоиска) Цикл
ЗаполнитьЗначенияСвойств(СтрокаТаблицы.Параметры, ВыборкаПоСтрокам);
Если ИспользоватьФорму2017 Тогда
ДанныеДолжности = ВыборкаПоСтрокам.КодВЭД + Символы.ПС + ВыборкаПоСтрокам.КодДолжности;
Если Не ЗначениеЗаполнено(ВыборкаПоСтрокам.КодВЭД) И Не ЗначениеЗаполнено(ВыборкаПоСтрокам.КодДолжности) Тогда
ДанныеДолжности = ВыборкаПоСтрокам.ОписаниеПунктаПеречня;
КонецЕсли;
Если Не ЗначениеЗаполнено(ВыборкаПоСтрокам.ПунктПеречня) Тогда
ДанныеДолжности = НСтр("ru = 'в Перечне нет'");
КонецЕсли;
СтрокаТаблицы.Параметры.ДанныеДолжности = ДанныеДолжности;
Если Не ЗначениеЗаполнено(ВыборкаПоСтрокам.НомерКомандыПартии) Тогда
СтрокаТаблицы.Параметры.НомерКомандыПартии = "-";
КонецЕсли;
КонецЕсли;
Если Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти) Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДокумент.Вывести(СтрокаТаблицы);
КонецЦикла;
ЗаполнитьЗначенияСвойств(Подвал.Параметры, ВыборкаПоДокументам);
ТабДокумент.Вывести(Подвал);
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);
КонецЦикла;
Возврат ТабДокумент;
КонецФункции
Функция ДанныеДляПечатиДокументаХодатайствоОБронировании(МассивСсылок)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("МассивСсылок", МассивСсылок);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ХодатайствоОБронировании.Дата КАК Дата,
| ХодатайствоОБронировании.Организация КАК Организация,
| ВЫБОР
| КОГДА ПОДСТРОКА(ХодатайствоОБронировании.Организация.НаименованиеПолное, 1, 10) <> """"
| ТОГДА ХодатайствоОБронировании.Организация.НаименованиеПолное
| ИНАЧЕ ХодатайствоОБронировании.Организация.Наименование
| КОНЕЦ КАК ПолноеНаименованиеОрганизации,
| ХодатайствоОБронировании.Организация.ИНН КАК ИНН,
| ХодатайствоОБронировании.Ссылка КАК Ссылка,
| ХодатайствоОБронировании.Руководитель КАК Руководитель,
| ХодатайствоОБронировании.ДолжностьРуководителя КАК ДолжностьРуководителя
|ПОМЕСТИТЬ ВТДанныеДокументов
|ИЗ
| Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе КАК ХодатайствоОБронировании
|ГДЕ
| ХодатайствоОБронировании.Ссылка В(&МассивСсылок)";
Запрос.Выполнить();
ИменаПолейОтветственныхЛиц = Новый Массив;
ИменаПолейОтветственныхЛиц.Добавить("Руководитель");
ЗарплатаКадры.СоздатьВТФИООтветственныхЛиц(Запрос.МенеджерВременныхТаблиц, Истина, ИменаПолейОтветственныхЛиц, "ВТДанныеДокументов");
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ДанныеДокументов.Дата КАК ДатаДок,
| ДанныеДокументов.Организация КАК Организация,
| ДанныеДокументов.ПолноеНаименованиеОрганизации КАК ПолноеНаименованиеОрганизации,
| ДанныеДокументов.ИНН КАК ИНН,
| ДанныеДокументов.ДолжностьРуководителя.Наименование КАК ДолжностьРуководителя,
| ФИООтветственныхЛиц.РасшифровкаПодписи КАК РуководительРасшифровкаПодписи
|ИЗ
| ВТДанныеДокументов КАК ДанныеДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ФИООтветственныхЛиц
| ПО ДанныеДокументов.Руководитель = ФИООтветственныхЛиц.ФизическоеЛицо
| И ДанныеДокументов.Ссылка = ФИООтветственныхЛиц.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ДанныеДокументов.Дата";
РезультатЗапроса = Запрос.Выполнить();
ДанныеДляПечати = Новый Структура;
ДанныеДляПечати.Вставить("РезультатПоШапке", РезультатЗапроса);
Запрос.УстановитьПараметр("Приписан", НСтр("ru = 'Приписан'"));
Запрос.УстановитьПараметр("НеПриписан", НСтр("ru = 'Не приписан'"));
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ХодатайствоОБронированииСотрудники.Ссылка КАК Ссылка,
| ХодатайствоОБронированииСотрудники.НомерСтроки КАК НомерСтроки,
| ХодатайствоОБронированииСотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
| ХодатайствоОБронированииСотрудники.ФизическоеЛицо.Наименование КАК ФИОПолные,
| ХодатайствоОБронированииСотрудники.ФизическоеЛицо.ДатаРождения КАК ДатаРождения,
| ХодатайствоОБронированииСотрудники.Подразделение КАК Подразделение,
| ХодатайствоОБронированииСотрудники.Должность КАК Должность,
| ХодатайствоОБронированииСотрудники.Звание КАК Звание,
| ХодатайствоОБронированииСотрудники.Состав КАК Состав,
| ХодатайствоОБронированииСотрудники.ВУС КАК ВУС,
| ХодатайствоОБронированииСотрудники.Годность КАК Годность,
| ВЫБОР
| КОГДА ХодатайствоОБронированииСотрудники.НаличиеМобпредписания
| ТОГДА &Приписан + ВЫБОР
| КОГДА ХодатайствоОБронированииСотрудники.НомерКомандыПартии = """"
| ТОГДА """"
| ИНАЧЕ "",""
| КОНЕЦ
| ИНАЧЕ &НеПриписан
| КОНЕЦ КАК НаличиеМобпредписания,
| ХодатайствоОБронированииСотрудники.НомерКомандыПартии КАК НомерКомандыПартии,
| ХодатайствоОБронированииСотрудники.ПунктПеречня КАК ПунктПеречня,
| ЕСТЬNULL(ХодатайствоОБронированииСотрудники.ПунктПеречня.КодВЭД, """") КАК КодВЭД,
| ЕСТЬNULL(ХодатайствоОБронированииСотрудники.ПунктПеречня.КодДолжности, """") КАК КодДолжности,
| ЕСТЬNULL(ХодатайствоОБронированииСотрудники.ПунктПеречня.ОписаниеПункта, """") КАК ОписаниеПунктаПеречня,
| ХодатайствоОБронированииСотрудники.МотивХодатайства КАК МотивХодатайства,
| ХодатайствоОБронированииСотрудники.Ссылка.Организация.Наименование КАК Организация
|ИЗ
| Документ.ХодатайствоОБронированииГражданПребывающихВЗапасе.Сотрудники КАК ХодатайствоОБронированииСотрудники
|ГДЕ
| ХодатайствоОБронированииСотрудники.Ссылка В(&МассивСсылок)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| НомерСтроки";
РезультатЗапроса = Запрос.Выполнить();
ДанныеДляПечати.Вставить("РезультатПоТабличнойЧасти", РезультатЗапроса);
Возврат ДанныеДляПечати;
КонецФункции
#КонецОбласти
#Область МеханизмФиксацииИзменений
Функция ПараметрыФиксацииВторичныхДанных() Экспорт
Возврат ФиксацияВторичныхДанныхВДокументах.ПараметрыФиксации(ФиксацияОписаниеФиксацииРеквизитов(), ФиксацияОписанияТЧ())
КонецФункции
Функция ФиксацияОписаниеФиксацииРеквизитов()
ОписаниеФиксацииРеквизитов = Новый Соответствие;
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиПодразделение", ФиксацияОписаниеФиксацииРеквизита("Подразделение", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиДолжность", ФиксацияОписаниеФиксацииРеквизита("Должность", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиЗвание", ФиксацияОписаниеФиксацииРеквизита("Звание", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиСостав", ФиксацияОписаниеФиксацииРеквизита("Состав", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиВУС", ФиксацияОписаниеФиксацииРеквизита("ВУС", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиГодность", ФиксацияОписаниеФиксацииРеквизита("Годность", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиНаличиеМобпредписания", ФиксацияОписаниеФиксацииРеквизита("НаличиеМобпредписания", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиНомерКомандыПартии", ФиксацияОписаниеФиксацииРеквизита("НомерКомандыПартии", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиПунктПеречня", ФиксацияОписаниеФиксацииРеквизита("ПунктПеречня", "ФизическоеЛицо"));
ОписаниеФиксацииРеквизитов.Вставить("СотрудникиДанныеВоинскогоУчета", ФиксацияОписаниеФиксацииРеквизита("ДанныеВоинскогоУчета", "ФизическоеЛицо"));
Возврат Новый ФиксированноеСоответствие(ОписаниеФиксацииРеквизитов);
КонецФункции
Функция ФиксацияОписанияТЧ()
МассивПолей = Новый Массив;
МассивПолей.Добавить("ФизическоеЛицо");
СтруктураКлючевыхПолей = Новый Структура("Сотрудники", МассивПолей);
Возврат СтруктураКлючевыхПолей
КонецФункции
Функция ФиксацияОписаниеФиксацииРеквизита(ИмяРеквизита,
ИмяГруппы,
ОснованиеЗаполнения = "ФизическоеЛицо",
РеквизитСтроки = Истина,
ФиксацияГруппы = Ложь,
Путь = "Сотрудники",
Используется = Истина,
ОтображатьПредупреждение = Истина,
СтрокаПредупреждения = "")
ФиксацияРеквизита = ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксируемогоРеквизита();
ФиксацияРеквизита.Вставить("Используется", Используется);
ФиксацияРеквизита.Вставить("ИмяРеквизита", ИмяРеквизита);
ФиксацияРеквизита.Вставить("ИмяГруппы", ИмяГруппы);
ФиксацияРеквизита.Вставить("ФиксацияГруппы", ФиксацияГруппы);
ФиксацияРеквизита.Вставить("ОснованиеЗаполнения", ОснованиеЗаполнения);
ФиксацияРеквизита.Вставить("Путь", Путь);
ФиксацияРеквизита.Вставить("ОтображатьПредупреждение", ОтображатьПредупреждение);
Если СтрокаПредупреждения <> "" Тогда
ФиксацияРеквизита.Вставить("СтрокаПредупреждения", СтрокаПредупреждения);
КонецЕсли;
ФиксацияРеквизита.Вставить("РеквизитСтроки", РеквизитСтроки);
Возврат ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксацииРеквизита(ФиксацияРеквизита);
КонецФункции
#КонецОбласти
Функция КадровыеДанныеФизическихЛиц(СписокФизическихЛиц, Организация, ДатаСобытия) Экспорт
ТаблицаСотрудников = КадровыйУчет.ОсновныеСотрудникиФизическихЛиц(СписокФизическихЛиц, Истина, Организация, ДатаСобытия);
СписокСотрудников = ОбщегоНазначения.ВыгрузитьКолонку(ТаблицаСотрудников, "Сотрудник");
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, СписокСотрудников, "Подразделение,Должность", ДатаСобытия);
КадровыеДанныеФизическихЛиц = КадровыйУчет.КадровыеДанныеФизическихЛиц(Истина, СписокФизическихЛиц, "ВоинскийУчетЗвание,ВоинскийУчетСостав,ВоинскийУчетВУС,ВоинскийУчетГодность,ВоинскийУчетНаличиеМобпредписания,ВоинскийУчетНомерКомандыПартии,ВоинскийУчетПунктПеречня", ДатаСобытия);
КадровыеДанные = Новый ТаблицаЗначений;
КадровыеДанные.Колонки.Добавить("ФизическоеЛицо", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
КадровыеДанные.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"));
КадровыеДанные.Колонки.Добавить("Должность", Новый ОписаниеТипов("СправочникСсылка.Должности"));
КадровыеДанные.Колонки.Добавить("Звание", Новый ОписаниеТипов("СправочникСсылка.ЗванияГражданскогоВоинскогоУчета"));
КадровыеДанные.Колонки.Добавить("Состав", Новый ОписаниеТипов("СправочникСсылка.СоставыВоеннослужащих"));
КадровыеДанные.Колонки.Добавить("ВУС", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(10)));
КадровыеДанные.Колонки.Добавить("Годность", Новый ОписаниеТипов("ПеречислениеСсылка.ГодностьКВоеннойСлужбе"));
КадровыеДанные.Колонки.Добавить("НаличиеМобпредписания", Новый ОписаниеТипов("Булево"));
КадровыеДанные.Колонки.Добавить("НомерКомандыПартии", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(50)));
КадровыеДанные.Колонки.Добавить("ПунктПеречня", Новый ОписаниеТипов("СправочникСсылка.ПереченьДолжностейДляБронированияГраждан"));
Для Каждого ДанныеФизическогоЛица Из КадровыеДанныеФизическихЛиц Цикл
НоваяСтрока = КадровыеДанные.Добавить();
Отбор = Новый Структура("ФизическоеЛицо", ДанныеФизическогоЛица.ФизическоеЛицо);
СтрокиФизическогоЛица = КадровыеДанныеСотрудников.НайтиСтроки(Отбор);
Если СтрокиФизическогоЛица.Количество() > 0 Тогда
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокиФизическогоЛица[0]);
КонецЕсли;
НоваяСтрока.ФизическоеЛицо = ДанныеФизическогоЛица.ФизическоеЛицо;
НоваяСтрока.Звание = ДанныеФизическогоЛица.ВоинскийУчетЗвание;
НоваяСтрока.Состав = ДанныеФизическогоЛица.ВоинскийУчетСостав;
НоваяСтрока.ВУС = ДанныеФизическогоЛица.ВоинскийУчетВУС;
НоваяСтрока.Годность = ДанныеФизическогоЛица.ВоинскийУчетГодность;
НоваяСтрока.НаличиеМобпредписания = ДанныеФизическогоЛица.ВоинскийУчетНаличиеМобпредписания;
НоваяСтрока.НомерКомандыПартии = ДанныеФизическогоЛица.ВоинскийУчетНомерКомандыПартии;
НоваяСтрока.ПунктПеречня = ДанныеФизическогоЛица.ВоинскийУчетПунктПеречня;
КонецЦикла;
Возврат КадровыеДанные;
КонецФункции
#КонецОбласти
#КонецЕсли