Воинские звания / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

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

#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс

#Область ОбработчикиПравилРегистрации

// См. ЗарплатаКадрыРасширенныйСинхронизацияДанных.ШаблонОбработчика
Процедура ПриЗаполненииНастроекОбработчиковПравилРегистрации(Настройки) Экспорт
	ВоинскийУчет.ДляРегламентированныхДанных(Настройки);
КонецПроцедуры

#КонецОбласти

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция СоответствиеВоинскихЗванийИСоставов()
	
	Солдаты 		= Справочники.СоставыВоеннослужащих.НайтиПоНаименованию("Солдаты, матросы, сержанты, старшины", Истина);
	Прапорщики 		= Справочники.СоставыВоеннослужащих.НайтиПоНаименованию("Прапорщики и мичманы", Истина);
	МладшиеОфицеры 	= Справочники.СоставыВоеннослужащих.НайтиПоНаименованию("Младшие офицеры", Истина);
	СтаршиеОфицеры 	= Справочники.СоставыВоеннослужащих.НайтиПоНаименованию("Старшие офицеры", Истина);
	ВысшиеОфицеры 	= Справочники.СоставыВоеннослужащих.НайтиПоНаименованию("Высшие офицеры", Истина);
	
	СоответствиеЗванийИСоставов = Новый Соответствие;
	
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Рядовой, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Матрос, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Ефрейтор, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.СтаршийМатрос, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.МладшийСержант, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Старшина2Статьи, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Сержант, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Старшина1Статьи, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.СтаршийСержант, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ГлавныйСтаршина, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Старшина, Солдаты);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ГлавныйКорабельныйСтаршина, Солдаты);
	
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Прапорщик, Прапорщики);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Мичман, Прапорщики);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.СтаршийПрапорщик, Прапорщики);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.СтаршийМичман, Прапорщики);
	
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.МладшийЛейтенант, МладшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Лейтенант, МладшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.СтаршийЛейтенант, МладшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Капитан, МладшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.КапитанЛейтенант, МладшиеОфицеры);
	
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Майор, СтаршиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Капитан3Ранга, СтаршиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Подполковник, СтаршиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Капитан2Ранга, СтаршиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Полковник, СтаршиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Капитан1Ранга, СтаршиеОфицеры);
	
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ГенералМайор, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.КонтрАдмирал, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ГенералЛейтенант, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ВицеАдмирал, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ГенералПолковник, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.Адмирал, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.ГенералАрмии, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.АдмиралФлота, ВысшиеОфицеры);
	СоответствиеЗванийИСоставов.Вставить(Перечисления.КлассификаторВоинскихЗваний.МаршалРоссийскойФедерации, ВысшиеОфицеры);
	
	Возврат СоответствиеЗванийИСоставов;
	
КонецФункции	

#КонецОбласти

#КонецЕсли

Связанные материалы