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