#Область ОбработчикиСобытий
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
КадровыйУчетРасширенныйВызовСервера.ОбработкаПолученияДанныхВыбораСправочникаРазрядыКатегорииДолжностей(ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Процедура НачальноеЗаполнение() Экспорт
КлассификаторТаблица = Новый ТаблицаЗначений;
КлассификаторТаблица.Колонки.Добавить("Наименование");
ЭтоРаботаВХозрасчетнойОрганизации = ЗарплатаКадрыРасширенный.ЗначениеРаботаВХозрасчетнойОрганизации();
Если ЭтоРаботаВХозрасчетнойОрганизации=Неопределено Или Не ЭтоРаботаВХозрасчетнойОрганизации Тогда
НоваяСтрокаКлассификатора = КлассификаторТаблица.Добавить();
НоваяСтрокаКлассификатора.Наименование = НСтр("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;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецЕсли