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