Показатели расчета зарплаты / Модуль менеджера

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

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

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт

КонецПроцедуры

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов


// Добавляет новый показатель расчета зарплаты, используемый для ввода оперативных данных.
//
// Параметры:
//	Идентификатор        - Строка - Строковый идентификатор показателя.
//	                                Используется в формуле начислений, 
//	                                а также для идентификации показателя в исходном коде.
//	Представление        - Строка - Пользовательское представление показателя.
//	КраткоеПредставление - Строка - Представление, используемое для заголовков колонок в документах ввода.
//	Валюта   - СправочникСсылка.Валюты - валюта показателя, по умолчанию - валюта учета.
//	Точность - Число - Точность значения показателя, по умолчанию - 0 (целое число).
//
// Возвращаемое значение:
//	СправочникСсылка.ПоказателиРасчетаЗарплаты - созданный показатель.
//
Функция СоздатьОперативныйПоказатель(Идентификатор, Представление, 
			КраткоеПредставление = Неопределено, Валюта = Неопределено, Точность = Неопределено) Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	
	ОписаниеПоказателя.Идентификатор = Идентификатор;
	ОписаниеПоказателя.Наименование = Представление;
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Разовое;
	ОписаниеПоказателя.СпособВводаЗначений = Перечисления.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.НакапливаетсяПоОтдельнымЗначениям;
	ОписаниеПоказателя.Предопределенный = Ложь;
	
	Если КраткоеПредставление = Неопределено Тогда
		КраткоеПредставление = Представление;
	КонецЕсли;
	ОписаниеПоказателя.КраткоеНаименование = КраткоеПредставление;
	
	Если Точность <> Неопределено Тогда
		ОписаниеПоказателя.Точность = Точность;
	КонецЕсли;
	
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецФункции

// Показатели, имеющие отношение к учету времени.
// Возвращаемое значение:
//  Массив - список показателей, имеющих отношение к учету времени.
//
Функция ПоказателиУчетаВремени() Экспорт
	
	Показатели = Новый Массив;
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ВремяВДнях"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ВремяВЧасах"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ВремяВДняхЧасах"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ДнейЧасовВыходногоПособия"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КалендарныеДни"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КалендарныеДниБезПраздников"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КоличествоДнейОтпуска"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НормаВремениВДнях"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НормаДней"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НормаВремениВЧасах"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НормаДнейЧасов"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноДней"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноЧасов"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноСмен"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноСверхурочно"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноСверхурочноВПределах2Часов"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ДоляНеполногоРабочегоВремени"));
	
	Возврат Показатели;
	
КонецФункции

// Показатели расчета времени по часам.
// Возвращаемое значение:
//  Массив - список показателей расчета времени по часам.
//
Функция ПоказателиУчетаВремениВЧасах() Экспорт
	
	Показатели = Новый Массив;
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ВремяВЧасах"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НормаВремениВЧасах"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноЧасов"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноСверхурочно"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОтработаноСверхурочноВПределах2Часов"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ПереработаноПоСуммированномуУчету"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ПереработаноПоСуммированномуУчетуВПределах2Часов"));
	
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднечасовойЗаработок"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьЧаса"));

	Возврат Показатели;
	
КонецФункции

// Предопределенные показатели, значения которых рассчитываются автоматически 
// именно на этапе расчета, а не на этапе заполнения.
// Возвращаемое значение:
//  Массив - список показателей, значения которых рассчитываются автоматически на этапе расчета.
// 
Функция ПоказателиОпределяемыеПриРасчете() Экспорт
	
	Показатели = Новый Массив;
	
	// Это все показатели учета времени.
	ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Показатели, ПоказателиУчетаВремени());
	
	// И некоторые специализированные.
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РасчетнаяБаза"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РасчетнаяБазаСтраховыеВзносы"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СдельныйЗаработок"));

	Возврат Показатели;
	
КонецФункции

// Предопределенные показатели, характеризующие расчет по среднему заработку
// Возвращаемое значение:
//  Массив - список показателей, характеризующих расчет по среднему заработку.
//
Функция ПоказателиОбщегоСреднегоЗаработка() Экспорт
	
	Показатели = Новый Массив;
	
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднедневнойЗаработок"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднечасовойЗаработок"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокОбщий"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокИндексируемый"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокНеиндексируемый"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокИндексируемыйРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокНеиндексируемыйРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокИндексируемыйСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокНеиндексируемыйСН"));
	
	Возврат Показатели;
	
КонецФункции

// Предопределенные показатели, характеризующие расчет долей РК, СН среднего заработка/СДС, СДД
// Возвращаемое значение:
//  Массив - список показателей, характеризующих расчет долей РК, СН среднего заработка/СДС, СДД.
//
Функция ПоказателиДолейРКСН() Экспорт
	
	Показатели = Новый Массив;
	
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокИндексируемыйРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокНеиндексируемыйРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокИндексируемыйСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СреднийЗаработокНеиндексируемыйСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СохраняемоеДенежноеДовольствиеРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СохраняемоеДенежноеДовольствиеСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СохраняемоеДенежноеСодержаниеРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СохраняемоеДенежноеСодержаниеСН"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СохраняемоеДенежноеСодержаниеНеИндексируемоеРК"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СохраняемоеДенежноеСодержаниеНеИндексируемоеСН"));
	
	Возврат Показатели;
	
КонецФункции

// Предопределенные показатели, расчет которых требует значения совокупной ставки
// Возвращаемое значение:
//  Массив - список показателей, расчет которых требует значения совокупной ставки.
//
Функция ПоказателиРасчетПоСовокупнойСтавке() Экспорт
	
	Показатели = Новый Массив;
	
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьЧаса"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьДня"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьДняЧаса"));

	Возврат Показатели;
	
КонецФункции

// Значения идентификаторов показателей, характеризующие расчет по среднему заработку (без показателей среднего РК, СН)
// Возвращаемое значение:
//  Массив - список идентификаторов показателей среднего заработка (без показателей среднего РК, СН).
Функция ЗначенияИдентификаторовПоказателейСреднегоЗаработкаИДС() Экспорт

	Показатели = Новый Массив;
	
	Показатели.Добавить("СреднедневнойЗаработок");
	Показатели.Добавить("СреднечасовойЗаработок");
	Показатели.Добавить("СреднийЗаработокОбщий");
	Показатели.Добавить("СреднийЗаработокИндексируемый");
	Показатели.Добавить("СреднийЗаработокНеиндексируемый");
	Показатели.Добавить("СохраняемоеДенежноеДовольствие");
	Показатели.Добавить("СохраняемоеДенежноеСодержание");
	Показатели.Добавить("СохраняемоеДенежноеСодержаниеНеИндексируемое");	
	
	Возврат Показатели;
	
КонецФункции
#КонецОбласти

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

// Формирует значения типа ОписаниеТипов, содержащее тип значения показателя расчета зарплаты.
//
Функция ОписаниеТиповЗначенияПоказателяРасчетаЗарплаты() Экспорт
	
	Возврат Новый ОписаниеТипов(Метаданные.ОпределяемыеТипы.ЗначениеПоказателяРасчетаЗарплаты.Тип);
	
КонецФункции

// Показатели, определяемые в зависимости от территории и/или условий труда.
//
Функция ПоказателиПоТерриториямУсловиямТруда() Экспорт
	Возврат ЗарплатаКадрыРасширенныйПовтИсп.ПоказателиПоТерриториямУсловиямТруда();
КонецФункции

// Показатели, выбор которых ограничен в формулах расчета удержаний из-за невозможности расчета по физическим лицам.
//
Функция ПоказателиНедоступныеДляУдержаний() Экспорт
	
	Показатели = Новый Массив;
	
	ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Показатели, ПоказателиУчетаВремени());
	
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.БазовыйТарифГруппы"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ДневнойТарифПоДолжности"));	
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КоэффициентИндексацииСреднегоЗаработка"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КвалификационнаяНадбавка"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ДолжностнаяНадбавка"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НатуральнаяОплата"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.НатуральныйДоход"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.Оклад"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ОкладПоДолжности"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ПроцентДоплатыЗаДниНетрудоспособности"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ПроцентОплатыПоСреднему"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РазмерДоплатыЗаСовмещение"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РазмерПособияПоУходуЗаРебенкомДоТрехЛет"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СдельныйЗаработок"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СевернаяНадбавка"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьДня"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьДняЧаса"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьЧаса"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ТарифнаяСтавкаДневная"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ТарифнаяСтавкаЧасовая"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.ЧасовойТарифПоДолжности"));
	Показатели.Добавить(ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.СтоимостьДняЧасаСУчетомРазовыхНачислений"));
	
	ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Показатели, ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КоличествоДнейКомпенсации"));
	ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Показатели, ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.КалендарныеДни"));
	
	Возврат Показатели;
	
КонецФункции

Функция ОперативныеПоказатели() Экспорт 
	
	Запрос = Новый Запрос;
	
	Запрос.Текст = "ВЫБРАТЬ
	               |	ПоказателиРасчетаЗарплаты.Ссылка
	               |ИЗ
	               |	Справочник.ПоказателиРасчетаЗарплаты КАК ПоказателиРасчетаЗарплаты
	               |ГДЕ
	               |	ПоказателиРасчетаЗарплаты.СпособВводаЗначений = ЗНАЧЕНИЕ(Перечисление.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.НакапливаетсяПоОтдельнымЗначениям)";
				   
	ОперативныеПоказатели = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");			   
	
	Возврат ОперативныеПоказатели;
	
КонецФункции

Функция СсылкиПоказателиРасчетаЗарплатыНачальнойНастройкиПрограммы() Экспорт 
	
	СсылкиПоказателиРасчетаЗарплаты = Новый Структура;
	
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ПроцентЕжемесячнойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("РазмерЕжемесячнойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("РазмерГодовойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ПроцентГодовойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("РазмерКвартальнойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ПроцентКвартальнойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("РазмерРазовойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ПроцентРазовойПремии", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("Выручка", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ПроцентДоплатыЗаВыручку", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ВыполнениеПлана", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("План", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("РазмерЕдиновременногоНачисления", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("НатуральнаяОплата", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("Педнагрузка", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("НормаПеднагрузки", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ОкладПреподавателя", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("КлассноеРуководство", Неопределено);
	СсылкиПоказателиРасчетаЗарплаты.Вставить("ПроверкаТетрадей", Неопределено);
	
	Возврат СсылкиПоказателиРасчетаЗарплаты;
	
КонецФункции

// Создает описание показателя расчета зарплаты в виде структуры со значениями полей по умолчанию.
//
// Имена полей структуры:
//		Наименование, 
//		КраткоеНаименование, 
//		Идентификатор, 
//		НазначениеПоказателя, 
//		ТипПоказателя, 
//		СпособВводаЗначений, 
//		ВидСтажа, 
//		Точность, 
//		ОтображатьВДокументахНачисления
//
Функция ОписаниеПоказателя() Экспорт 
	
	Описание = Новый Структура("
	|Наименование,
	|КраткоеНаименование,
	|Идентификатор,
	|НазначениеПоказателя,
	|СпособПримененияЗначений,
	|ТипПоказателя,
	|СпособВводаЗначений,
	|ВидСтажа,
	|Точность,
	|ОтображатьВДокументахНачисления,
	|ДопускаетсяНулевоеЗначение,
	|ЗначениеРассчитываетсяАвтоматически,
	|ВидТарифнойСтавки,
	|НачальнаяНастройка,
	|Предопределенный,
	|ИмяПредопределенныхДанных");
	
	Описание.НазначениеПоказателя = Перечисления.НазначенияПоказателейРасчетаЗарплаты.ДляСотрудника;
	Описание.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой;
	Описание.ЗначениеРассчитываетсяАвтоматически = Истина;
	Описание.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Разовое;
	Описание.СпособВводаЗначений = Перечисления.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.ВводитсяЕдиновременно;
	Описание.ОтображатьВДокументахНачисления = Истина;
	Описание.ДопускаетсяНулевоеЗначение = Ложь;
	Описание.НачальнаяНастройка = Ложь;
	Описание.Предопределенный = Истина;
	Описание.ИмяПредопределенныхДанных = "";
	
	Возврат Описание;
	
КонецФункции

// Создает или обновляет в информационной базе идентифицируемый элемент по описанию.
//
// Параметры:
//	- ОписаниеПоказателя - структура, состав полей см. в СоздатьОписаниеПоказателя.
//
Функция ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы = Неопределено) Экспорт 
	
	Если СозданныеЭлементы = Неопределено Тогда 
		СозданныеЭлементы = Новый Структура;
	КонецЕсли;
	
	ПоказательСсылка = Неопределено;
	СозданныеЭлементы.Свойство(ОписаниеПоказателя.Идентификатор, ПоказательСсылка);
	
	ИмяПредопределенныхДанных = ?(ПустаяСтрока(ОписаниеПоказателя.ИмяПредопределенныхДанных), ОписаниеПоказателя.Идентификатор, ОписаниеПоказателя.ИмяПредопределенныхДанных);
	
	Если ОписаниеПоказателя.Предопределенный Тогда 
		
		ПоказательСсылка = ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты."	+ ИмяПредопределенныхДанных);
			
	ИначеЕсли Не ЗначениеЗаполнено(ПоказательСсылка) Тогда 
		ПоказательСсылка = ЗарплатаКадрыРасширенный.ПоказательПоИдентификатору(ОписаниеПоказателя.Идентификатор);
	КонецЕсли;
	
	НовыйПоказатель = Не ЗначениеЗаполнено(ПоказательСсылка);
	
	Если НовыйПоказатель Тогда
		ПоказательОбъект = Справочники.ПоказателиРасчетаЗарплаты.СоздатьЭлемент();
		Если ОписаниеПоказателя.Предопределенный Тогда 
			ПоказательОбъект.ИмяПредопределенныхДанных = ИмяПредопределенныхДанных;
		КонецЕсли;
	Иначе 
		ПоказательОбъект = ПоказательСсылка.ПолучитьОбъект();
	КонецЕсли;
	
	Если НовыйПоказатель Или ОписаниеПоказателя.НачальнаяНастройка Тогда
		ПоказательОбъект.Идентификатор = ОписаниеПоказателя.Идентификатор;
		ПоказательОбъект.Наименование = ?(ПустаяСтрока(ОписаниеПоказателя.Наименование), ОписаниеПоказателя.Идентификатор, ОписаниеПоказателя.Наименование);
		ПоказательОбъект.КраткоеНаименование = ?(ПустаяСтрока(ОписаниеПоказателя.КраткоеНаименование), ПоказательОбъект.Наименование, ОписаниеПоказателя.КраткоеНаименование);
		ПоказательОбъект.НазначениеПоказателя = ОписаниеПоказателя.НазначениеПоказателя;
		ПоказательОбъект.ТипПоказателя = ОписаниеПоказателя.ТипПоказателя;
		ПоказательОбъект.ВидТарифнойСтавки = ОписаниеПоказателя.ВидТарифнойСтавки;
		ПоказательОбъект.СпособПримененияЗначений = ОписаниеПоказателя.СпособПримененияЗначений;
		ПоказательОбъект.СпособВводаЗначений = ОписаниеПоказателя.СпособВводаЗначений;
		ПоказательОбъект.Точность = ОписаниеПоказателя.Точность;
		ПоказательОбъект.ОтображатьВДокументахНачисления = ОписаниеПоказателя.ОтображатьВДокументахНачисления;
		ПоказательОбъект.ДопускаетсяНулевоеЗначение = ОписаниеПоказателя.ДопускаетсяНулевоеЗначение;
		ПоказательОбъект.ЗначениеРассчитываетсяАвтоматически = ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически;
		ПоказательОбъект.ВидСтажа = ОписаниеПоказателя.ВидСтажа;
		ПоказательОбъект.ПометкаУдаления = Ложь;
		ПоказательОбъект.НеИспользуется = Ложь;
	Иначе
		ПоказательОбъект.ПометкаУдаления = Ложь;
		ПоказательОбъект.НеИспользуется = Ложь;
	КонецЕсли;
	
	ПоказательОбъект.Записать();
	
	Если Не ОписаниеПоказателя.Предопределенный Тогда 
		СозданныеЭлементы.Вставить(ОписаниеПоказателя.Идентификатор, ПоказательОбъект.Ссылка);
	КонецЕсли;
	
	Возврат ПоказательОбъект.Ссылка;
	
КонецФункции

Процедура ОтключитьИспользованиеПредопределенногоЭлемента(ИмяПредопределенныхДанных) Экспорт 
	
	Ссылка = ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты." + ИмяПредопределенныхДанных);
	Если ЗначениеЗаполнено(Ссылка) Тогда
		Объект = Ссылка.ПолучитьОбъект();
		Попытка
			Объект.Заблокировать();
		Исключение
			ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("ru = 'Невозможно изменить показатель """"%2"""". Возможно, он редактируется другим пользователем'"), Объект.Наименование);
			ВызватьИсключение ТекстСообщения;
		КонецПопытки;
		Объект.НеИспользуется = Истина;
		Объект.Записать();
	КонецЕсли;
	
КонецПроцедуры

// Отключает использование не предопределенных показателей, созданных при начальной настройке программы.
//
Процедура НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, Идентификатор) Экспорт

	СправочникСсылка = Неопределено;
	СозданныеЭлементы.Свойство(Идентификатор, СправочникСсылка);
	
	Если СправочникСсылка <> Неопределено Тогда 
		
		СправочникОбъект = СправочникСсылка.ПолучитьОбъект();
		
		Попытка
			СправочникОбъект.Заблокировать();
		Исключение
			ТекстИсключения = НСтр("ru = 'Невозможно изменить Показатель """"%2"""". Возможно, объект редактируется другим пользователем'");
			ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстИсключения, СправочникОбъект.Наименование);
		КонецПопытки;
		
		СправочникОбъект.НеИспользуется = Истина;
		СправочникОбъект.Записать();
		
		СозданныеЭлементы.Вставить(Идентификатор, Неопределено);
		
	КонецЕсли;
	
КонецПроцедуры

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

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СтоимостьДня";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Стоимость дня'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дневн. стоим.'");
	ОписаниеПоказателя.Точность = 5;
	ЗаписатьПоказатель(ОписаниеПоказателя);

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СтоимостьЧаса";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Стоимость часа'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Час. стоим.'");
	ОписаниеПоказателя.Точность = 5;
	ЗаписатьПоказатель(ОписаниеПоказателя);

	СоздатьПоказательСтоимостьДняЧаса();
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ОтработаноДней";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Отработано дней, в т.ч. сверхурочно'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Отраб. (дни)'");
	ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьОплатуПростоев", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьОплатуПростоев Тогда
			СоздатьПоказательТарифПростоя();
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("ТарифПростоя");
		КонецЕсли;	
	КонецЕсли;
	
	// Натуральная оплата
	Если ПараметрыПланаВидовРасчета.НатуральныеДоходы.ОплатаТрудаВНатуральнойФорме Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "НатуральнаяОплата";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Натуральная оплата'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Натур. оплата'");
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = 0;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ОписаниеПоказателя.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.МесячнаяТарифнаяСтавка;
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "НатуральнаяОплата");
	КонецЕсли;
	
	// Натуральный доход
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьДоходыВНатуральнойФорме", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьДоходыВНатуральнойФорме Тогда
			СоздатьПоказательНатуральныйДоход();
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("НатуральныйДоход");
		КонецЕсли;	
	КонецЕсли;
	
	// Совмещение
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьСовмещениеПрофессийДолжностей", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьСовмещениеПрофессийДолжностей Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "РазмерДоплатыЗаСовмещение";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Размер доплаты за совмещение'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'За совмещ.'");
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.Точность = 2;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("РазмерДоплатыЗаСовмещение");
		КонецЕсли;	
	КонецЕсли;
	
	// Сверхурочные часы
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьОплатуСверхурочных", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьОплатуСверхурочных Тогда
			// Сверхурочно всего
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ОтработаноСверхурочно";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Отработано сверхурочно'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сверхурочно (всего)'");
			ЗаписатьПоказатель(ОписаниеПоказателя);
			// Сверхурочно в пределах 2 часов.
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ОтработаноСверхурочноВПределах2Часов";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Отработано сверхурочно в пределах 2 часов'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сверхурочно (до 2 ч)'");
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("ОтработаноСверхурочно");
			ОтключитьИспользованиеПредопределенногоЭлемента("ОтработаноСверхурочноВПределах2Часов");
		КонецЕсли;	
	КонецЕсли;
	
	СоздатьПоказателиСуммированногоУчета();
	
	// Сдельный заработок
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьСдельныйЗаработок", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьСдельныйЗаработок Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "СдельныйЗаработок";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Сдельный заработок'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сдельно'");
			ОписаниеПоказателя.Точность = 2;
			ОписаниеПоказателя.СпособВводаЗначений = Перечисления.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.НакапливаетсяПоОтдельнымЗначениям;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("СдельныйЗаработок");
		КонецЕсли;	
	КонецЕсли;
	
	// Исполнительные листы
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьИсполнительныеЛисты", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьИсполнительныеЛисты Тогда
			// Расчетная база исполнительного листа
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "РасчетнаяБазаИсполнительногоЛиста";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Расчетная база исполнительного листа'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Расч. база'");
			ОписаниеПоказателя.Точность = 2;
			ЗаписатьПоказатель(ОписаниеПоказателя);
			// Удержанный по исполнительному листу НДФЛ
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ИсчисленныйПоИсполнительномуЛистуНДФЛ";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Исчисленный по исполнительному листу НДФЛ'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'НДФЛ'");
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("РасчетнаяБазаИсполнительногоЛиста");
			ОтключитьИспользованиеПредопределенногоЭлемента("ИсчисленныйПоИсполнительномуЛистуНДФЛ");
		КонецЕсли;	
	КонецЕсли;
	
	// Ежемесячная премия
	ПараметрыПремия = ПараметрыПланаВидовРасчета.ЕжемесячнаяПремия;
	Если ПараметрыПремия.ИспользоватьПремиюПроцентом Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "ПроцентЕжемесячнойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент ежемесячной премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "ПроцентЕжемесячнойПремии");
	КонецЕсли;
	
	Если ПараметрыПремия.ИспользоватьПремиюСуммой Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "РазмерЕжемесячнойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Сумма ежемесячной премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сумма прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "РазмерЕжемесячнойПремии");
	КонецЕсли;
	
	// Годовая премия
	ПараметрыПремия = ПараметрыПланаВидовРасчета.ГодоваяПремия;
	Если ПараметрыПремия.ИспользоватьПремиюСуммой И ПараметрыПремия.НачисляетсяПоЗначениюПоказателей Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "РазмерГодовойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Сумма годовой премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сумма прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "РазмерГодовойПремии");
	КонецЕсли;
	
	Если ПараметрыПремия.ИспользоватьПремиюПроцентом Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "ПроцентГодовойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент годовой премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		Если ПараметрыПремия.НачисляетсяВМесяцах Тогда
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ИначеЕсли ПараметрыПремия.НачисляетсяОтдельнымДокументом Тогда 
			ОписаниеПоказателя.СпособВводаЗначений = Перечисления.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.ВводитсяПриРасчете;
		КонецЕсли;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "ПроцентГодовойПремии");
	КонецЕсли;
	
	// Квартальная премия
	ПараметрыПремия = ПараметрыПланаВидовРасчета.КвартальнаяПремия;
	Если ПараметрыПремия.ИспользоватьПремиюСуммой И ПараметрыПремия.НачисляетсяПоЗначениюПоказателей Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "РазмерКвартальнойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Сумма квартальной премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сумма прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "РазмерКвартальнойПремии");
	КонецЕсли;
	
	Если ПараметрыПремия.ИспользоватьПремиюПроцентом Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "ПроцентКвартальнойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент квартальной премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		Если ПараметрыПремия.НачисляетсяВМесяцах Тогда
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ИначеЕсли ПараметрыПремия.НачисляетсяОтдельнымДокументом Тогда 
			ОписаниеПоказателя.СпособВводаЗначений = Перечисления.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.ВводитсяПриРасчете;
		КонецЕсли;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "ПроцентКвартальнойПремии");
	КонецЕсли;
	
	// Разовая премия
	ПараметрыПремия = ПараметрыПланаВидовРасчета.РазоваяПремия;
	Если ПараметрыПремия.ИспользоватьПремиюСуммой И ПараметрыПремия.НачисляетсяПоЗначениюПоказателей Тогда 
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "РазмерРазовойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Размер разовой премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сумма прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ОписаниеПоказателя.Точность = 2;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "РазмерРазовойПремии");
	КонецЕсли;
	
	Если ПараметрыПремия.ИспользоватьПремиюПроцентом Тогда 
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "ПроцентРазовойПремии";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент разовой премии'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% прем.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ОписаниеПоказателя.Точность = 2;
		Если ПараметрыПремия.НачисляетсяОтдельнымДокументом Тогда 
			ОписаниеПоказателя.СпособВводаЗначений = Перечисления.СпособыВводаЗначенийПоказателейРасчетаЗарплаты.ВводитсяПриРасчете;
		КонецЕсли;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "ПроцентРазовойПремии");
	КонецЕсли;
	
	// Выручка от реализации
	Если ПараметрыПланаВидовРасчета.ИспользоватьДоплатуЗаВыручкуОтРеализации Тогда
		// Выручка
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "Выручка";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Выручка'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Выручка'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ОписаниеПоказателя.Точность = 2;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
		
		// Процент доплаты
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "ПроцентДоплатыЗаВыручку";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент доплаты за выручку'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% за выручку'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.НазначениеПоказателя = Перечисления.НазначенияПоказателейРасчетаЗарплаты.ДляОрганизации;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "Выручка");
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "ПроцентДоплатыЗаВыручку");
	КонецЕсли;
	
	// Выполнение плана
	Если ПараметрыПланаВидовРасчета.ИспользоватьДоплатуЗаВыполнениеПлана Тогда
		// Выполнение плана
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Идентификатор = "ВыполнениеПлана";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Выполнение плана'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Вып. плана'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
		
		// План
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "План";
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ОписаниеПоказателя.Наименование = НСтр("ru = 'План'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'План'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.НазначениеПоказателя = Перечисления.НазначенияПоказателейРасчетаЗарплаты.ДляПодразделения;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Числовой;
		ОписаниеПоказателя.Точность = 2;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Предопределенный = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя, СозданныеЭлементы);
	Иначе 
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "ВыполнениеПлана");
		НачальнаяНастройкаОтключитьИспользованиеПоказателя(СозданныеЭлементы, "План");
	КонецЕсли;
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "КоличествоДнейОтпуска";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Количество дней отпуска'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дней отпуска'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "КоличествоДнейКомпенсации";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Количество дней компенсации отпуска'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дней компенсац.'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ДнейЧасовВыходногоПособия";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Количество оплачиваемых дней (часов) выходного пособия'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дней(часов) вых. пособия.'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "РазмерПособияПоУходуЗаРебенкомДоТрехЛет";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Размер пособия по уходу за ребенком до трех лет'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Пособие до трех лет'");
	ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ПроцентОплатыПоСреднему";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент оплаты по среднему заработку'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% оплаты по сред.'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ПроцентДоплатыЗаДниНетрудоспособности";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент доплаты за дни нетрудоспособности'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% доплаты до сред.'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	СоздатьПоказателиРКиСН();
	
	СоздатьПоказателиДляНадбавок(ПараметрыПланаВидовРасчета);
	
	СоздатьПоказателиДляКомпенсационныхВыплат(ПараметрыПланаВидовРасчета);
	
	СоздатьПоказателиДляУчетаВремениСотрудниковВЧасах(НастройкиРасчетаЗарплаты, ПараметрыПланаВидовРасчета);
	
	СоздатьПоказательКоэффициентИндексацииСреднегоЗаработка();
	
	СоздатьПоказателиИндексируемогоНеиндексируемогоСреднегоЗаработка();
	
	СоздатьПоказательИсчисленныйНДФЛРасчетнойБазыУдержания();
	
	СоздатьПоказательСреднемесячноеКоличествоЧасов();
	
	СоздатьПоказательСтоимостьДняЧасаСУчетомРазовыхНачислений();
	
	СоздатьПоказателиСреднегоЗаработкаРКиСН();
	
	// Процент профсоюзных взносов.
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьПрофсоюзныеВзносы", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьПрофсоюзныеВзносы Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ПроцентПрофсоюзныхВзносов";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент профсоюзных взносов'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% профвзносов'");
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.Точность = 2;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("ПроцентПрофсоюзныхВзносов");
		КонецЕсли;	
	КонецЕсли;
	
	// Расчетная база для добровольных страховых взносов и добровольных взносов в НПФ.
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьДСВ", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты)
		Или РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьДобровольныеВзносыВНПФ", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		
		Если НастройкиРасчетаЗарплаты.ИспользоватьДСВ
			Или НастройкиРасчетаЗарплаты.ИспользоватьДобровольныеВзносыВНПФ Тогда
			
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "РасчетнаяБазаСтраховыеВзносы";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Расчетная база страховых взносов'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Расч. база ДСВ'");
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("РасчетнаяБазаСтраховыеВзносы");
		КонецЕсли;	
	КонецЕсли;
	
	// Добровольные страховые взносы.
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьДСВ", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьДСВ Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ПроцентДСВ";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент добровольных страховых взносов'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% ДСВ'");
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.Точность = 2;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("ПроцентДСВ");
		КонецЕсли;	
	КонецЕсли;
	
	// Добровольные взносы в НПФ
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьДобровольныеВзносыВНПФ", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьДобровольныеВзносыВНПФ Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ПроцентНПФ";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент добровольных взносов в НПФ'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% взносов в НПФ'");
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.Точность = 2;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("ПроцентНПФ");
		КонецЕсли;	
	КонецЕсли;
	
	// Тарифные группы, базовый тариф группы.
	СоздатьПоказательБазовыйТарифГруппы();
	
	СоздатьПоказательКвалификационнаяНадбавка(НастройкиРасчетаЗарплаты);		
	СоздатьПоказательДолжностнаяНадбавка(НастройкиРасчетаЗарплаты);	
	СоздатьПоказательОкладПоДолжности(ПараметрыПланаВидовРасчета);
	СоздатьПоказательДневнойТарифПоДолжности(ПараметрыПланаВидовРасчета);
	СоздатьПоказательНадбавкаЗаВредность(НастройкиРасчетаЗарплаты);
	
	// Размер надбавки за квалификацию
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьТарифныеСеткиПриРасчетеЗарплаты", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьТарифныеСеткиПриРасчетеЗарплаты Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "РазмерДоплатыЗаКвалификацию";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Размер доплаты за квалификацию'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Доплата за квалиф.'");
			ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифТочность;
			ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("РазмерДоплатыЗаКвалификацию");
		КонецЕсли;	
	КонецЕсли;
	
	// Размер дневной надбавки за квалификацию
	Если РасчетЗарплатыРасширенный.ИзмененаНастройкаРасчетаЗарплаты("ИспользоватьТарифныеСеткиПриРасчетеЗарплаты", НастройкиРасчетаЗарплаты, ТекущиеНастройкиРасчетаЗарплаты) Тогда
		Если НастройкиРасчетаЗарплаты.ИспользоватьТарифныеСеткиПриРасчетеЗарплаты Тогда
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "РазмерДневнойДоплатыЗаКвалификацию";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Размер дневной доплаты за квалификацию'");
			ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дн. допл. за квалиф.'");
			ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифТочность;
			ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
			ЗаписатьПоказатель(ОписаниеПоказателя);
		Иначе
			ОтключитьИспользованиеПредопределенногоЭлемента("РазмерДневнойДоплатыЗаКвалификацию");
		КонецЕсли;	
	КонецЕсли;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыКорпоративнаяПодсистемы") Тогда
		СоздатьПоказателиВремениКомпенсацииПриУвольнении();
	КонецЕсли;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ГосударственнаяСлужба.РасчетДенежногоСодержания") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("РасчетДенежногоСодержания");
		Модуль.СоздатьПоказателиНачисленийДенежногоСодержания(ПараметрыПланаВидовРасчета);
	КонецЕсли;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ГосударственнаяСлужба.РасчетДенежногоДовольствия") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("РасчетДенежногоДовольствия");
		Модуль.СоздатьПоказателиНачисленийДенежногоДовольствия(ПараметрыПланаВидовРасчета);
	КонецЕсли;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыКорпоративнаяПодсистемы.КлючевыеПоказателиЭффективности") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("КлючевыеПоказателиЭффективности");
		Модуль.СоздатьПоказательЭффективностиСотрудника();
	КонецЕсли;	
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ОбразовательныеУчреждения") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("ОбразовательныеУчреждения");
		Модуль.СоздатьПоказателиОбразовательныхУчреждений(ПараметрыПланаВидовРасчета);
	КонецЕсли;	
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.Медицина") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("Медицина");
		Модуль.СоздатьПоказателиМедицинскихУчреждений(НастройкиРасчетаЗарплаты, ПараметрыПланаВидовРасчета);
	КонецЕсли;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыКорпоративнаяПодсистемы.МедицинскоеСтрахование") Тогда 
		Модуль = ОбщегоНазначения.ОбщийМодуль("МедицинскоеСтрахование");
		Модуль.СоздатьПоказателиМедицинскогоСтрахования(ПараметрыПланаВидовРасчета);
	КонецЕсли;
	
	СоздатьПоказательКоличествоДнейЧасовКомпенсацииОтгулов();
	
	ОбновитьПовторноИспользуемыеЗначения();
	
	ОбновитьПоказателиПредопределенныхСпособовРасчета();
	
КонецПроцедуры

Процедура СоздатьПоказательБазовыйТарифГруппы(НастройкиРасчетаЗарплаты = Неопределено) Экспорт
	
	Если НастройкиРасчетаЗарплаты = Неопределено Тогда
		НастройкиРасчетаЗарплаты = РасчетЗарплатыРасширенный.НастройкиРасчетаЗарплаты();
	КонецЕсли;

	Если НастройкиРасчетаЗарплаты.ИспользоватьТарифныеСеткиПриРасчетеЗарплаты Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "БазовыйТарифГруппы";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Базовый тариф группы'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Баз. тариф группы'");
		ОписаниеПоказателя.НазначениеПоказателя = Перечисления.НазначенияПоказателейРасчетаЗарплаты.ДляСотрудника;
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.МесячнаяТарифнаяСтавка;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("БазовыйТарифГруппы");
	КонецЕсли;

КонецПроцедуры

Процедура СоздатьПоказательОтработаноСмен() Экспорт
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ОтработаноСмен";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Отработано смен'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Отработано смен'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	ОписаниеПоказателя.Точность = 0;
	ЗаписатьПоказатель(ОписаниеПоказателя);	
КонецПроцедуры	

Процедура ОтключитьИспользованиеПоказателяОтработаноСмен() Экспорт
	ОтключитьИспользованиеПредопределенногоЭлемента("ОтработаноСмен");	
КонецПроцедуры	

Функция СоздатьПоказательНадбавкаЗаВыслугуЛет() Экспорт

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ПроцентНадбавкиЗаВыслугуЛет";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент надбавки за выслугу лет'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% надб.'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
	ОписаниеПоказателя.Точность = 2;
	ОписаниеПоказателя.ВидСтажа = Справочники.ВидыСтажа.СоздатьВидСтажаЗаВыслугуЛет();
	ОписаниеПоказателя.Предопределенный = Ложь;
	ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.ЧисловойЗависящийОтСтажа;
	
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);

КонецФункции

Процедура СоздатьПоказательНадбавкаЗаВредность(НастройкиРасчетаЗарплаты = Неопределено) Экспорт
	
	Если НастройкиРасчетаЗарплаты = Неопределено Тогда
		ИспользоватьНадбавкуЗаВредность = ПолучитьФункциональнуюОпцию("ИспользоватьНадбавкуЗаВредность");
	Иначе
		ИспользоватьНадбавкуЗаВредность = НастройкиРасчетаЗарплаты.ИспользоватьНадбавкуЗаВредность;
	КонецЕсли;
	
	Если ИспользоватьНадбавкуЗаВредность Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ПроцентНадбавкиЗаВредность";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент надбавки за вредность'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% надб.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = 2;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("ПроцентНадбавкиЗаВредность");
	КонецЕсли;
	
КонецПроцедуры

Процедура СоздатьПоказателиРКиСН(ВостребованностьРКиСН = Неопределено) Экспорт
	
	Если ВостребованностьРКиСН = Неопределено Тогда
		ВостребованностьРКиСН = РасчетЗарплаты.ВостребованностьРКиСН();
	КонецЕсли;
	
	Если ВостребованностьРКиСН.РайонныйКоэффициент Тогда
		// Создаем в случае использования районного коэффициента.
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "РайонныйКоэффициент";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Районный коэффициент'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Районн. коэфф.'");
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = 3;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("РайонныйКоэффициент");
	КонецЕсли;
	
	Если ВостребованностьРКиСН.СевернаяНадбавка Тогда
		// Создаем в случае использования северных надбавок.
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "СевернаяНадбавка";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Северная надбавка'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% сев. надб.'");
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("СевернаяНадбавка");
	КонецЕсли;
	
КонецПроцедуры

Процедура СоздатьПоказательКоэффициентИндексацииСреднегоЗаработка() Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "КоэффициентИндексацииСреднегоЗаработка";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Коэффициент индексации среднего заработка'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Коэф. индекс. средн.'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецПроцедуры

Процедура СоздатьПоказателиСуммированногоУчета() Экспорт

	// Суммированный учет (переработки)
	НастройкиРасчетаЗарплаты				 = РасчетЗарплатыРасширенный.НастройкиРасчетаЗарплаты();
	ИспользоватьОплатуПереработокСуммированногоУчета		 = НастройкиРасчетаЗарплаты.ИспользоватьОплатуПереработокСуммированногоУчета;
	ИспользоватьУчетВремениСотрудниковВЧасах				 = НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах;
	
	Если ИспользоватьУчетВремениСотрудниковВЧасах И ИспользоватьОплатуПереработокСуммированногоУчета Тогда
		// Переработки всего
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ПереработаноПоСуммированномуУчету";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Переработано по суммированному учету'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Переработки (всего)'");
		ЗаписатьПоказатель(ОписаниеПоказателя);
		// Переработки в пределах 2 часов.
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ПереработаноПоСуммированномуУчетуВПределах2Часов";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Переработано по суммированному учету в пределах 2 часов'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Переработки (до 2 ч)'");
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("ПереработаноПоСуммированномуУчету");
		ОтключитьИспользованиеПредопределенногоЭлемента("ПереработаноПоСуммированномуУчетуВПределах2Часов");
	КонецЕсли;
	
	ОбновитьПовторноИспользуемыеЗначения();

КонецПроцедуры

Процедура СоздатьПоказателиВремениКомпенсацииПриУвольнении() Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ДнейЧасовКомпенсацииЗаНеотработанноеВремяПриУвольнении";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Дней/часов компенсации'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дн./час. комп.'");
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ГосударственнаяСлужба") Тогда
		
		НастройкиПриложения = ЗарплатаКадрыРасширенный.НастройкиПрограммыБюджетногоУчреждения();
		Если НастройкиПриложения.РаботаВБюджетномУчреждении Тогда
			
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.Идентификатор = "ДнейКомпенсацииЗаНеотработанноеВремяПриУвольнении";
			ОписаниеПоказателя.Наименование = НСтр("ru = 'Дней компенсации'");
				ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дн. комп.'");
			ЗаписатьПоказатель(ОписаниеПоказателя);
			
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

Процедура ЗаполнитьШкалуСтажаНадбавкиЗаВыслугуЛет(Показатель, КатегорииСтажа) Экспорт

	Если КатегорииСтажа = Перечисления.КатегорииСтажа.ВыслугаЛетНаГосударственнойСлужбе Тогда
		
		ПоказательОбъект = Показатель.ПолучитьОбъект();
		
		ПоказательОбъект.ШкалаОценкиСтажа.Очистить();
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 12;
		НоваяСтрока.ЗначениеПоказателя = 0;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 60;
		НоваяСтрока.ЗначениеПоказателя = 10;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 120;
		НоваяСтрока.ЗначениеПоказателя = 15;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 180;
		НоваяСтрока.ЗначениеПоказателя = 20;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 0;
		НоваяСтрока.ЗначениеПоказателя = 30;
		
		ПоказательОбъект.ОбменДанными.Загрузка = Истина;
		ПоказательОбъект.Записать();
		
	ИначеЕсли КатегорииСтажа = Перечисления.КатегорииСтажа.ВыслугаЛетНаВоеннойСлужбе Тогда
		
		ПоказательОбъект = Показатель.ПолучитьОбъект();
		
		ПоказательОбъект.ШкалаОценкиСтажа.Очистить();
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 24;
		НоваяСтрока.ЗначениеПоказателя = 0;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 60;
		НоваяСтрока.ЗначениеПоказателя = 10;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 120;
		НоваяСтрока.ЗначениеПоказателя = 15;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 180;
		НоваяСтрока.ЗначениеПоказателя = 20;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 240;
		НоваяСтрока.ЗначениеПоказателя = 25;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 300;
		НоваяСтрока.ЗначениеПоказателя = 30;
		
		НоваяСтрока = ПоказательОбъект.ШкалаОценкиСтажа.Добавить();
		НоваяСтрока.ВерхняяГраницаИнтервалаСтажа = 0;
		НоваяСтрока.ЗначениеПоказателя = 40;
		
		ПоказательОбъект.ОбменДанными.Загрузка = Истина;
		ПоказательОбъект.Записать();	
				
	КонецЕсли;

КонецПроцедуры

Функция ОкруглениеПоУмолчаниюДляПоказателя(Показатель) Экспорт
	
	ОкруглениеПоУмолчаниюДляПоказателей = ОкруглениеПоУмолчаниюДляПоказателей(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Показатель));
	
	Возврат ОкруглениеПоУмолчаниюДляПоказателей[Показатель];	
	
КонецФункции

Функция ОкруглениеПоУмолчаниюДляПоказателей(Показатели) Экспорт
	
	СведенияОПоказателях = ЗарплатаКадрыРасширенный.СведенияОПоказателяхРасчетаЗарплаты(Показатели);	
	
	ОкруглениеДоРубляВБольшуюСторону 	= Справочники.СпособыОкругленияПриРасчетеЗарплаты.СпособОкругленияДоРубляВБольшуюСторону();
	ОкруглениеПоУмолчанию				= Справочники.СпособыОкругленияПриРасчетеЗарплаты.ПоУмолчанию();
	
	ОкругленияДоРубляВБольшуюСторонуСуществует = ОкруглениеДоРубляВБольшуюСторону <> Неопределено;
	
	СоответствиеПоказателейИСпособовОкругления = Новый Соответствие;
	
	Для каждого Показатель Из Показатели Цикл
		
		ТочностьПоказателя = СведенияОПоказателях[Показатель].Точность;
		
		ОкруглениеДляПоказателя = Неопределено;	
		
		Если ОкругленияДоРубляВБольшуюСторонуСуществует И ТочностьПоказателя = 0 Тогда
			ОкруглениеДляПоказателя = ОкруглениеДоРубляВБольшуюСторону;
		Иначе
			ОкруглениеДляПоказателя = ОкруглениеПоУмолчанию;
		КонецЕсли;
		
		СоответствиеПоказателейИСпособовОкругления.Вставить(Показатель, ОкруглениеДляПоказателя); 

	КонецЦикла;
	
	Возврат	СоответствиеПоказателейИСпособовОкругления;
	
КонецФункции

Функция НулевыеЗначенияПоказателейРКСН() Экспорт
		
	НулевыеЗначенияПоказателейРКСН = Новый Структура;
	
	НулевыеЗначенияПоказателейРКСН.Вставить("СреднийЗаработокРК", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СреднийЗаработокИндексируемыйРК", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СреднийЗаработокНеиндексируемыйРК", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СреднийЗаработокСН", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СреднийЗаработокИндексируемыйСН", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СреднийЗаработокНеиндексируемыйСН", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СохраняемоеДенежноеДовольствиеРК", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СохраняемоеДенежноеДовольствиеСН", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СохраняемоеДенежноеСодержаниеРК", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СохраняемоеДенежноеСодержаниеСН", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СохраняемоеДенежноеСодержаниеНеИндексируемоеРК", 0);
	НулевыеЗначенияПоказателейРКСН.Вставить("СохраняемоеДенежноеСодержаниеНеИндексируемоеСН", 0);
	
	Возврат НулевыеЗначенияПоказателейРКСН;
	
КонецФункции

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

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

#Область Печать

// Заполняет список команд печати.
// 
// Параметры:
//   КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
	
КонецПроцедуры

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

Функция СоздатьПоказательДоплатаЗаРаботуВНочноеВремя()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ПроцентДоплатыЗаРаботуВНочноеВремя";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент доплаты за работу в ночное время'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% допл. за ночн.'");
	ОписаниеПоказателя.НазначениеПоказателя = Перечисления.НазначенияПоказателейРасчетаЗарплаты.ДляОрганизации;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);

КонецФункции

Функция СоздатьПоказательДоплатаЗаРаботуВВечернееВремя()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ПроцентДоплатыЗаРаботуВВечернееВремя";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Процент доплаты за работу в вечернее время'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = '% допл. за вечерн.'");
	ОписаниеПоказателя.НазначениеПоказателя = Перечисления.НазначенияПоказателейРасчетаЗарплаты.ДляОрганизации;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);

КонецФункции

Процедура СоздатьПоказательНатуральныйДоход()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "НатуральныйДоход";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Натуральный доход'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Натур. доход'");
	ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
	ОписаниеПоказателя.Точность = 0;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецПроцедуры

Функция СоздатьПоказательСтоимостьДняЧаса()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СтоимостьДняЧаса";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Стоимость часа (или дня)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Час. или дн. стоим.'");
	ОписаниеПоказателя.Точность = 5;
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецФункции

Функция СоздатьПоказательСреднечасовойЗаработок()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднечасовойЗаработок";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Среднечасовой заработок'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. час. заработок'");
	ОписаниеПоказателя.Точность = 2;
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецФункции

Функция СоздатьПоказательСреднедневнойЗаработок()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднедневнойЗаработок";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Среднедневной заработок'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. дн. заработок'");
	ОписаниеПоказателя.Точность = 2;
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецФункции

Процедура СоздатьПоказательНормаДней()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "НормаДней";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Норма дней'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Норма (дн.)'");
	ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецПроцедуры

Процедура СоздатьПоказательДоляНеполногоРабочегоВремени()
	
	ОписаниеПоказателя = ОписаниеПоказателяДоляНеполногоРабочегоВремени();
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецПроцедуры

Функция ОписаниеПоказателяДоляНеполногоРабочегоВремени()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ДоляНеполногоРабочегоВремени";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Доля неполного рабочего времени'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Доля неполн. времени'");
	ОписаниеПоказателя.ОтображатьВДокументахНачисления = Истина;
	ОписаниеПоказателя.Точность = 4;
	
	Возврат ОписаниеПоказателя;
	
КонецФункции

Процедура СоздатьПоказателиДляНадбавок(ПараметрыПланаВидовРасчета)

	Надбавки = ПараметрыПланаВидовРасчета.Надбавки;
	
	Если Надбавки.ИспользоватьНадбавкуЗаВыслугуЛет Тогда
		ПоказательСсылка = ЗарплатаКадрыРасширенный.ПоказательПоИдентификатору("ПроцентНадбавкиЗаВыслугуЛет");
		Если Не ЗначениеЗаполнено(ПоказательСсылка) Тогда
			СоздатьПоказательНадбавкаЗаВыслугуЛет();
		КонецЕсли;
	КонецЕсли;
	
	ПрочиеНадбавкиПроцентом = Надбавки.НадбавкиПроцентом;
	Если ПрочиеНадбавкиПроцентом.Количество() > 0 Тогда
		
		Для каждого Надбавка Из ПрочиеНадбавкиПроцентом Цикл
			
			Если ПустаяСтрока(Надбавка) Тогда
				Надбавки.ИдентификаторыНадбавокПроцентом.Добавить("");
				Продолжить;
			КонецЕсли;
			
			Надбавка = СОКРЛП(Надбавка);
			Наименование = НСтр("ru = 'Процент надбавки'") + " " + Надбавка;
			
			Идентификатор = НСтр("ru = 'ПроцентНадбавки'");
			КраткоеНаименование = "% ";
			СформироватьИдентификаторИКраткоеНаименованиеНадбавки(Надбавки, Надбавка, Надбавки.ИдентификаторыНадбавокПроцентом, Идентификатор, КраткоеНаименование);
			
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
			ОписаниеПоказателя.Идентификатор = Идентификатор;  
			ОписаниеПоказателя.Наименование = Наименование;
			ОписаниеПоказателя.КраткоеНаименование = КраткоеНаименование;
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ОписаниеПоказателя.Точность = 2;
			ОписаниеПоказателя.Предопределенный = Ложь;
			ЗаписатьПоказатель(ОписаниеПоказателя);
			
		КонецЦикла;
		
	КонецЕсли;
	
	ПрочиеНадбавкиСуммой = Надбавки.НадбавкиСуммой;
	Если ПрочиеНадбавкиСуммой.Количество() > 0 Тогда
		
		Для каждого Надбавка Из ПрочиеНадбавкиСуммой Цикл
			
			Если ПустаяСтрока(Надбавка) Тогда
				Надбавки.ИдентификаторыНадбавокСуммой.Добавить("");
				Продолжить;
			КонецЕсли;
			
			Надбавка = СОКРЛП(Надбавка);
			Наименование = Надбавка + " " + НСтр("ru = '(руб)'");
			
			Идентификатор = НСтр("ru = 'РазмерНадбавки'");
			КраткоеНаименование = "";
			СформироватьИдентификаторИКраткоеНаименованиеНадбавки(Надбавки, Надбавка, Надбавки.ИдентификаторыНадбавокСуммой, Идентификатор, КраткоеНаименование);
			КраткоеНаименование = КраткоеНаименование + " " + НСтр("ru = '(руб)'");
			
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
			ОписаниеПоказателя.Идентификатор = Идентификатор;
			ОписаниеПоказателя.Наименование = Наименование;
			ОписаниеПоказателя.КраткоеНаименование = КраткоеНаименование;
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ОписаниеПоказателя.Точность = 0;
			ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
			ОписаниеПоказателя.Предопределенный = Ложь;
			ЗаписатьПоказатель(ОписаниеПоказателя);
			
		КонецЦикла;
		
	КонецЕсли;

КонецПроцедуры   

Процедура СоздатьПоказательКвалификационнаяНадбавка(НастройкиРасчетаЗарплаты = Неопределено)
	
	Если НастройкиРасчетаЗарплаты = Неопределено Тогда
		ИспользоватьКвалификационнуюНадбавку = ПолучитьФункциональнуюОпцию("ИспользоватьКвалификационнуюНадбавку");
	Иначе
		ИспользоватьКвалификационнуюНадбавку = НастройкиРасчетаЗарплаты.ИспользоватьКвалификационнуюНадбавку;
	КонецЕсли;
	
	Если ИспользоватьКвалификационнуюНадбавку Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "КвалификационнаяНадбавка";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Квалификационная надбавка'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Квалиф. надбавка'");
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("КвалификационнаяНадбавка");
	КонецЕсли;
	
КонецПроцедуры

Процедура СоздатьПоказательДолжностнаяНадбавка(НастройкиРасчетаЗарплаты = Неопределено)	
	
	Если НастройкиРасчетаЗарплаты = Неопределено Тогда
		ИспользоватьКвалификационнуюНадбавку = ПолучитьФункциональнуюОпцию("ИспользоватьКвалификационнуюНадбавку");
	Иначе
		ИспользоватьКвалификационнуюНадбавку = НастройкиРасчетаЗарплаты.ИспользоватьКвалификационнуюНадбавку;
	КонецЕсли;
	
	Если ИспользоватьКвалификационнуюНадбавку Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ДолжностнаяНадбавка";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Должностная надбавка'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Должн. надбавка'");
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("ДолжностнаяНадбавка");
	КонецЕсли;
	
КонецПроцедуры

Процедура СоздатьПоказательОкладПоДолжности(ПараметрыПланаВидовРасчета = Неопределено)
	
	Если ПараметрыПланаВидовРасчета = Неопределено Тогда
		ПараметрыПланаВидовРасчета = РасчетЗарплатыРасширенный.ОписаниеПараметровПланаВидовРасчета();
	КонецЕсли;
	ПараметрыПоказателей = ПараметрыПланаВидовРасчета.ПараметрыПоказателей;

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ОкладПоДолжности";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Оклад по должности'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Оклад по должн.'");
	ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
	ОписаниеПоказателя.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.МесячнаяТарифнаяСтавка;
	ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифТочность;
	ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
	ЗаписатьПоказатель(ОписаниеПоказателя);

КонецПроцедуры

Процедура СоздатьПоказателиДляКомпенсационныхВыплат(ПараметрыПланаВидовРасчета)

	КомпенсационныеВыплаты = ПараметрыПланаВидовРасчета.КомпенсационныеВыплаты;
	Если КомпенсационныеВыплаты.Количество() > 0 Тогда
		
		Для каждого Выплата Из КомпенсационныеВыплаты Цикл
			
			Если ПустаяСтрока(Выплата.Название) Тогда
				Продолжить;
			КонецЕсли;
			
			Название = СОКРЛП(Выплата.Название);
			Наименование = Название + " " + НСтр("ru = '(руб)'");
			
			Идентификатор = НСтр("ru = 'РазмерКомпенсации'");
			КраткоеНаименование = "";
			ИдентификаторИКраткоеНаименованиеПоТекстовойСтроке(Идентификатор,КраткоеНаименование,Название);
			КраткоеНаименование = КраткоеНаименование + " " + НСтр("ru = '(руб)'");
			
			Выплата.Показатель = Идентификатор;
			ОписаниеПоказателя = ОписаниеПоказателя();
			ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
			ОписаниеПоказателя.Идентификатор = Идентификатор;
			ОписаниеПоказателя.Наименование = Наименование;
			ОписаниеПоказателя.КраткоеНаименование = КраткоеНаименование;
			ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
			ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
			ОписаниеПоказателя.Точность = 0;
			ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
			ОписаниеПоказателя.Предопределенный = Ложь;
			ЗаписатьПоказатель(ОписаниеПоказателя);
			
		КонецЦикла;
		
	КонецЕсли;

КонецПроцедуры

Процедура СоздатьПоказательДневнойТарифПоДолжности(ПараметрыПланаВидовРасчета = Неопределено)
	
	Если ПараметрыПланаВидовРасчета = Неопределено Тогда
		ПараметрыПланаВидовРасчета = РасчетЗарплатыРасширенный.ОписаниеПараметровПланаВидовРасчета();
	КонецЕсли;
	ПараметрыПоказателей = ПараметрыПланаВидовРасчета.ПараметрыПоказателей;
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ДневнойТарифПоДолжности";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Тарифная ставка по должности (дневная)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Днев. тариф по долж.'");
	ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
	ОписаниеПоказателя.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.ДневнаяТарифнаяСтавка;
	ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
	ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифТочность;
	ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
	ЗаписатьПоказатель(ОписаниеПоказателя);

КонецПроцедуры

Процедура СоздатьПоказателиДляУчетаВремениСотрудниковВЧасах(НастройкиРасчетаЗарплаты, ПараметрыПланаВидовРасчета)
	
	ПараметрыПоказателей = ПараметрыПланаВидовРасчета.ПараметрыПоказателей;
	
	Если НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах Тогда
		// Время в часах - показатель, который используется в том числе для оплаты праздников и выходных.
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ВремяВЧасах";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Время в часах'");
		ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
		ОписаниеПоказателя.Точность = 3;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("ВремяВЧасах");
	КонецЕсли;
	
	Если НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах Тогда
		СоздатьПоказательСреднечасовойЗаработок();	
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("СреднечасовойЗаработок");
	КонецЕсли;
	
	// Отключаем в случае, если не используется учет времени в часах.
	Если НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах 
		Или НастройкиРасчетаЗарплаты.ИспользоватьСдельныйЗаработок Тогда
		
		// Тарифная ставка часовая
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ТарифнаяСтавкаЧасовая";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Тарифная ставка (часовая)'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Час. тариф'");
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифЧасовойТочность;
		ОписаниеПоказателя.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.ЧасоваяТарифнаяСтавка;
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ЗаписатьПоказатель(ОписаниеПоказателя);
		
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "НормаЧасов";
		ОписаниеПоказателя.ИмяПредопределенныхДанных = "НормаВремениВЧасах";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Норма часов'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Норма (час.)'");
		ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
		ЗаписатьПоказатель(ОписаниеПоказателя);
		
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ОтработаноЧасов";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Отработано часов, в т.ч. сверхурочно'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Отраб. (час.)'");
		ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
		ОписаниеПоказателя.Точность = 3;
		ЗаписатьПоказатель(ОписаниеПоказателя);
		
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("ТарифнаяСтавкаЧасовая");
		ОтключитьИспользованиеПредопределенногоЭлемента("НормаВремениВЧасах");
		ОтключитьИспользованиеПредопределенногоЭлемента("ОтработаноЧасов");
	КонецЕсли;
		
	НастройкиУчетаВремени = УчетРабочегоВремениРасширенный.НастройкиУчетаВремени();
	
	Если НастройкиУчетаВремени.УчитыватьНочныеЧасы И НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах Тогда
		СоздатьПоказательДоплатаЗаРаботуВНочноеВремя();
	Иначе	
		ОтключитьИспользованиеПредопределенногоЭлемента("ПроцентДоплатыЗаРаботуВНочноеВремя");
	КонецЕсли;
	
	Если НастройкиУчетаВремени.УчитыватьВечерниеЧасы И НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах Тогда
		СоздатьПоказательДоплатаЗаРаботуВВечернееВремя();
	Иначе	
		ОтключитьИспользованиеПредопределенногоЭлемента("ПроцентДоплатыЗаРаботуВВечернееВремя");
	КонецЕсли;
	
	СоздатьПоказательЧасовойТарифПоДолжности(ПараметрыПланаВидовРасчета, НастройкиРасчетаЗарплаты);
	
	// Размер дневной надбавки за квалификацию
	Если НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах 
		И НастройкиРасчетаЗарплаты.ИспользоватьТарифныеСеткиПриРасчетеЗарплаты Тогда
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "РазмерЧасовойДоплатыЗаКвалификацию";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Размер часовой доплаты за квалификацию'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Час. допл. за квалиф.'");
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифТочность;
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ЗаписатьПоказатель(ОписаниеПоказателя);
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("РазмерЧасовойДоплатыЗаКвалификацию");
	КонецЕсли;
	
КонецПроцедуры

Процедура СоздатьПоказательЧасовойТарифПоДолжности(ПараметрыПланаВидовРасчета = Неопределено, НастройкиРасчетаЗарплаты = Неопределено)
	
	Если НастройкиРасчетаЗарплаты = Неопределено Тогда
		НастройкиРасчетаЗарплаты = РасчетЗарплатыРасширенный.НастройкиРасчетаЗарплаты();
	КонецЕсли;

	Если ПараметрыПланаВидовРасчета = Неопределено Тогда
		ПараметрыПланаВидовРасчета = РасчетЗарплатыРасширенный.ОписаниеПараметровПланаВидовРасчета();
	КонецЕсли;
	ПараметрыПоказателей = ПараметрыПланаВидовРасчета.ПараметрыПоказателей;
	
	Если НастройкиРасчетаЗарплаты.ИспользоватьУчетВремениСотрудниковВЧасах 
		Или НастройкиРасчетаЗарплаты.ИспользоватьСдельныйЗаработок Тогда
	
		ОписаниеПоказателя = ОписаниеПоказателя();
		ОписаниеПоказателя.Идентификатор = "ЧасовойТарифПоДолжности";
		ОписаниеПоказателя.Наименование = НСтр("ru = 'Тарифная ставка по должности (часовая)'");
		ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Час. тариф по долж.'");
		ОписаниеПоказателя.ТипПоказателя = Перечисления.ТипыПоказателейРасчетаЗарплаты.Денежный;
		ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Ложь;
		ОписаниеПоказателя.СпособПримененияЗначений = Перечисления.СпособыПримененияЗначенийПоказателейРасчетаЗарплаты.Постоянное;
		ОписаниеПоказателя.Точность = ПараметрыПоказателей.ОкладТарифЧасовойТочность;
		ОписаниеПоказателя.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.ЧасоваяТарифнаяСтавка;
		ОписаниеПоказателя.НачальнаяНастройка = ПараметрыПланаВидовРасчета.НачальнаяНастройкаПрограммы;
		ЗаписатьПоказатель(ОписаниеПоказателя);
		
	Иначе
		ОтключитьИспользованиеПредопределенногоЭлемента("ЧасовойТарифПоДолжности");
	КонецЕсли;

КонецПроцедуры

Функция СоздатьПоказательТарифПростоя()
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ТарифПростоя";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Тариф простоя'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Тариф простоя'");
	ОписаниеПоказателя.Точность = 3;
	
	Возврат ЗаписатьПоказатель(ОписаниеПоказателя);
	
КонецФункции

Процедура СформироватьИдентификаторИКраткоеНаименованиеНадбавки(Надбавки, Надбавка, ИдентификаторыНадбавок, Идентификатор, КраткоеНаименование)

	ИдентификаторИКраткоеНаименованиеПоТекстовойСтроке(Идентификатор,КраткоеНаименование,Надбавка);
	ИдентификаторыНадбавок.Добавить(Идентификатор);
	
КонецПроцедуры

Процедура ИдентификаторИКраткоеНаименованиеПоТекстовойСтроке(Идентификатор,КраткоеНаименование,ТекстоваяСтрока)

	СтрокаГласных = "а,е,ё,и,о,у,ы,э,ю,я";
	МассивГласных = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрокаГласных, ",");
	
	Слова = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ТекстоваяСтрока, " ");
	НовыйИдентификатор = "";
	Для каждого Слово Из Слова Цикл
		НовыйИдентификатор = НовыйИдентификатор + Врег(Лев(Слово,1)) + Сред(Слово,2);
	КонецЦикла;
	Для Позиция = 1 По СтрДлина(НовыйИдентификатор) Цикл
		Если Не СтроковыеФункцииКлиентСервер.ЭтоРазделительСлов(КодСимвола(НовыйИдентификатор, Позиция)) Тогда
			Идентификатор = Идентификатор + Сред(НовыйИдентификатор,Позиция,1)
		КонецЕсли;
	КонецЦикла;
	
	ТекстСтр = Нрег(ТекстоваяСтрока);
	ДлинаСлова = СтрДлина(ТекстСтр);
	Если ДлинаСлова <= 4 Тогда
		КраткоеНаименование = КраткоеНаименование + ТекстСтр;
	Иначе
		Для каждого Слово Из Слова Цикл
			
			Если СтрДлина(Слово) <= 4 Тогда
				КраткоеНаименование = КраткоеНаименование + " "+ Слово;
			Иначе
				
				КраткоеНаименование = КраткоеНаименование + " " + Лев(Слово,3);
				ОстатокСлова = Сред(Слово,4);
				ДлинаСлова = СтрДлина(ОстатокСлова);
				ГласнаяБуква = Ложь;
				Для СчБукв = 1 По ДлинаСлова Цикл
					Буква = Сред(ОстатокСлова,СчБукв,1);
					ГласнаяБуква = МассивГласных.Найти(Буква) <> Неопределено;
					Если ГласнаяБуква Тогда
						КраткоеНаименование = КраткоеНаименование + ".";
						Прервать;
					Иначе
						КраткоеНаименование = КраткоеНаименование + Буква;
					КонецЕсли;
				КонецЦикла;
				
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;

КонецПроцедуры

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

#Область ОбновлениеИнформационнойБазы

Функция СоздатьПоказательУчитыватьМРОТ(ПараметрыОбновления = Неопределено) Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "УчитыватьМРОТ";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Учитывать МРОТ'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Учитывать МРОТ'");
	ОписаниеПоказателя.ОтображатьВДокументахНачисления = Истина;
	ОписаниеПоказателя.ДопускаетсяНулевоеЗначение = Истина;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецФункции

Процедура СоздатьПоказательНормаДнейЧасов(ПараметрыОбновления = Неопределено) Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "НормаДнейЧасов";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Норма дней (или часов)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Норма дней (часов)'");
	ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
	ОписаниеПоказателя.Точность = 3;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

Процедура СоздатьПоказательКалендарныеДниМесяцаБезПраздников(ПараметрыОбновления = Неопределено) Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "КалендарныеДниМесяцаБезПраздников";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Календарные дни месяца без праздников'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Кал.дн.(мес) без пр.'");
	ОписаниеПоказателя.ОтображатьВДокументахНачисления = Ложь;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

Процедура УстановитьТочностьПоказателейРасчетнаяБаза(ПараметрыОбновления = Неопределено) Экспорт	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ПоказательРасчетнаяБаза", ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РасчетнаяБаза"));
	Запрос.УстановитьПараметр("ПоказательРасчетнаяБазаИсполнительногоЛиста", ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РасчетнаяБазаИсполнительногоЛиста"));
	Запрос.УстановитьПараметр("ПоказательРасчетнаяБазаСтраховыеВзносы", ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ПоказателиРасчетаЗарплаты.РасчетнаяБазаСтраховыеВзносы"));
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПоказателиРасчетаЗарплаты.Ссылка КАК Показатель,
	|	2 КАК Точность
	|ИЗ
	|	Справочник.ПоказателиРасчетаЗарплаты КАК ПоказателиРасчетаЗарплаты
	|ГДЕ
	|	ПоказателиРасчетаЗарплаты.Ссылка = &ПоказательРасчетнаяБаза
	|	И ПоказателиРасчетаЗарплаты.Точность <> 2
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПоказателиРасчетаЗарплаты.Ссылка,
	|	2
	|ИЗ
	|	Справочник.ПоказателиРасчетаЗарплаты КАК ПоказателиРасчетаЗарплаты
	|ГДЕ
	|	ПоказателиРасчетаЗарплаты.Ссылка = &ПоказательРасчетнаяБазаИсполнительногоЛиста
	|	И ПоказателиРасчетаЗарплаты.Точность <> 2
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПоказателиРасчетаЗарплаты.Ссылка,
	|	2
	|ИЗ
	|	Справочник.ПоказателиРасчетаЗарплаты КАК ПоказателиРасчетаЗарплаты
	|ГДЕ
	|	ПоказателиРасчетаЗарплаты.Ссылка = &ПоказательРасчетнаяБазаСтраховыеВзносы
	|	И ПоказателиРасчетаЗарплаты.Точность <> 2";	

	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Количество() = 0 Тогда
		ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
		Возврат;
	КонецЕсли;	
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Ложь);
	
	Пока Выборка.Следующий() Цикл
		Если Не ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.ПодготовитьОбновлениеДанных(ПараметрыОбновления, "Справочник.ПоказателиРасчетаЗарплаты", "Ссылка", Выборка.Показатель) Тогда
			Продолжить;
		КонецЕсли;
		
		Объект = Выборка.Показатель.ПолучитьОбъект();
		Объект.Точность = Выборка.Точность;
		Объект.ОбменДанными.Загрузка = Истина;
		Объект.Записать();
		
		ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.ЗавершитьОбновлениеДанных(ПараметрыОбновления);
	КонецЦикла;	
	
КонецПроцедуры

Процедура СоздатьПоказателиИндексируемогоНеиндексируемогоСреднегоЗаработка(ПараметрыОбновления = Неопределено) Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокИндексируемый";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок (индексируемый)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. заработок инд.'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокНеиндексируемый";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок (неиндексируемый)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. заработок неинд.'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);

	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

Процедура СоздатьПоказательСтоимостьДняЧасаСУчетомРазовыхНачислений(ПараметрыОбновления = Неопределено) Экспорт

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СтоимостьДняЧасаСУчетомРазовыхНачислений";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Стоимость дня(часа) с учетом разовых начислений'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Стоимость дня(часа) с учетом разовых начислений'");
	ОписаниеПоказателя.Точность = 5;
	ЗаписатьПоказатель(ОписаниеПоказателя);	
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

Процедура СоздатьПоказательСреднемесячноеКоличествоЧасов(ПараметрыОбновления = Неопределено) Экспорт

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднемесячноеКоличествоЧасов";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Среднемесячное количество часов'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Сред. колич. часов'");
	ОписаниеПоказателя.Точность = 3;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

Процедура СоздатьПоказателиСреднегоЗаработкаРКиСН(ПараметрыОбновления = Неопределено) Экспорт
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокРК";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок (РК)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. заработок РК'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокСН";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок (СН)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. заработок СН'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокИндексируемыйРК";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок инд. (РК)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. зараб. инд. РК'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокИндексируемыйСН";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок инд. (СН)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. зараб. инд. СН'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокНеиндексируемыйРК";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок неинд. (РК)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. зар. неинд. РК'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);
	
	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "СреднийЗаработокНеиндексируемыйСН";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Средний заработок неинд. (СН)'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Ср. зар. неинд. СН'");
	ОписаниеПоказателя.Точность = 2;
	ЗаписатьПоказатель(ОписаниеПоказателя);

	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

Процедура СоздатьПоказательИсчисленныйНДФЛРасчетнойБазыУдержания(ПараметрыОбновления = Неопределено) Экспорт

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "ИсчисленныйНДФЛРасчетнойБазыУдержания";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Исчисленный НДФЛ расчетной базы удержания'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'НДФЛ'");
	ЗаписатьПоказатель(ОписаниеПоказателя);	
	
	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
КонецПроцедуры

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

Функция СоздатьПоказательКоличествоДнейЧасовКомпенсацииОтгулов(ПараметрыОбновления = Неопределено) Экспорт

	ОписаниеПоказателя = ОписаниеПоказателя();
	ОписаниеПоказателя.Идентификатор = "КоличествоДнейЧасовКомпенсацииОтгулов";
	ОписаниеПоказателя.Наименование = НСтр("ru = 'Количество дней/часов компенсации отгулов'");
	ОписаниеПоказателя.КраткоеНаименование = НСтр("ru = 'Дн./час. комп.'");
	ОписаниеПоказателя.ЗначениеРассчитываетсяАвтоматически = Истина;
	Результат = ЗаписатьПоказатель(ОписаниеПоказателя);

	ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.УстановитьПараметрОбновления(ПараметрыОбновления, "ОбработкаЗавершена", Истина);
	
	Возврат Результат;
	
КонецФункции

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

#КонецЕсли

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