Квалификационные разряды (категории) / Модуль менеджера

файл

#Область ОбработчикиСобытий

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

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

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

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

Процедура НачальноеЗаполнение() Экспорт
	
	КлассификаторТаблица = Новый ТаблицаЗначений;
	КлассификаторТаблица.Колонки.Добавить("Наименование");
	
	ЭтоРаботаВХозрасчетнойОрганизации = ЗарплатаКадрыРасширенный.ЗначениеРаботаВХозрасчетнойОрганизации();
	
	Если ЭтоРаботаВХозрасчетнойОрганизации=Неопределено Или Не ЭтоРаботаВХозрасчетнойОрганизации Тогда
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='1 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='2 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='3 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='4 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='5 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='6 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='7 квалификационный уровень'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='Первая квалификационная категория'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='Вторая квалификационная категория'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='Высшая квалификационная категория'");
		
	КонецЕсли;
	
	Если ЭтоРаботаВХозрасчетнойОрганизации=Неопределено Или ЭтоРаботаВХозрасчетнойОрганизации Тогда
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='1 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='2 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='3 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='4 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='5 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='6 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='7 разряд (категория)'");
		
		НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
		НоваяСтрокаКлассификатора.Наименование = НСтр("ru='8 разряд (категория)'");
		
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	РазрядыКатегорииДолжностей.Наименование
	|ИЗ
	|	Справочник.РазрядыКатегорииДолжностей КАК РазрядыКатегорииДолжностей";
	
	ТаблицаСуществующих = Запрос.Выполнить().Выгрузить();
	
	Для Каждого СтрокаКлассификатора Из КлассификаторТаблица Цикл
		Если ТаблицаСуществующих.Найти(СтрокаКлассификатора.Наименование,"Наименование")  = Неопределено Тогда
			СправочникОбъект = Справочники.РазрядыКатегорииДолжностей.СоздатьЭлемент();
			ЗаполнитьЗначенияСвойств(СправочникОбъект, СтрокаКлассификатора);
			СправочникОбъект.Записать();
		КонецЕсли;
	КонецЦикла;
	
	ЗаполнитьРеквизитДопУпорядочивания();
	
КонецПроцедуры

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

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

#КонецЕсли

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