Начальная штатная расстановка / Модуль объекта

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

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

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

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

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

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
	
	КадровыйУчет.ПроверитьВозможностьПроведенияПоКадровомуУчету(
		Месяц, Сотрудники.ВыгрузитьКолонку("Сотрудник"), Ссылка, Отказ, Перечисления.ВидыКадровыхСобытий.НачальныеДанные);
	
	ИспользоватьШтатноеРасписание = ПолучитьФункциональнуюОпцию("ИспользоватьШтатноеРасписание");
	СтруктурыПроверяемыхКонфликтовВидовЗанятости = Новый Массив;
	Для каждого СтрокаСотрудника Из Сотрудники Цикл
		
		СтруктураПроверки = СотрудникиФормыРасширенный.ПустаяСтруктураДляПроверкиКонфликтовВидовЗанятостиСотрудников();
		ЗаполнитьЗначенияСвойств(СтруктураПроверки, СтрокаСотрудника);
		СтруктураПроверки.ДатаСобытия = Месяц;
		
		СтруктурыПроверяемыхКонфликтовВидовЗанятости.Добавить(СтруктураПроверки);
		
		Если ИспользоватьШтатноеРасписание И СтрокаСотрудника.ОсвобождатьСтавку Тогда
			
			Если СтрокаСотрудника.ПланируемаяДатаВозврата <= Месяц Тогда
				
				ТекстСообщения = НСтр("ru='Планируемая дата возврата сотрудника %1 должна быть больше первого числа месяца начала учета'");
				ОбщегоНазначения.СообщитьПользователю(
					СтрШаблон(ТекстСообщения, СтрокаСотрудника.Сотрудник),
					Ссылка,
					"Сотрудники[" + (СтрокаСотрудника.НомерСтроки - 1) + "].ПланируемаяДатаВозврата",
					"Объект",
					Отказ);
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЦикла;
	
	ДокументыДляИсключения = Новый Массив;
	ДокументыДляИсключения.Добавить(Ссылка);
	
	СообщениеОКонфликтах = СотрудникиФормыРасширенный.СообщениеОКонфликтахВидовЗанятостиСотрудников(
		СтруктурыПроверяемыхКонфликтовВидовЗанятости, Организация, ДокументыДляИсключения);
	
	Для каждого КонфликтыСотрудника Из СообщениеОКонфликтах Цикл
		
		ИндексСтроки = "";
		СтрокаСотрудника = Сотрудники.Найти(КонфликтыСотрудника.Ключ, "Сотрудник");
		Если СтрокаСотрудника <> Неопределено Тогда
			ИндексСтроки = СтрокаСотрудника.НомерСтроки - 1;
		КонецЕсли;
		
		ОбщегоНазначения.СообщитьПользователю(КонфликтыСотрудника.Значение, Ссылка, "Сотрудники[" + ИндексСтроки + "].ВидЗанятости", "Объект", Отказ);
		
	КонецЦикла;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ГосударственнаяСлужба") Тогда
		Модуль = ОбщегоНазначения.ОбщийМодуль("ГосударственнаяСлужба");
		Модуль.ПроверкаЗаполненияДокументаНачальнаяШтатнаяРасстановка(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
	Иначе
		ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(ПроверяемыеРеквизиты, "ВидДоговора");
	КонецЕсли;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.Подработки") Тогда
		Модуль = ОбщегоНазначения.ОбщийМодуль("Подработки");
		Модуль.ПроверкаЗаполненияДокументаНачальнаяШтатнаяРасстановка(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
	КонецЕсли;
	
КонецПроцедуры

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

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

#Область ОбменДанными

Функция СовместноРегистрируемыеОбъекты() Экспорт
	Возврат Сотрудники.ВыгрузитьКолонку("Сотрудник");
КонецФункции

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

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

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

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

Функция ДанныеДляРегистрацииВУчетаСтажаПФР()
	МассивСсылок = Новый Массив;
	МассивСсылок.Добавить(Ссылка);
	
	ДанныеДляРегистрации = Документы.НачальнаяШтатнаяРасстановка.ДанныеДляРегистрацииВУчетаСтажаПФР(МассивСсылок);
	
	Возврат ДанныеДляРегистрации[Ссылка];
	
КонецФункции	

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

#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли

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