// Выполняет автоматическое заполнение документа по данным документа и переданным параметрам // // Параметры: // ПериодЗаполнения - период (дата - начало месяца) за который необходимо выполнить автозаполнение // ПостроительЗапроса - построитель запроса, который используется для ограничения состава физлиц // по которым выполняется заполнение документа // ПерерассчитываемыйДокумент - перерассчитываемый документ для автозаполнения документа // по перерассчитываемому начислению зарплаты // Физлица - массив физлиц перерасчета // // Возвращаемое значение: // Логическое - удалось ли выполнить автоматическое заполнение документа // Функция ВыполнитьАвтозаполнение(НачалоПериодаЗаполнения, ОкончаниеПериодаЗаполнения, Запрос = Неопределено, ЭтоПерерасчет = Ложь, СписокФизЛиц = Неопределено, МассивСотрудники = Неопределено) Экспорт РасчетЗарплатыОрганизацииПоОтветственным = ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Организация, "РасчетЗарплатыОрганизацииПоОтветственным"); ГоловнаяОрганизация = ОбщегоНазначения.ГоловнаяОрганизация(Организация); // готовим объект Запрос и // определяем тексты условий ПоВсемПодразделениямОрганизации и УсловиеНаПодразделение. Если Запрос = Неопределено Тогда Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Если ЗначениеЗаполнено(ПодразделениеОрганизации) Тогда ПоВсемПодразделениямОрганизации = Ложь; Запрос.УстановитьПараметр("парамПодразделение", ПодразделениеОрганизации); ТекстЗапросаПоПодразделениям = "ВЫБРАТЬ | ПодразделенияОрганизаций.Ссылка КАК Подразделение |ПОМЕСТИТЬ ВТПодразделенияОтбора |ИЗ | Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций |ГДЕ | ПодразделенияОрганизаций.Ссылка В ИЕРАРХИИ(&парамПодразделение) | |ИНДЕКСИРОВАТЬ ПО | Подразделение"; Иначе // подготовим временную таблицу с подразделениями ПоВсемПодразделениямОрганизации = Истина; ТекстЗапросаПоПодразделениям = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Подразделение |ПОМЕСТИТЬ ВТПодразделенияОтбора"; КонецЕсли; Если МассивСотрудники = Неопределено Тогда Если РасчетЗарплатыОрганизацииПоОтветственным И ЗначениеЗаполнено(Ответственный) Тогда // Проверим ответственного - является ли он расчетчиком вообще и для заданного // подразделения (если оно задано) Запрос.УстановитьПараметр("парамПользователь" , Ответственный); Запрос.УстановитьПараметр("парамНачало" , НачалоПериодаЗаполнения); Если ПодразделениеОрганизации.Пустая() Тогда Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Расчетчики.ПодразделениеОрганизации |ИЗ | РегистрСведений.РасчетчикиЗарплатыОрганизаций.СрезПоследних(&парамНачало, ) КАК Расчетчики |ГДЕ | Расчетчики.Пользователь = &парамПользователь"; Если Запрос.Выполнить().Пустой() Тогда ОбщегоНазначения.ОшибкаРасчета(ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("Ответственный за этот документ не является расчетчиком ни одного из подразделений организации")); Возврат Ложь; КонецЕсли; Иначе Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Подразделения.Ссылка |ИЗ | Справочник.ПодразделенияОрганизаций КАК Подразделения |ГДЕ | Подразделения.Ссылка В ИЕРАРХИИ(&парамПодразделение) | И Подразделения.Ссылка В ИЕРАРХИИ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Расчетчики.ПодразделениеОрганизации | ИЗ | РегистрСведений.РасчетчикиЗарплатыОрганизаций.СрезПоследних(&парамНачало) КАК Расчетчики | ГДЕ | Расчетчики.Пользователь = &парамПользователь)"; Запрос.УстановитьПараметр("парамПодразделение" , ПодразделениеОрганизации); Если Запрос.Выполнить().Пустой() Тогда ОбщегоНазначения.ОшибкаРасчета("Ответственный за этот документ не является расчетчиком для выбранного подразделения"); Возврат Ложь; КонецЕсли; КонецЕсли; ПоВсемПодразделениямОрганизации = Ложь; ТекстЗапросаПоПодразделениям = "ВЫБРАТЬ | ПодразделенияОрганизаций.Ссылка КАК Подразделение |ПОМЕСТИТЬ ВТПодразделенияОтбора |ИЗ | Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций |ГДЕ | ПодразделенияОрганизаций.Ссылка В ИЕРАРХИИ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Расчетчики.ПодразделениеОрганизации | ИЗ | РегистрСведений.РасчетчикиЗарплатыОрганизаций.СрезПоследних(&парамНачало) КАК Расчетчики | ГДЕ | Расчетчики.Пользователь = &парамПользователь) | |ИНДЕКСИРОВАТЬ ПО | Подразделение"; КонецЕсли; Запрос.УстановитьПараметр("ФизЛица", СписокФизЛиц); Запрос.УстановитьПараметр("ПоВсемФизЛицам", СписокФизЛиц = Неопределено); Запрос.УстановитьПараметр("парамОрганизация", Организация); Запрос.УстановитьПараметр("парамГоловнаяОрганизация",ГоловнаяОрганизация); Запрос.УстановитьПараметр("парамНачало", НачалоПериодаЗаполнения); Запрос.УстановитьПараметр("парамКонец", КонецДня(ОкончаниеПериодаЗаполнения)); ТекстЗапросаПоСпискуРаботников = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | РаботникиОрганизации.Сотрудник КАК Сотрудник, | РаботникиОрганизации.Сотрудник.Физлицо КАК Физлицо |ПОМЕСТИТЬ ВТСписокРаботников |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних( | &парамНачало, | Организация = &парамГоловнаяОрганизация | И (&ПоВсемФизЛицам | ИЛИ Сотрудник.ФизЛицо В (&ФизЛица))) КАК РаботникиОрганизации |ГДЕ | ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ПричинаИзмененияСостоянияЗавершения | ИНАЧЕ РаботникиОрганизации.ПричинаИзмененияСостояния | КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | И ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ОбособленноеПодразделениеЗавершения | ИНАЧЕ РаботникиОрганизации.ОбособленноеПодразделение | КОНЕЦ = &парамОрганизация | И ВЫБОР | КОГДА &ПоВсемПодразделениям | ТОГДА ИСТИНА | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения) | ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения) | КОНЕЦ | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | РаботникиОрганизации.Сотрудник, | РаботникиОрганизации.Сотрудник.Физлицо |ИЗ | РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизации |ГДЕ | РаботникиОрганизации.Период > &парамНачало | И РаботникиОрганизации.Период <= &парамКонец | И РаботникиОрганизации.Организация = &парамГоловнаяОрганизация | И (&ПоВсемФизЛицам | ИЛИ РаботникиОрганизации.Сотрудник.Физлицо В (&ФизЛица)) | И РаботникиОрганизации.ОбособленноеПодразделение = &парамОрганизация | И (&ПоВсемПодразделениям | ИЛИ РаботникиОрганизации.ПодразделениеОрганизации В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения)) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | Работники.Сотрудник, | Работники.Сотрудник.Физлицо |ИЗ | РегистрСведений.РаботникиОрганизаций КАК Работники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ПериодыПерекрытия | ПО Работники.Сотрудник = ПериодыПерекрытия.Сотрудник | И (ПериодыПерекрытия.Период <= Работники.ПериодЗавершения) | И (ПериодыПерекрытия.Период > Работники.Период) | И (ПериодыПерекрытия.Организация = &парамГоловнаяОрганизация) |ГДЕ | Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | И Работники.ПериодЗавершения > &парамНачало | И Работники.ПериодЗавершения <= &парамКонец | И Работники.Организация = &парамГоловнаяОрганизация | И Работники.ОбособленноеПодразделениеЗавершения = &парамОрганизация | И (&ПоВсемФизЛицам | ИЛИ Работники.Сотрудник.Физлицо В (&ФизЛица)) | И (&ПоВсемПодразделениям | ИЛИ Работники.ПодразделениеОрганизацииЗавершения В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения)) | И ПериодыПерекрытия.Период ЕСТЬ NULL | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник, | ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник.Физлицо |ИЗ | Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом |ГДЕ | ДоговорНаВыполнениеРаботСФизЛицом.ДатаНачала <= &парамКонец | И ДоговорНаВыполнениеРаботСФизЛицом.ДатаОкончания >= &парамНачало | И ДоговорНаВыполнениеРаботСФизЛицом.Проведен | И ДоговорНаВыполнениеРаботСФизЛицом.Организация = &парамОрганизация | И (&ПоВсемФизЛицам | ИЛИ ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо В (&ФизЛица)) | И (&ПоВсемПодразделениям | ИЛИ ДоговорНаВыполнениеРаботСФизЛицом.ПодразделениеОрганизации В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения)) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Иначе Запрос.УстановитьПараметр("Сотрудники", МассивСотрудники); ТекстЗапросаПоСпискуРаботников = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СотрудникиОрганизаций.Ссылка КАК Сотрудник, | СотрудникиОрганизаций.Физлицо |ПОМЕСТИТЬ ВТСписокРаботников |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |ГДЕ | СотрудникиОрганизаций.Ссылка В(&Сотрудники) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; КонецЕсли; // создаем временную таблицу с подразделениями Запрос.Текст = ТекстЗапросаПоПодразделениям; Запрос.УстановитьПараметр("ПоВсемПодразделениям", ПоВсемПодразделениямОрганизации); Запрос.Выполнить(); // создаем временную таблицу ВТСписокРаботников с сотрудниками, отобранными по подразделению или из переданного списка // // Поля: // Сотрудник // Физлицо // Запрос.Текст = ТекстЗапросаПоСпискуРаботников; Запрос.Выполнить(); Иначе // создаем временную таблицу ВТСписокРаботников с сотрудниками, отобранными по критериям пользователя // // Поля: // Сотрудник // Физлицо // Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Выполнить(); // объявим временную таблицу - она должна присутствовать, но использоваться не будет Запрос.Текст = "ВЫБРАТЬ | НЕОПРЕДЕЛЕНО КАК Подразделение |ПОМЕСТИТЬ ВТПодразделенияОтбора"; Запрос.Выполнить(); Запрос.УстановитьПараметр("ПоВсемПодразделениям", Истина); КонецЕсли; // Установим параметры запроса Запрос.УстановитьПараметр("парамПериодРегистрации" , ПериодРегистрации); Запрос.УстановитьПараметр("парамНачало" , НачалоПериодаЗаполнения); Запрос.УстановитьПараметр("парамКонец" , КонецДня(ОкончаниеПериодаЗаполнения)); Запрос.УстановитьПараметр("парамОрганизация" , Организация); Запрос.УстановитьПараметр("парамГоловнаяОрганизация", ГоловнаяОрганизация); Запрос.УстановитьПараметр("парамПодразделение" , ПодразделениеОрганизации); Запрос.УстановитьПараметр("парамРегистратор" , Ссылка); Запрос.УстановитьПараметр("парамНачалоМесяца" , НачалоМесяца(НачалоПериодаЗаполнения)); Запрос.УстановитьПараметр("парамДатаВалютногоУчета" , НачалоМесяца(НачалоПериодаЗаполнения)); Запрос.УстановитьПараметр("парамВалютаРегламентУчета" , Константы.ВалютаРегламентированногоУчета.Получить()); Запрос.УстановитьПараметр("парамМассивСпособовРасчетовБезВалюты" , ПроведениеРасчетовПереопределяемый.ПолучитьСписокСпособовРасчетаНеТребующихУказанияВалюты()); Запрос.УстановитьПараметр("Год",Год(НачалоПериодаЗаполнения)); Запрос.УстановитьПараметр("ЭтоПерерасчет", ЭтоПерерасчет); СпособыРасчетаОтСтажа = Новый Массив; СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоМесячнойТарифнойСтавкеПоЧасам); СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоМесячнойТарифнойСтавкеПоДням); СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоДневнойТарифнойСтавке); СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПоЧасовойТарифнойСтавке); СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.ОтСтажаПроцентом); СпособыРасчетаОтСтажа.Добавить(Перечисления.СпособыРасчетаОплатыТруда.СевернаяНадбавка); Запрос.УстановитьПараметр("СпособыРасчетаОтСтажа", СпособыРасчетаОтСтажа); Если Ссылка.Пустая() Тогда СcылкаОбъекта = Документы.НачислениеЗарплатыРаботникамОрганизаций.ПолучитьСсылку(); УстановитьСсылкуНового(СcылкаОбъекта); Иначе СcылкаОбъекта = Ссылка; КонецЕсли; Запрос.УстановитьПараметр("Ссылка", СcылкаОбъекта); //ТаблицаДвиженийРаботниковТекст //Описание: // Выбирает список работников, отвечающих условиям отбора, числящихся на начало месяца и их движения за месяц. Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | &парамНачало КАК Период, | РаботникиОрганизации.Сотрудник КАК Сотрудник, | ИСТИНА КАК Подходит, | ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения | ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации | КОНЕЦ КАК ПодразделениеОрганизации, | ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ГрафикРаботыЗавершения | ИНАЧЕ РаботникиОрганизации.ГрафикРаботы | КОНЕЦ КАК ГрафикРаботы, | ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ДолжностьЗавершения | ИНАЧЕ РаботникиОрганизации.Должность | КОНЕЦ КАК Должность |ПОМЕСТИТЬ ВТДвиженияРаботников |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних( | &парамНачало, | Сотрудник В | (ВЫБРАТЬ | ВТСписокРаботников.Сотрудник | ИЗ | ВТСписокРаботников КАК ВТСписокРаботников)) КАК РаботникиОрганизации |ГДЕ | ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ПричинаИзмененияСостоянияЗавершения | ИНАЧЕ РаботникиОрганизации.ПричинаИзмененияСостояния | КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | И ВЫБОР | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ОбособленноеПодразделениеЗавершения | ИНАЧЕ РаботникиОрганизации.ОбособленноеПодразделение | КОНЕЦ = &парамОрганизация | И ВЫБОР | КОГДА &ПоВсемПодразделениям | ТОГДА ИСТИНА | КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало | И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения) | ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения) | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РаботникиОрганизации.Период, | РаботникиОрганизации.Сотрудник, | ВЫБОР | КОГДА РаботникиОрганизации.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | И РаботникиОрганизации.ОбособленноеПодразделение = &парамОрганизация | И (&ПоВсемПодразделениям | ИЛИ РаботникиОрганизации.ПодразделениеОрганизации В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | РаботникиОрганизации.ПодразделениеОрганизации, | РаботникиОрганизации.ГрафикРаботы, | РаботникиОрганизации.Должность |ИЗ | ВТСписокРаботников КАК СписокРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизации | ПО СписокРаботников.Сотрудник = РаботникиОрганизации.Сотрудник |ГДЕ | РаботникиОрганизации.Период > &парамНачало | И РаботникиОрганизации.Период <= &парамКонец | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Работники.ПериодЗавершения, | Работники.Сотрудник, | ВЫБОР | КОГДА Работники.ПричинаИзмененияСостоянияЗавершения <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | И Работники.ОбособленноеПодразделениеЗавершения = &парамОрганизация | И (&ПоВсемПодразделениям | ИЛИ Работники.ПодразделениеОрганизацииЗавершения В | (ВЫБРАТЬ | Подразделения.Подразделение | ИЗ | ВТПодразделенияОтбора КАК Подразделения)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | Работники.ПодразделениеОрганизацииЗавершения, | Работники.ГрафикРаботыЗавершения, | Работники.ДолжностьЗавершения |ИЗ | ВТСписокРаботников КАК СписокРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ПериодыПерекрытия | ПО (ПериодыПерекрытия.Период <= Работники.ПериодЗавершения) | И (ПериодыПерекрытия.Период > Работники.Период) | И (ПериодыПерекрытия.Сотрудник = Работники.Сотрудник) | ПО СписокРаботников.Сотрудник = Работники.Сотрудник |ГДЕ | Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | И Работники.ПериодЗавершения > &парамНачало | И Работники.ПериодЗавершения <= &парамКонец | И ПериодыПерекрытия.Период ЕСТЬ NULL | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | &парамНачало, | ДоговорникиОрганизаций.Ссылка, | ИСТИНА, | NULL, | NULL, | NULL |ИЗ | ВТСписокРаботников КАК СписокРаботников | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК ДоговорникиОрганизаций | ПО СписокРаботников.Сотрудник = ДоговорникиОрганизаций.Ссылка |ГДЕ | ДоговорникиОрганизаций.ВидДоговора <> ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); // таблица ВТЗначенияПоказателей // // Поля: // Сотрудник // Показатель - введенный пользователем показатель // Значение - значение показателя // Валюта // Запрос.Текст = "ВЫБРАТЬ | Работники.Сотрудник КАК Сотрудник, | Работники.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | ЗначенияПоказателейСхемМотивации.Показатель КАК Показатель, | ВЫБОР КОГДА ЗначенияПоказателейСхемМотивации.Валюта = Значение(Справочник.Валюты.ПустаяСсылка) И ЗначенияПоказателейСхемМотивации.Показатель.ТипПоказателя = Значение(Перечисление.ТипыПоказателейСхемМотивации.Денежный) ТОГДА ЗначенияПоказателейСхемМотивации.Показатель.Валюта ИНАЧЕ ЗначенияПоказателейСхемМотивации.Валюта КОНЕЦ КАК Валюта, | ЗначенияПоказателейСхемМотивации.Значение |ПОМЕСТИТЬ ВТЗначенияПоказателей |ИЗ | ВТДвиженияРаботников КАК Работники | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Ежемесячно.Подразделение КАК Подразделение, | Ежемесячно.Показатель КАК Показатель, | Ежемесячно.Валюта КАК Валюта, | Ежемесячно.Значение КАК Значение, | Ежемесячно.Сотрудник КАК Сотрудник | ИЗ | РегистрСведений.ЗначенияПоказателейСхемМотивации КАК Ежемесячно | ГДЕ | Ежемесячно.Значение ЕСТЬ НЕ NULL | И Ежемесячно.Организация = &парамОрганизация | И Ежемесячно.ПериодДействия >= &парамНачало | И Ежемесячно.ПериодДействия <= &парамКонец | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Подразделение, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Показатель, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Валюта, | ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних.Значение, | NULL | ИЗ | РегистрСведений.ПериодическиеЗначенияПоказателейСхемМотивации.СрезПоследних(&парамКонец, Организация = &парамОрганизация) КАК ПериодическиеЗначенияПоказателейСхемМотивацииСрезПоследних) КАК ЗначенияПоказателейСхемМотивации | ПО (ВЫБОР | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.Индивидуальный) | ИЛИ ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя ЕСТЬ NULL | ТОГДА Работники.Сотрудник = ЗначенияПоказателейСхемМотивации.Сотрудник | КОГДА ЗначенияПоказателейСхемМотивации.Показатель.ВидПоказателя = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПоПодразделению) | ТОГДА Работники.ПодразделениеОрганизации = ЗначенияПоказателейСхемМотивации.Подразделение | ИНАЧЕ ИСТИНА | КОНЕЦ) | |ИНДЕКСИРОВАТЬ ПО | Показатель |"; Запрос.Выполнить(); // создание временных таблиц для последующего использования: // ЗначенияПоказателей // НеЗапрашиваемыеПриКадровыхПеремещениях // ВводимыеВПлановыхНачисленияхПоказатели // РаботникиИНачисления Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда // таблица НеЗапрашиваемыеПриКадровыхПеремещениях // выбираем показатели, которые не спрашиваем у пользователя в кадровых документах, а также все "тарифные ставки" и их в.р.; // значения этих показателей будем искать в данных о плановых начислениях, но, возможно, при других видах расчета // // Поля: // Ссылка - вид расчета // Показатель // НомерСтроки - номер строки показателя // ЭтоТарифнаяСтавка - признак того. что Показатель является тарифной ставкой // Запрос.Текст = "ВЫБРАТЬ | ОсновныеНачисленияОрганизацийПоказатели.Показатель КАК Показатель, | ОсновныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения, | ОсновныеНачисленияОрганизацийПоказатели.НомерСтроки КАК НомерСтроки, | ОсновныеНачисленияОрганизацийПоказатели.Ссылка КАК Ссылка, | ВЫБОР | КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ТОГДА ИСТИНА | КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ТОГДА ИСТИНА | КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ТОГДА ИСТИНА | КОГДА ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЭтоТарифнаяСтавка |ПОМЕСТИТЬ ВТНеЗапрашиваемыеПриКадровыхПеремещениях |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК ОсновныеНачисленияОрганизацийПоказатели |ГДЕ | ((НЕ ОсновныеНачисленияОрганизацийПоказатели.ЗапрашиватьПриКадровыхПеремещениях) | ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ИЛИ ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка) | И ОсновныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения <> ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ДополнительныеНачисленияОрганизацийПоказатели.Показатель, | ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения, | ДополнительныеНачисленияОрганизацийПоказатели.НомерСтроки, | ДополнительныеНачисленияОрганизацийПоказатели.Ссылка, | ВЫБОР | КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ТОГДА ИСТИНА | КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ТОГДА ИСТИНА | КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ТОГДА ИСТИНА | КОГДА ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ |ИЗ | ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК ДополнительныеНачисленияОрганизацийПоказатели |ГДЕ | ((НЕ ДополнительныеНачисленияОрганизацийПоказатели.ЗапрашиватьПриКадровыхПеремещениях) | ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ИЛИ ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка) | И ДополнительныеНачисленияОрганизацийПоказатели.Показатель.ВозможностьИзменения <> ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | УдержанияОрганизацийПоказатели.Показатель, | УдержанияОрганизацийПоказатели.Показатель.ВозможностьИзменения, | УдержанияОрганизацийПоказатели.НомерСтроки, | УдержанияОрганизацийПоказатели.Ссылка, | ВЫБОР | КОГДА УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ТОГДА ИСТИНА | КОГДА УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ТОГДА ИСТИНА | КОГДА УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ТОГДА ИСТИНА | КОГДА УдержанияОрганизацийПоказатели.Показатель.ТарифнаяСтавка | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ |ИЗ | ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК УдержанияОрганизацийПоказатели |ГДЕ | ((НЕ УдержанияОрганизацийПоказатели.ЗапрашиватьПриКадровыхПеремещениях) | ИЛИ УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ИЛИ УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ИЛИ УдержанияОрганизацийПоказатели.Показатель = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ИЛИ УдержанияОрганизацийПоказатели.Показатель.ТарифнаяСтавка) | И УдержанияОрганизацийПоказатели.Показатель.ВозможностьИзменения <> ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | |ИНДЕКСИРОВАТЬ ПО | Показатель"; Запрос.Выполнить(); // таблица ВводимыеВПлановыхНачисленияхПоказатели // виды расчета и показатели, значения которых находятся при этих в.р. в данных о плановых начислениях // // Поля: // Ссылка - вид расчета // Показатель // НомерСтроки - номер строки показателя // Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка, | ВЫБОР | КОГДА ОсновныеНачисленияОрганизаций.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам)) | ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | КОГДА ОсновныеНачисленияОрганизаций.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок)) | ТОГДА ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | КОНЕЦ КАК Показатель, | 1 КАК НомерСтроки, | ИСТИНА КАК ЭтоТарифнаяСтавка |ПОМЕСТИТЬ ВТВводимыеВПлановыхНачисленияхПоказатели |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций |ГДЕ | ОсновныеНачисленияОрганизаций.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке)) | И ОсновныеНачисленияОрганизаций.ЗачетОтработанногоВремени | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисленияОрганизацийПоказатели.Ссылка, | ОсновныеНачисленияОрганизацийПоказатели.Показатель, | ОсновныеНачисленияОрганизацийПоказатели.НомерСтроки, | ИСТИНА |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК ОсновныеНачисленияОрганизацийПоказатели |ГДЕ | ОсновныеНачисленияОрганизацийПоказатели.Ссылка.ЗачетОтработанногоВремени | И ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисленияОрганизацийПоказатели.Ссылка, | ОсновныеНачисленияОрганизацийПоказатели.Показатель, | ОсновныеНачисленияОрганизацийПоказатели.НомерСтроки, | ЛОЖЬ |ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК ОсновныеНачисленияОрганизацийПоказатели |ГДЕ | ОсновныеНачисленияОрганизацийПоказатели.Показатель В | (ВЫБРАТЬ | ВТНеЗапрашиваемыеПриКадровыхПеремещениях.Показатель | ИЗ | ВТНеЗапрашиваемыеПриКадровыхПеремещениях) | И (НЕ ОсновныеНачисленияОрганизацийПоказатели.Показатель.ТарифнаяСтавка) | |ИНДЕКСИРОВАТЬ ПО | Ссылка"; Запрос.Выполнить(); // РаботникиИНачисления // Таблица движений работников с добавленными сведениями об их плановых начислениях // // Поля: // Сотрудник // ВидРасчета - плановое начисление // Показатель1,...,6 - размеры показателей // СпособРасчета - способ расчета начисления // ГрафикРаботы - график сотрудника // ВидГрафика, СуммированныйУчетРабочегоВремени, ДлительностьРабочейНедели - реквизиты графика сотрудника // // Описание: // // 1. // 2. // Запрос.Текст = "ВЫБРАТЬ | Работники.Сотрудник КАК Сотрудник, | Работники.Сотрудник.Наименование КАК СотрудникНаименование, | Работники.Сотрудник.Физлицо КАК Физлицо, | ВЫБОР | КОГДА Работники.Период >= НачисленияРаботниковОрганизации.Период | ИЛИ НачисленияРаботниковОрганизации.Период ЕСТЬ NULL | ТОГДА Работники.Период | ИНАЧЕ НачисленияРаботниковОрганизации.Период | КОНЕЦ КАК Период, | Работники.Подходит, | Работники.Период КАК ПериодРаботники, | НачисленияРаботниковОрганизации.Период КАК ПериодНачисления, | НачисленияРаботниковОрганизации.ОсновноеНачисление, | НачисленияРаботниковОрганизации.ВидРасчета КАК ВидРасчета, | НачисленияРаботниковОрганизации.ВидРасчета.Наименование, | НачисленияРаботниковОрганизации.ВидРасчета.ВидСтажа, | НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда, | НачисленияРаботниковОрганизации.ВидРасчета.КоэффициентСтажа, | НачисленияРаботниковОрганизации.ВидРасчета.СпособРасчета КАК СпособРасчета, | НачисленияРаботниковОрганизации.ВидРасчета.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета ССЫЛКА ПланВидовРасчета.ОсновныеНачисленияОрганизаций | ТОГДА НачисленияРаботниковОрганизации.ВидРасчета.ВидВремени | ИНАЧЕ NULL | КОНЕЦ КАК ВидВремени, | НачисленияРаботниковОрганизации.Действие КАК Действие, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2761) | ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код506) | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2720) | ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код501) | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2730) | ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код502) | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2760) | ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код503) | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2770) | ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код504) | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код2790) | ТОГДА ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код507) | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка) | КОНЕЦ КАК КодВычета, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ИЛИ НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета | И (НачисленияРаботниковОрганизации.ТарифныйРазряд1 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ТарифныйРазряд1 ЕСТЬ НЕ NULL ) | ТОГДА ТарифныеСтавки1.Размер | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета | И НачисленияРаботниковОрганизации.ТарифныйРазряд2 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ТарифныйРазряд2 ЕСТЬ НЕ NULL | ТОГДА ТарифныеСтавки2.Размер | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета | И НачисленияРаботниковОрганизации.ТарифныйРазряд3 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ТарифныйРазряд3 ЕСТЬ НЕ NULL | ТОГДА ТарифныеСтавки3.Размер | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета | И НачисленияРаботниковОрганизации.ТарифныйРазряд4 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ТарифныйРазряд4 ЕСТЬ НЕ NULL | ТОГДА ТарифныеСтавки4.Размер | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета | И НачисленияРаботниковОрганизации.ТарифныйРазряд5 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ТарифныйРазряд5 ЕСТЬ НЕ NULL | ТОГДА ТарифныеСтавки5.Размер | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ПроизвольнаяФормулаРасчета | И НачисленияРаботниковОрганизации.ТарифныйРазряд6 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ТарифныйРазряд6 ЕСТЬ НЕ NULL | ТОГДА ТарифныеСтавки6.Размер | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ТОГДА ТарифныеСтавки1.Валюта | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ТОГДА ТарифныеСтавки2.Валюта | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ТОГДА ТарифныеСтавки3.Валюта | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ТОГДА ТарифныеСтавки4.Валюта | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ТОГДА ТарифныеСтавки5.Валюта | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчета.ТребуетВводаТарифногоРазряда | ТОГДА ТарифныеСтавки6.Валюта | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта6 | КОНЕЦ КАК Валюта6, | НачисленияРаботниковОрганизации.ДатаНачалаСобытия КАК ДатаНачалаСобытия, | Работники.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | Работники.ГрафикРаботы КАК ГрафикРаботы, | ЕСТЬNULL(Работники.ГрафикРаботы.СуммированныйУчетРабочегоВремени, ЛОЖЬ) КАК СуммированныйУчетРабочегоВремени, | ЕСТЬNULL(ВЫБОР | КОГДА Работники.ГрафикРаботы.СокращенноеРабочееВремя | И Работники.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка) | ТОГДА Работники.ГрафикРаботы.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели | ИНАЧЕ Работники.ГрафикРаботы.ДлительностьРабочейНедели | КОНЕЦ, 0) КАК ДлительностьРабочейНедели, | Работники.ГрафикРаботы.ВидГрафика КАК ВидГрафика, | Работники.Должность КАК Должность, | НачисленияРаботниковОрганизации.ВидАттестата |ПОМЕСТИТЬ ВТРаботникиИНачисленияПлановыеНачисления |ИЗ | ВТДвиженияРаботников КАК Работники | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | &парамНачало КАК Период, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчетаИзмерение.Код ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ОсновноеНачисление, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ТОГДА НачисленияРаботниковОрганизации.ВидРасчета | ИНАЧЕ НачисленияРаботниковОрганизации.ВидРасчетаЗавершения | КОНЕЦ | ИНАЧЕ НачисленияРаботниковОрганизации.ВидРасчета | КОНЕЦ КАК ВидРасчета, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения | ИНАЧЕ НачисленияРаботниковОрганизации.Действие | КОНЕЦ КАК Действие, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель1Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель2Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель3Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель4Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель5Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель6Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта1Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта2Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта3Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта4Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта5Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта6Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта6 | КОНЕЦ КАК Валюта6, | НачисленияРаботниковОрганизации.Сотрудник КАК Сотрудник, | НачисленияРаботниковОрганизации.ДатаНачалаСобытия КАК ДатаНачалаСобытия, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд1Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд1 | КОНЕЦ КАК ТарифныйРазряд1, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд2Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд2 | КОНЕЦ КАК ТарифныйРазряд2, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд3Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд3 | КОНЕЦ КАК ТарифныйРазряд3, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд4Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд4 | КОНЕЦ КАК ТарифныйРазряд4, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд5Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд5 | КОНЕЦ КАК ТарифныйРазряд5, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ТарифныйРазряд6Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.ТарифныйРазряд6 | КОНЕЦ КАК ТарифныйРазряд6, | НачисленияРаботниковОрганизации.ВидАттестата КАК ВидАттестата | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних( | &парамНачало, | ДокументОснование = ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И Сотрудник В | (ВЫБРАТЬ | Работники.Сотрудник | ИЗ | ВТСписокРаботников КАК Работники)) КАК НачисленияРаботниковОрганизации | ГДЕ | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения | ИНАЧЕ НачисленияРаботниковОрганизации.Действие | КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НачисленияРаботниковОрганизации.Период, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчетаИзмерение.Код ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | НачисленияРаботниковОрганизации.ВидРасчета, | НачисленияРаботниковОрганизации.Действие, | НачисленияРаботниковОрганизации.Показатель1, | НачисленияРаботниковОрганизации.Показатель2, | НачисленияРаботниковОрганизации.Показатель3, | НачисленияРаботниковОрганизации.Показатель4, | НачисленияРаботниковОрганизации.Показатель5, | НачисленияРаботниковОрганизации.Показатель6, | НачисленияРаботниковОрганизации.Валюта1, | НачисленияРаботниковОрганизации.Валюта2, | НачисленияРаботниковОрганизации.Валюта3, | НачисленияРаботниковОрганизации.Валюта4, | НачисленияРаботниковОрганизации.Валюта5, | НачисленияРаботниковОрганизации.Валюта6, | НачисленияРаботниковОрганизации.Сотрудник, | НачисленияРаботниковОрганизации.ДатаНачалаСобытия, | НачисленияРаботниковОрганизации.ТарифныйРазряд1, | НачисленияРаботниковОрганизации.ТарифныйРазряд2, | НачисленияРаботниковОрганизации.ТарифныйРазряд3, | НачисленияРаботниковОрганизации.ТарифныйРазряд4, | НачисленияРаботниковОрганизации.ТарифныйРазряд5, | НачисленияРаботниковОрганизации.ТарифныйРазряд6, | НачисленияРаботниковОрганизации.ВидАттестата | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников | ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ГДЕ | НачисленияРаботниковОрганизации.Период > &парамНачало | И НачисленияРаботниковОрганизации.Период <= &парамКонец | И НачисленияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация | И НачисленияРаботниковОрганизации.ДокументОснование = ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НачисленияРаботниковОрганизации.ПериодЗавершения, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ВидРасчетаИзмерение.Код ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ТОГДА НачисленияРаботниковОрганизации.ВидРасчета | ИНАЧЕ НачисленияРаботниковОрганизации.ВидРасчетаЗавершения | КОНЕЦ, | НачисленияРаботниковОрганизации.ДействиеЗавершения, | НачисленияРаботниковОрганизации.Показатель1Завершения, | НачисленияРаботниковОрганизации.Показатель2Завершения, | НачисленияРаботниковОрганизации.Показатель3Завершения, | НачисленияРаботниковОрганизации.Показатель4Завершения, | НачисленияРаботниковОрганизации.Показатель5Завершения, | НачисленияРаботниковОрганизации.Показатель6Завершения, | НачисленияРаботниковОрганизации.Валюта1Завершения, | НачисленияРаботниковОрганизации.Валюта2Завершения, | НачисленияРаботниковОрганизации.Валюта3Завершения, | НачисленияРаботниковОрганизации.Валюта4Завершения, | НачисленияРаботниковОрганизации.Валюта5Завершения, | НачисленияРаботниковОрганизации.Валюта6Завершения, | НачисленияРаботниковОрганизации.Сотрудник, | НачисленияРаботниковОрганизации.ДатаНачалаСобытия, | НачисленияРаботниковОрганизации.ТарифныйРазряд1Завершения, | НачисленияРаботниковОрганизации.ТарифныйРазряд2Завершения, | НачисленияРаботниковОрганизации.ТарифныйРазряд3Завершения, | НачисленияРаботниковОрганизации.ТарифныйРазряд4Завершения, | НачисленияРаботниковОрганизации.ТарифныйРазряд5Завершения, | НачисленияРаботниковОрганизации.ТарифныйРазряд6Завершения, | НачисленияРаботниковОрганизации.ВидАттестата | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников | ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковПроверка | ПО НачисленияРаботниковОрганизации.Сотрудник = НачисленияРаботниковПроверка.Сотрудник | И НачисленияРаботниковОрганизации.ВидРасчетаИзмерение = НачисленияРаботниковПроверка.ВидРасчетаИзмерение | И НачисленияРаботниковОрганизации.ДокументОснование = НачисленияРаботниковПроверка.ДокументОснование | И (НачисленияРаботниковПроверка.Период > НачисленияРаботниковОрганизации.Период) | И (НачисленияРаботниковПроверка.Период <= НачисленияРаботниковОрганизации.ПериодЗавершения) | ГДЕ | НачисленияРаботниковОрганизации.ПериодЗавершения >= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамКонец | И НачисленияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация | И НачисленияРаботниковОрганизации.ДокументОснование = ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И НачисленияРаботниковПроверка.Сотрудник ЕСТЬ NULL ) КАК НачисленияРаботниковОрганизации | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки1 | ПО НачисленияРаботниковОрганизации.ТарифныйРазряд1 = ТарифныеСтавки1.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки2 | ПО НачисленияРаботниковОрганизации.ТарифныйРазряд2 = ТарифныеСтавки2.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки3 | ПО НачисленияРаботниковОрганизации.ТарифныйРазряд3 = ТарифныеСтавки3.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки4 | ПО НачисленияРаботниковОрганизации.ТарифныйРазряд4 = ТарифныеСтавки4.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки5 | ПО НачисленияРаботниковОрганизации.ТарифныйРазряд5 = ТарифныеСтавки5.ТарифныйРазряд | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамКонец, ) КАК ТарифныеСтавки6 | ПО НачисленияРаботниковОрганизации.ТарифныйРазряд6 = ТарифныеСтавки6.ТарифныйРазряд | ПО Работники.Сотрудник = НачисленияРаботниковОрганизации.Сотрудник | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Работники.Сотрудник КАК Сотрудник, | Работники.Сотрудник.Наименование КАК СотрудникНаименование, | Работники.Сотрудник.Физлицо КАК Физлицо, | ВЫБОР | КОГДА Работники.Период >= ШтатноеРасписание.Период | ИЛИ ШтатноеРасписание.Период ЕСТЬ NULL | ТОГДА Работники.Период | ИНАЧЕ ШтатноеРасписание.Период | КОНЕЦ КАК Период, | Работники.Подходит, | Работники.Период КАК ПериодРаботники, | ШтатноеРасписание.Период КАК ПериодНачисления, | ЛОЖЬ КАК ОсновноеНачисление, | ШтатноеРасписание.ВидНадбавки КАК ВидРасчета, | ШтатноеРасписание.ВидНадбавки.Наименование КАК ВидРасчетаНаименование, | ШтатноеРасписание.ВидНадбавки.ВидСтажа КАК ВидРасчетаВидСтажа, | ШтатноеРасписание.ВидНадбавки.ТребуетВводаТарифногоРазряда КАК ВидРасчетаТребуетВводаТарифногоРазряда, | ШтатноеРасписание.ВидНадбавки.КоэффициентСтажа КАК ВидРасчетаКоэффициентСтажа, | ШтатноеРасписание.ВидНадбавки.СпособРасчета КАК СпособРасчета, | ШтатноеРасписание.ВидНадбавки.НачисляетсяВЦеломЗаМесяц КАК НачисляетсяВЦеломЗаМесяц, | ВЫБОР | КОГДА ШтатноеРасписание.ВидНадбавки ССЫЛКА ПланВидовРасчета.ОсновныеНачисленияОрганизаций | ТОГДА ШтатноеРасписание.ВидНадбавки.ВидВремени | ИНАЧЕ NULL | КОНЕЦ КАК ВидВремени, | ШтатноеРасписание.Действие, | ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка) КАК КодВычета, | ШтатноеРасписание.Показатель1, | ШтатноеРасписание.Показатель2, | ШтатноеРасписание.Показатель3, | ШтатноеРасписание.Показатель4, | ШтатноеРасписание.Показатель5, | ШтатноеРасписание.Показатель6, | ШтатноеРасписание.Валюта1, | ШтатноеРасписание.Валюта2, | ШтатноеРасписание.Валюта3, | ШтатноеРасписание.Валюта4, | ШтатноеРасписание.Валюта5, | ШтатноеРасписание.Валюта6, | ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК ДатаНачалаСобытия, | Работники.ПодразделениеОрганизации, | Работники.ГрафикРаботы, | ЕСТЬNULL(Работники.ГрафикРаботы.СуммированныйУчетРабочегоВремени, ЛОЖЬ) КАК СуммированныйУчетРабочегоВремени, | ЕСТЬNULL(ВЫБОР | КОГДА Работники.ГрафикРаботы.СокращенноеРабочееВремя | И Работники.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка) | ТОГДА Работники.ГрафикРаботы.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели | ИНАЧЕ Работники.ГрафикРаботы.ДлительностьРабочейНедели | КОНЕЦ, 0) КАК ДлительностьРабочейНедели, | Работники.ГрафикРаботы.ВидГрафика КАК ВидГрафика, | Работники.Должность |ПОМЕСТИТЬ ВТНачисленияПоШР |ИЗ | ВТДвиженияРаботников КАК Работники | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | &парамНачало КАК Период, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.ВидНадбавки КАК ВидНадбавки, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель1 КАК Показатель1, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель2 КАК Показатель2, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель3 КАК Показатель3, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель4 КАК Показатель4, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель5 КАК Показатель5, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель6 КАК Показатель6, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Валюта1 КАК Валюта1, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Валюта2 КАК Валюта2, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Валюта3 КАК Валюта3, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Валюта4 КАК Валюта4, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Валюта5 КАК Валюта5, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Валюта6 КАК Валюта6, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Должность КАК Должность, | НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Изменить) КАК Действие | ИЗ | РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних( | &парамНачало, | ПодразделениеОрганизации В | (ВЫБРАТЬ | ДвиженияРаботников.ПодразделениеОрганизации | ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников)) КАК НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних | ГДЕ | (НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель1 > 0 | ИЛИ НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель2 > 0 | ИЛИ НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель3 > 0 | ИЛИ НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель4 > 0 | ИЛИ НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель5 > 0 | ИЛИ НадбавкиПоШтатномуРасписаниюОрганизацииСрезПоследних.Показатель6 > 0) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НадбавкиПоШтатномуРасписаниюОрганизаций.Период, | НадбавкиПоШтатномуРасписаниюОрганизаций.ВидНадбавки, | НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель1, | НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель2, | НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель3, | НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель4, | НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель5, | НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель6, | НадбавкиПоШтатномуРасписаниюОрганизаций.Валюта1, | НадбавкиПоШтатномуРасписаниюОрганизаций.Валюта2, | НадбавкиПоШтатномуРасписаниюОрганизаций.Валюта3, | НадбавкиПоШтатномуРасписаниюОрганизаций.Валюта4, | НадбавкиПоШтатномуРасписаниюОрганизаций.Валюта5, | НадбавкиПоШтатномуРасписаниюОрганизаций.Валюта6, | НадбавкиПоШтатномуРасписаниюОрганизаций.Должность, | НадбавкиПоШтатномуРасписаниюОрганизаций.ПодразделениеОрганизации, | ВЫБОР | КОГДА НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель1 = 0 | И НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель2 = 0 | И НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель3 = 0 | И НадбавкиПоШтатномуРасписаниюОрганизаций.Показатель4 = 0 | ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Изменить) | КОНЕЦ | ИЗ | РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций КАК НадбавкиПоШтатномуРасписаниюОрганизаций | ГДЕ | НадбавкиПоШтатномуРасписаниюОрганизаций.Период > &парамНачало | И НадбавкиПоШтатномуРасписаниюОрганизаций.Период <= &парамКонец | И НадбавкиПоШтатномуРасписаниюОрганизаций.ПодразделениеОрганизации В | (ВЫБРАТЬ | ДвиженияРаботников.ПодразделениеОрганизации | ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников)) КАК ШтатноеРасписание | ПО Работники.ПодразделениеОрганизации = ШтатноеРасписание.ПодразделениеОрганизации | И Работники.Должность = ШтатноеРасписание.Должность | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПлановыеНачисления.Сотрудник КАК Сотрудник, | ПлановыеНачисления.СотрудникНаименование, | ПлановыеНачисления.Физлицо, | ПлановыеНачисления.Период, | ПлановыеНачисления.Подходит, | ПлановыеНачисления.ПериодРаботники, | ПлановыеНачисления.ПериодНачисления, | ПлановыеНачисления.ОсновноеНачисление, | ПлановыеНачисления.ВидРасчета, | ПлановыеНачисления.ВидРасчетаНаименование, | ПлановыеНачисления.ВидРасчетаВидСтажа, | ПлановыеНачисления.ВидРасчетаТребуетВводаТарифногоРазряда, | ПлановыеНачисления.ВидРасчетаКоэффициентСтажа, | ПлановыеНачисления.СпособРасчета, | ПлановыеНачисления.НачисляетсяВЦеломЗаМесяц, | ПлановыеНачисления.ВидВремени, | ПлановыеНачисления.Действие, | ПлановыеНачисления.КодВычета, | ПлановыеНачисления.Показатель1, | ПлановыеНачисления.Показатель2, | ПлановыеНачисления.Показатель3, | ПлановыеНачисления.Показатель4, | ПлановыеНачисления.Показатель5, | ПлановыеНачисления.Показатель6, | ПлановыеНачисления.Валюта1, | ПлановыеНачисления.Валюта2, | ПлановыеНачисления.Валюта3, | ПлановыеНачисления.Валюта4, | ПлановыеНачисления.Валюта5, | ПлановыеНачисления.Валюта6, | ПлановыеНачисления.ДатаНачалаСобытия, | ПлановыеНачисления.ПодразделениеОрганизации, | ПлановыеНачисления.ГрафикРаботы, | ПлановыеНачисления.СуммированныйУчетРабочегоВремени, | ПлановыеНачисления.ДлительностьРабочейНедели, | ПлановыеНачисления.ВидГрафика, | ПлановыеНачисления.Должность, | ПлановыеНачисления.ВидАттестата |ПОМЕСТИТЬ ВТРаботникиИНачисления |ИЗ | ВТРаботникиИНачисленияПлановыеНачисления КАК ПлановыеНачисления | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НачисленияПоШР.Сотрудник, | НачисленияПоШР.СотрудникНаименование, | НачисленияПоШР.Физлицо, | НачисленияПоШР.Период, | НачисленияПоШР.Подходит, | НачисленияПоШР.ПериодРаботники, | НачисленияПоШР.ПериодНачисления, | НачисленияПоШР.ОсновноеНачисление, | НачисленияПоШР.ВидРасчета, | НачисленияПоШР.ВидРасчетаНаименование, | НачисленияПоШР.ВидРасчетаВидСтажа, | НачисленияПоШР.ВидРасчетаТребуетВводаТарифногоРазряда, | НачисленияПоШР.ВидРасчетаКоэффициентСтажа, | НачисленияПоШР.СпособРасчета, | НачисленияПоШР.НачисляетсяВЦеломЗаМесяц, | НачисленияПоШР.ВидВремени, | НачисленияПоШР.Действие, | НачисленияПоШР.КодВычета, | НачисленияПоШР.Показатель1, | НачисленияПоШР.Показатель2, | НачисленияПоШР.Показатель3, | НачисленияПоШР.Показатель4, | НачисленияПоШР.Показатель5, | НачисленияПоШР.Показатель6, | НачисленияПоШР.Валюта1, | НачисленияПоШР.Валюта2, | НачисленияПоШР.Валюта3, | НачисленияПоШР.Валюта4, | НачисленияПоШР.Валюта5, | НачисленияПоШР.Валюта6, | НачисленияПоШР.ДатаНачалаСобытия, | НачисленияПоШР.ПодразделениеОрганизации, | НачисленияПоШР.ГрафикРаботы, | НачисленияПоШР.СуммированныйУчетРабочегоВремени, | НачисленияПоШР.ДлительностьРабочейНедели, | НачисленияПоШР.ВидГрафика, | НачисленияПоШР.Должность, | NULL |ИЗ | ВТНачисленияПоШР КАК НачисленияПоШР | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ПлановыеНачисления.ВидРасчета, | ПлановыеНачисления.Физлицо"; Запрос.Выполнить(); //получим все невводимые показатели Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СписокНачислений.Сотрудник КАК Сотрудник, | СписокНачислений.Период, | СписокНачислений.ПериодРаботники, | СписокНачислений.ПериодНачисления, | ВводимыеПоказатели.Показатель КАК Показатель, | ВЫБОР | КОГДА ВводимыеПоказатели.НомерСтроки = 1 | ТОГДА СписокНачислений.Показатель1 | КОГДА ВводимыеПоказатели.НомерСтроки = 2 | ТОГДА СписокНачислений.Показатель2 | КОГДА ВводимыеПоказатели.НомерСтроки = 3 | ТОГДА СписокНачислений.Показатель3 | КОГДА ВводимыеПоказатели.НомерСтроки = 4 | ТОГДА СписокНачислений.Показатель4 | КОГДА ВводимыеПоказатели.НомерСтроки = 5 | ТОГДА СписокНачислений.Показатель5 | КОГДА ВводимыеПоказатели.НомерСтроки = 6 | ТОГДА СписокНачислений.Показатель6 | КОНЕЦ КАК ЗначениеПоказателя |ПОМЕСТИТЬ ВТЗначенияВводимыхКадровыхПоказателей |ИЗ | ВТРаботникиИНачисления КАК СписокНачислений | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТВводимыеВПлановыхНачисленияхПоказатели КАК ВводимыеПоказатели | ПО СписокНачислений.ВидРасчета = ВводимыеПоказатели.Ссылка | |ИНДЕКСИРОВАТЬ ПО | Показатель |"; Запрос.Выполнить(); КонецЕсли; // таблица Показатели // видам начислений приписываются введенные пользователями для каждого сотрудника значения показателей // // Поля: // ВидРасчета // Сотрудник // Показатель1,2,...,6 - значения соответствующих показателей // Валюта // Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет Тогда Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиВидовРасчета.Ссылка КАК ВидРасчета, | ПоказателиВидовРасчета.Показатель1.ТипПоказателя КАК ТипПоказателя1, | ПоказателиВидовРасчета.Показатель2.ТипПоказателя КАК ТипПоказателя2, | ПоказателиВидовРасчета.Показатель3.ТипПоказателя КАК ТипПоказателя3, | ПоказателиВидовРасчета.Показатель4.ТипПоказателя КАК ТипПоказателя4, | ПоказателиВидовРасчета.Показатель5.ТипПоказателя КАК ТипПоказателя5, | ПоказателиВидовРасчета.Показатель6.ТипПоказателя КАК ТипПоказателя6, | ПоказателиВидовРасчета.Показатель1 КАК Показатель1, | ПоказателиВидовРасчета.Показатель2 КАК Показатель2, | ПоказателиВидовРасчета.Показатель3 КАК Показатель3, | ПоказателиВидовРасчета.Показатель4 КАК Показатель4, | ПоказателиВидовРасчета.Показатель5 КАК Показатель5, | ПоказателиВидовРасчета.Показатель6 КАК Показатель6, | ПоказателиВидовРасчета.Показатель1.ВозможностьИзменения КАК ВозможностьИзменения1, | ПоказателиВидовРасчета.Показатель2.ВозможностьИзменения КАК ВозможностьИзменения2, | ПоказателиВидовРасчета.Показатель3.ВозможностьИзменения КАК ВозможностьИзменения3, | ПоказателиВидовРасчета.Показатель4.ВозможностьИзменения КАК ВозможностьИзменения4, | ПоказателиВидовРасчета.Показатель5.ВозможностьИзменения КАК ВозможностьИзменения5, | ПоказателиВидовРасчета.Показатель6.ВозможностьИзменения КАК ВозможностьИзменения6 |ПОМЕСТИТЬ ВТПоказателиИВР |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка, | Показатели1.Показатель КАК Показатель1, | Показатели2.Показатель КАК Показатель2, | Показатели3.Показатель КАК Показатель3, | Показатели4.Показатель КАК Показатель4, | Показатели5.Показатель КАК Показатель5, | Показатели6.Показатель КАК Показатель6 | ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка | И (Показатели1.НомерСтроки = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка | И (Показатели2.НомерСтроки = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка | И (Показатели3.НомерСтроки = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка | И (Показатели4.НомерСтроки = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка | И (Показатели5.НомерСтроки = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка | И (Показатели6.НомерСтроки = 6) | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ДополнительныеНачисленияОрганизаций.Ссылка, | Показатели1.Показатель, | Показатели2.Показатель, | Показатели3.Показатель, | Показатели4.Показатель, | Показатели5.Показатель, | Показатели6.Показатель | ИЗ | ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ДополнительныеНачисленияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели1 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка | И (Показатели1.НомерСтроки = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели2 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка | И (Показатели2.НомерСтроки = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели3 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка | И (Показатели3.НомерСтроки = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели4 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка | И (Показатели4.НомерСтроки = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели5 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка | И (Показатели5.НомерСтроки = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели6 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка | И (Показатели6.НомерСтроки = 6) | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | УдержанияОрганизаций.Ссылка, | Показатели1.Показатель, | Показатели2.Показатель, | Показатели3.Показатель, | Показатели4.Показатель, | Показатели5.Показатель, | Показатели6.Показатель | ИЗ | ПланВидовРасчета.УдержанияОрганизаций КАК УдержанияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели1 | ПО УдержанияОрганизаций.Ссылка = Показатели1.Ссылка | И (Показатели1.НомерСтроки = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели2 | ПО УдержанияОрганизаций.Ссылка = Показатели2.Ссылка | И (Показатели2.НомерСтроки = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели3 | ПО УдержанияОрганизаций.Ссылка = Показатели3.Ссылка | И (Показатели3.НомерСтроки = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели4 | ПО УдержанияОрганизаций.Ссылка = Показатели4.Ссылка | И (Показатели4.НомерСтроки = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели5 | ПО УдержанияОрганизаций.Ссылка = Показатели5.Ссылка | И (Показатели5.НомерСтроки = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели6 | ПО УдержанияОрганизаций.Ссылка = Показатели6.Ссылка | И (Показатели6.НомерСтроки = 6)) КАК ПоказателиВидовРасчета | |ИНДЕКСИРОВАТЬ ПО | Показатель1, | Показатель2, | Показатель3, | Показатель4, | Показатель5, | Показатель6 |"; Запрос.Выполнить(); ИначеЕсли ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений Тогда Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиВидовРасчета.Ссылка КАК ВидРасчета, | ПоказателиВидовРасчета.Показатель1.ТипПоказателя КАК ТипПоказателя1, | ПоказателиВидовРасчета.Показатель2.ТипПоказателя КАК ТипПоказателя2, | ПоказателиВидовРасчета.Показатель3.ТипПоказателя КАК ТипПоказателя3, | ПоказателиВидовРасчета.Показатель4.ТипПоказателя КАК ТипПоказателя4, | ПоказателиВидовРасчета.Показатель5.ТипПоказателя КАК ТипПоказателя5, | ПоказателиВидовРасчета.Показатель6.ТипПоказателя КАК ТипПоказателя6, | ПоказателиВидовРасчета.Показатель1 КАК Показатель1, | ПоказателиВидовРасчета.Показатель2 КАК Показатель2, | ПоказателиВидовРасчета.Показатель3 КАК Показатель3, | ПоказателиВидовРасчета.Показатель4 КАК Показатель4, | ПоказателиВидовРасчета.Показатель5 КАК Показатель5, | ПоказателиВидовРасчета.Показатель6 КАК Показатель6, | ПоказателиВидовРасчета.Показатель1.ВозможностьИзменения КАК ВозможностьИзменения1, | ПоказателиВидовРасчета.Показатель2.ВозможностьИзменения КАК ВозможностьИзменения2, | ПоказателиВидовРасчета.Показатель3.ВозможностьИзменения КАК ВозможностьИзменения3, | ПоказателиВидовРасчета.Показатель4.ВозможностьИзменения КАК ВозможностьИзменения4, | ПоказателиВидовРасчета.Показатель5.ВозможностьИзменения КАК ВозможностьИзменения5, | ПоказателиВидовРасчета.Показатель6.ВозможностьИзменения КАК ВозможностьИзменения6 |ПОМЕСТИТЬ ВТПоказателиИВР |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисленияОрганизаций.Ссылка КАК Ссылка, | Показатели1.Показатель КАК Показатель1, | Показатели2.Показатель КАК Показатель2, | Показатели3.Показатель КАК Показатель3, | Показатели4.Показатель КАК Показатель4, | Показатели5.Показатель КАК Показатель5, | Показатели6.Показатель КАК Показатель6 | ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка | И (Показатели1.НомерСтроки = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка | И (Показатели2.НомерСтроки = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка | И (Показатели3.НомерСтроки = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка | И (Показатели4.НомерСтроки = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка | И (Показатели5.НомерСтроки = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6 | ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка | И (Показатели6.НомерСтроки = 6) | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ДополнительныеНачисленияОрганизаций.Ссылка, | Показатели1.Показатель, | Показатели2.Показатель, | Показатели3.Показатель, | Показатели4.Показатель, | Показатели5.Показатель, | Показатели6.Показатель | ИЗ | ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ДополнительныеНачисленияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели1 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка | И (Показатели1.НомерСтроки = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели2 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка | И (Показатели2.НомерСтроки = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели3 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели3.Ссылка | И (Показатели3.НомерСтроки = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели4 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели4.Ссылка | И (Показатели4.НомерСтроки = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели5 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели5.Ссылка | И (Показатели5.НомерСтроки = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.Показатели КАК Показатели6 | ПО ДополнительныеНачисленияОрганизаций.Ссылка = Показатели6.Ссылка | И (Показатели6.НомерСтроки = 6) |) КАК ПоказателиВидовРасчета | |ИНДЕКСИРОВАТЬ ПО | Показатель1, | Показатель2, | Показатель3, | Показатель4, | Показатель5, | Показатель6 |"; Запрос.Выполнить(); Иначе Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиВидовРасчета.Ссылка КАК ВидРасчета, | ПоказателиВидовРасчета.Показатель1.ТипПоказателя КАК ТипПоказателя1, | ПоказателиВидовРасчета.Показатель2.ТипПоказателя КАК ТипПоказателя2, | ПоказателиВидовРасчета.Показатель3.ТипПоказателя КАК ТипПоказателя3, | ПоказателиВидовРасчета.Показатель4.ТипПоказателя КАК ТипПоказателя4, | ПоказателиВидовРасчета.Показатель5.ТипПоказателя КАК ТипПоказателя5, | ПоказателиВидовРасчета.Показатель6.ТипПоказателя КАК ТипПоказателя6, | ПоказателиВидовРасчета.Показатель1 КАК Показатель1, | ПоказателиВидовРасчета.Показатель2 КАК Показатель2, | ПоказателиВидовРасчета.Показатель3 КАК Показатель3, | ПоказателиВидовРасчета.Показатель4 КАК Показатель4, | ПоказателиВидовРасчета.Показатель5 КАК Показатель5, | ПоказателиВидовРасчета.Показатель6 КАК Показатель6, | ПоказателиВидовРасчета.Показатель1.ВозможностьИзменения КАК ВозможностьИзменения1, | ПоказателиВидовРасчета.Показатель2.ВозможностьИзменения КАК ВозможностьИзменения2, | ПоказателиВидовРасчета.Показатель3.ВозможностьИзменения КАК ВозможностьИзменения3, | ПоказателиВидовРасчета.Показатель4.ВозможностьИзменения КАК ВозможностьИзменения4, | ПоказателиВидовРасчета.Показатель5.ВозможностьИзменения КАК ВозможностьИзменения5, | ПоказателиВидовРасчета.Показатель6.ВозможностьИзменения КАК ВозможностьИзменения6 |ПОМЕСТИТЬ ВТПоказателиИВР |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | УдержанияОрганизаций.Ссылка КАК Ссылка, | Показатели1.Показатель КАК Показатель1, | Показатели2.Показатель КАК Показатель2, | Показатели3.Показатель КАК Показатель3, | Показатели4.Показатель КАК Показатель4, | Показатели5.Показатель КАК Показатель5, | Показатели6.Показатель КАК Показатель6 | ИЗ | ПланВидовРасчета.УдержанияОрганизаций КАК УдержанияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели1 | ПО УдержанияОрганизаций.Ссылка = Показатели1.Ссылка | И (Показатели1.НомерСтроки = 1) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели2 | ПО УдержанияОрганизаций.Ссылка = Показатели2.Ссылка | И (Показатели2.НомерСтроки = 2) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели3 | ПО УдержанияОрганизаций.Ссылка = Показатели3.Ссылка | И (Показатели3.НомерСтроки = 3) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели4 | ПО УдержанияОрганизаций.Ссылка = Показатели4.Ссылка | И (Показатели4.НомерСтроки = 4) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели5 | ПО УдержанияОрганизаций.Ссылка = Показатели5.Ссылка | И (Показатели5.НомерСтроки = 5) | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.УдержанияОрганизаций.Показатели КАК Показатели6 | ПО УдержанияОрганизаций.Ссылка = Показатели6.Ссылка | И (Показатели6.НомерСтроки = 6)) КАК ПоказателиВидовРасчета | |ИНДЕКСИРОВАТЬ ПО | Показатель1, | Показатель2, | Показатель3, | Показатель4, | Показатель5, | Показатель6"; Запрос.Выполнить(); КонецЕсли; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | ВложеныйЗапрос.ВидРасчета КАК ВидРасчета, | ВложеныйЗапрос.Сотрудник КАК Сотрудник, | ВложеныйЗапрос.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя1) КАК ТипПоказателя1, | МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения1) КАК ВозможностьИзменения1, | МАКСИМУМ(ВложеныйЗапрос.Показатель1) КАК Показатель1, | МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя2) КАК ТипПоказателя2, | МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения2) КАК ВозможностьИзменения2, | МАКСИМУМ(ВложеныйЗапрос.Показатель2) КАК Показатель2, | МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя3) КАК ТипПоказателя3, | МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения3) КАК ВозможностьИзменения3, | МАКСИМУМ(ВложеныйЗапрос.Показатель3) КАК Показатель3, | МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя4) КАК ТипПоказателя4, | МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения4) КАК ВозможностьИзменения4, | МАКСИМУМ(ВложеныйЗапрос.Показатель4) КАК Показатель4, | МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя5) КАК ТипПоказателя5, | МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения5) КАК ВозможностьИзменения5, | МАКСИМУМ(ВложеныйЗапрос.Показатель5) КАК Показатель5, | МАКСИМУМ(ВложеныйЗапрос.ТипПоказателя6) КАК ТипПоказателя6, | МАКСИМУМ(ВложеныйЗапрос.ВозможностьИзменения6) КАК ВозможностьИзменения6, | МАКСИМУМ(ВложеныйЗапрос.Показатель6) КАК Показатель6, | МАКСИМУМ(ВложеныйЗапрос.Валюта1) КАК Валюта1, | МАКСИМУМ(ВложеныйЗапрос.Валюта2) КАК Валюта2, | МАКСИМУМ(ВложеныйЗапрос.Валюта3) КАК Валюта3, | МАКСИМУМ(ВложеныйЗапрос.Валюта4) КАК Валюта4, | МАКСИМУМ(ВложеныйЗапрос.Валюта5) КАК Валюта5, | МАКСИМУМ(ВложеныйЗапрос.Валюта6) КАК Валюта6 |ПОМЕСТИТЬ ВТПоказатели |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиИВР.ВидРасчета КАК ВидРасчета, | ЗначенияПоказателей1.Сотрудник КАК Сотрудник, | ЗначенияПоказателей1.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | ПоказателиИВР.ТипПоказателя1 КАК ТипПоказателя1, | ПоказателиИВР.ВозможностьИзменения1 КАК ВозможностьИзменения1, | ЗначенияПоказателей1.Значение КАК Показатель1, | NULL КАК ТипПоказателя2, | NULL КАК ВозможностьИзменения2, | NULL КАК Показатель2, | NULL КАК ТипПоказателя3, | NULL КАК ВозможностьИзменения3, | NULL КАК Показатель3, | NULL КАК ТипПоказателя4, | NULL КАК ВозможностьИзменения4, | NULL КАК Показатель4, | NULL КАК ТипПоказателя5, | NULL КАК ВозможностьИзменения5, | NULL КАК Показатель5, | NULL КАК ТипПоказателя6, | NULL КАК ВозможностьИзменения6, | NULL КАК Показатель6, | ЗначенияПоказателей1.Валюта КАК Валюта1, | NULL КАК Валюта2, | NULL КАК Валюта3, | NULL КАК Валюта4, | NULL КАК Валюта5, | NULL КАК Валюта6 | ИЗ | ВТПоказателиИВР КАК ПоказателиИВР | ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей1 | ПО ПоказателиИВР.Показатель1 = ЗначенияПоказателей1.Показатель | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиИВР.ВидРасчета, | ЗначенияПоказателей2.Сотрудник, | ЗначенияПоказателей2.ПодразделениеОрганизации, | NULL, | NULL, | NULL, | ПоказателиИВР.ТипПоказателя2, | ПоказателиИВР.ВозможностьИзменения2, | ЗначенияПоказателей2.Значение, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ЗначенияПоказателей2.Валюта, | NULL, | NULL, | NULL, | NULL | ИЗ | ВТПоказателиИВР КАК ПоказателиИВР | ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей2 | ПО ПоказателиИВР.Показатель2 = ЗначенияПоказателей2.Показатель | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиИВР.ВидРасчета, | ЗначенияПоказателей3.Сотрудник, | ЗначенияПоказателей3.ПодразделениеОрганизации, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ПоказателиИВР.ТипПоказателя3, | ПоказателиИВР.ВозможностьИзменения3, | ЗначенияПоказателей3.Значение, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ЗначенияПоказателей3.Валюта, | NULL, | NULL, | NULL | ИЗ | ВТПоказателиИВР КАК ПоказателиИВР | ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей3 | ПО ПоказателиИВР.Показатель3 = ЗначенияПоказателей3.Показатель | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиИВР.ВидРасчета, | ЗначенияПоказателей4.Сотрудник, | ЗначенияПоказателей4.ПодразделениеОрганизации, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ПоказателиИВР.ТипПоказателя4, | ПоказателиИВР.ВозможностьИзменения4, | ЗначенияПоказателей4.Значение, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ЗначенияПоказателей4.Валюта, | NULL, | NULL | ИЗ | ВТПоказателиИВР КАК ПоказателиИВР | ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей4 | ПО ПоказателиИВР.Показатель4 = ЗначенияПоказателей4.Показатель | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиИВР.ВидРасчета, | ЗначенияПоказателей5.Сотрудник, | ЗначенияПоказателей5.ПодразделениеОрганизации, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ПоказателиИВР.ТипПоказателя5, | ПоказателиИВР.ВозможностьИзменения5, | ЗначенияПоказателей5.Значение, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ЗначенияПоказателей5.Валюта, | NULL | ИЗ | ВТПоказателиИВР КАК ПоказателиИВР | ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей5 | ПО ПоказателиИВР.Показатель5 = ЗначенияПоказателей5.Показатель | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоказателиИВР.ВидРасчета, | ЗначенияПоказателей6.Сотрудник, | ЗначенияПоказателей6.ПодразделениеОрганизации, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | NULL, | ПоказателиИВР.ТипПоказателя6, | ПоказателиИВР.ВозможностьИзменения6, | ЗначенияПоказателей6.Значение, | NULL, | NULL, | NULL, | NULL, | NULL, | ЗначенияПоказателей6.Валюта | ИЗ | ВТПоказателиИВР КАК ПоказателиИВР | ЛЕВОЕ СОЕДИНЕНИЕ ВТЗначенияПоказателей КАК ЗначенияПоказателей6 | ПО ПоказателиИВР.Показатель6 = ЗначенияПоказателей6.Показатель) КАК ВложеныйЗапрос |ГДЕ | (ВложеныйЗапрос.Показатель1 <> 0 | ИЛИ ВложеныйЗапрос.Показатель2 <> 0 | ИЛИ ВложеныйЗапрос.Показатель3 <> 0 | ИЛИ ВложеныйЗапрос.Показатель4 <> 0 | ИЛИ ВложеныйЗапрос.Показатель5 <> 0 | ИЛИ ВложеныйЗапрос.Показатель6 <> 0) | |СГРУППИРОВАТЬ ПО | ВложеныйЗапрос.ВидРасчета, | ВложеныйЗапрос.Сотрудник, | ВложеныйЗапрос.ПодразделениеОрганизации | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ПодразделениеОрганизации, | ВидРасчета |"; Запрос.Выполнить(); МассивВалютСНезаданнымКурсом = Новый Соответствие; // АВТОЗАПОЛНЕНИЕ ТЧ "Начисления", "ДополнительныеНачисления" и "ДоговорыНаВыполнениеРабот" Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда // таблица ОсновныеНачисления // выборка сведений об уже выполненных начислениях за отработанное время - для выбрасывания // ранее "обслуженных" работников // Поля: // Сотрудник, // ПодразделениеОрганизации // Если ПериодНачисления = Перечисления.ПериодНачисленияЗарплаты.ПерваяПоловинаТекущегоМесяца Тогда Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | РасчетПервойПоловиныМесяца.Сотрудник КАК Сотрудник, | ТаблицаДвиженийРаботников.ПодразделениеОрганизации |ПОМЕСТИТЬ ВТОсновныеНачисления |ИЗ | РегистрНакопления.РасчетПервойПоловиныМесяца КАК РасчетПервойПоловиныМесяца | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ТаблицаДвиженийРаботников | ПО РасчетПервойПоловиныМесяца.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник |ГДЕ | РасчетПервойПоловиныМесяца.Организация = &парамОрганизация | И РасчетПервойПоловиныМесяца.Регистратор <> &парамРегистратор | И НАЧАЛОПЕРИОДА(РасчетПервойПоловиныМесяца.Период, МЕСЯЦ) = &парамНачалоМесяца | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); Иначе Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисления.Сотрудник КАК Сотрудник, | ОсновныеНачисления.ПодразделениеОрганизации КАК ПодразделениеОрганизации |ПОМЕСТИТЬ ВТОсновныеНачисления |ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ТаблицаДвиженийРаботников | ПО ОсновныеНачисления.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник |ГДЕ | ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации | И ОсновныеНачисления.ПериодДействияКонец <= &парамКонец | И ОсновныеНачисления.ПериодДействияНачало >= &парамНачало | И ОсновныеНачисления.Организация = &парамГоловнаяОрганизация | И (ОсновныеНачисления.ВидРасчета.ЗачетОтработанногоВремени | И ОсновныеНачисления.ВидРасчета.ЗачетНормыВремени | ИЛИ ОсновныеНачисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОтпускПоУходуЗаРебенкомБезОплаты)) | И (НЕ ОсновныеНачисления.Сторно) | И ОсновныеНачисления.Регистратор <> &парамРегистратор | И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |"; Запрос.Выполнить(); КонецЕсли; // НормаВремениПоСводнымИндивидуальнымГрафикам // Сотрудники, для которых введены сводные данные об их графике // // Поля: // Сотрудник // ЧасовЗаМесяц - указанное пользователем значение // Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СписокРаботников.Сотрудник КАК Сотрудник, | СводныеИндивидуальныеГрафики.Часов КАК ЧасовЗаМесяц |ПОМЕСТИТЬ ВТНормаВремениПоСводнымИндивидуальнымГрафикам |ИЗ | ВТСписокРаботников КАК СписокРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики | ПО СписокРаботников.Сотрудник = СводныеИндивидуальныеГрафики.Сотрудник | И (СводныеИндивидуальныеГрафики.Месяц = &парамНачалоМесяца) |ГДЕ | СводныеИндивидуальныеГрафики.Сотрудник ЕСТЬ НЕ NULL | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); // НормаВремениПоЕжедневнымИндивидуальнымГрафикам // Таблица сотрудников и нормы времени в часах, введенной индивидуальными графиками // // Поля: // Сотрудник, // ЧасовЗаМесяц - суммируем все часы рабочего времени // // Описание: // // выбираем данные из рег-ра ГрафикиРаботыПоВидамВремени, // введенные доками ВводИндивидуальныхГрафиков, т.е. по строкам с выставленным флажком План Запрос.Текст = "ВЫБРАТЬ | СписокРаботников.Сотрудник КАК Сотрудник, | СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ЧасовЗаМесяц |ПОМЕСТИТЬ ВТНормаВремениПоЕжедневнымИндивидуальнымГрафикам |ИЗ | ВТСписокРаботников КАК СписокРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени | ПО СписокРаботников.Сотрудник = ГрафикиРаботыПоВидамВремени.ГрафикРаботы | И (ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)) | И (ГрафикиРаботыПоВидамВремени.Месяц = &парамНачалоМесяца) | И (ГрафикиРаботыПоВидамВремени.План) |ГДЕ | ГрафикиРаботыПоВидамВремени.ГрафикРаботы ЕСТЬ НЕ NULL | |СГРУППИРОВАТЬ ПО | СписокРаботников.Сотрудник | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); // НормаВремениПоОбщимГрафикам // Таблица сотрудников и нормы времени в часах по общим графикам // // Поля: // Сотрудник, // ЧасовЗаМесяц - суммируем все часы рабочего времени // // Описание: // // выбираем данные из рег-ра ГрафикиРаботыПоВидамВремени для общих графиков Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | СписокРаботников.Сотрудник КАК Сотрудник, | СписокРаботников.ГрафикРаботы, | СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ЧасовЗаМесяц |ПОМЕСТИТЬ ВТНормаВремениПоОбщимГрафикам |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | СписокРаботников.Сотрудник КАК Сотрудник, | ВЫБОР | КОГДА СписокРаботников.ГрафикРаботы.СокращенноеРабочееВремя | И СписокРаботников.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка) | ТОГДА СписокРаботников.ГрафикРаботы.ГрафикПолногоРабочегоВремени | ИНАЧЕ СписокРаботников.ГрафикРаботы | КОНЕЦ КАК ГрафикРаботыНорма, | СписокРаботников.ГрафикРаботы КАК ГрафикРаботы | ИЗ | ВТДвиженияРаботников КАК СписокРаботников) КАК СписокРаботников | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени | ПО (ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)) | И (ГрафикиРаботыПоВидамВремени.Месяц = &парамНачалоМесяца) | И (ГрафикиРаботыПоВидамВремени.План) | И СписокРаботников.ГрафикРаботыНорма = ГрафикиРаботыПоВидамВремени.ГрафикРаботы |ГДЕ | ГрафикиРаботыПоВидамВремени.ГрафикРаботы ЕСТЬ НЕ NULL | |СГРУППИРОВАТЬ ПО | СписокРаботников.Сотрудник, | СписокРаботников.ГрафикРаботы | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ДатыСтажа.Сотрудник КАК Сотрудник, | ДатыСтажа.Физлицо, | ДатыСтажа.ПериодРаботники, | ДатыСтажа.ПериодСеверногоСтажа КАК ДатаРегистрацииСеверногоСтажа, | СведенияОСтажеРаботыНаСевере.ПорядокНачисленияСеверныхНадбавок, | СведенияОСтажеРаботыНаСевере.НачальныйПроцентСевернойНадбавки, | СведенияОСтажеРаботыНаСевере.СеверныйСтажМесяцев, | СведенияОСтажеРаботыНаСевере.СеверныйСтажДней |ПОМЕСТИТЬ ВТДанныеОСеверномСтаже |ИЗ | (ВЫБРАТЬ | СписокНачислений.Сотрудник КАК Сотрудник, | СписокНачислений.Физлицо КАК Физлицо, | СписокНачислений.ПериодРаботники КАК ПериодРаботники, | МАКСИМУМ(СведенияОСтажеРаботыНаСевере.Период) КАК ПериодСеверногоСтажа | ИЗ | ВТРаботникиИНачисления КАК СписокНачислений | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСтажеРаботыНаСевере КАК СведенияОСтажеРаботыНаСевере | ПО СписокНачислений.Физлицо = СведенияОСтажеРаботыНаСевере.ФизЛицо | И СписокНачислений.ПериодРаботники >= СведенияОСтажеРаботыНаСевере.Период | | СГРУППИРОВАТЬ ПО | СписокНачислений.Сотрудник, | СписокНачислений.Физлицо, | СписокНачислений.ПериодРаботники) КАК ДатыСтажа | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСтажеРаботыНаСевере КАК СведенияОСтажеРаботыНаСевере | ПО ДатыСтажа.Физлицо = СведенияОСтажеРаботыНаСевере.ФизЛицо | И ДатыСтажа.ПериодСеверногоСтажа = СведенияОСтажеРаботыНаСевере.Период | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); // РаботникиИНачисленияПоСхемамМотивации // Таблица движений работников и сведениями об их плановых начислениях // с добавленными значениями показателей, как введенными пользователями для расчета, так и // выбранными из строк плановых начислений, содержащих тарифные ставки по "основным" начислениям работника // // Поля: // Сотрудник // ВидРасчета - плановое начисление // Показатель1,...,6 - размеры показателей // СпособРасчета - способ расчета начисления // ОкладТариф - размер трифной ставки, если начисление ее содержит // ГрафикРаботы - график сотрудника // ВидГрафика, СуммированныйУчетРабочегоВремени, ДлительностьРабочейНедели - реквизиты графика сотрудника // // Описание: // // 1. // 2. // Запрос.Текст = "ВЫБРАТЬ | СписокНачислений.Сотрудник КАК Сотрудник, | СписокНачислений.СотрудникНаименование, | СписокНачислений.Физлицо, | СписокНачислений.ПодразделениеОрганизации, | СписокНачислений.Подходит, | СписокНачислений.Период, | СписокНачислений.ПериодРаботники, | СписокНачислений.ПериодНачисления, | СписокНачислений.ОсновноеНачисление, | СписокНачислений.ВидРасчета, | СписокНачислений.ВидРасчетаНаименование, | СписокНачислений.ВидРасчетаКоэффициентСтажа, | СписокНачислений.ВидРасчетаВидСтажа, | СписокНачислений.ВидРасчетаТребуетВводаТарифногоРазряда, | СписокНачислений.СпособРасчета, | СписокНачислений.НачисляетсяВЦеломЗаМесяц, | СписокНачислений.ВидВремени, | СписокНачислений.Действие, | СписокНачислений.КодВычета, | СписокНачислений.ДатаНачалаСобытия, | СписокНачислений.ГрафикРаботы, | СписокНачислений.СуммированныйУчетРабочегоВремени, | СписокНачислений.ДлительностьРабочейНедели, | СписокНачислений.ВидГрафика, | ВЫБОР | КОГДА СписокНачислений.Валюта1 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта1 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ПоказателиВведенныеПриРасчете.Валюта1 | ИНАЧЕ СписокНачислений.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА СписокНачислений.Валюта2 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта2 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ПоказателиВведенныеПриРасчете.Валюта2 | ИНАЧЕ СписокНачислений.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА СписокНачислений.Валюта3 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта3 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ПоказателиВведенныеПриРасчете.Валюта3 | ИНАЧЕ СписокНачислений.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА СписокНачислений.Валюта4 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта4 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ПоказателиВведенныеПриРасчете.Валюта4 | ИНАЧЕ СписокНачислений.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА СписокНачислений.Валюта5 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта5 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ПоказателиВведенныеПриРасчете.Валюта5 | ИНАЧЕ СписокНачислений.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА СписокНачислений.Валюта6 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта6 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ПоказателиВведенныеПриРасчете.Валюта6 | ИНАЧЕ СписокНачислений.Валюта6 | КОНЕЦ КАК Валюта6, | ВЫБОР | КОГДА СписокНачислений.Валюта1 ЕСТЬ NULL | ИЛИ СписокНачислений.Валюта1 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ ПВалюты1.Курс | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты1.Курс | КОНЕЦ | КОНЕЦ КАК КурсВалюты1, | ВЫБОР | КОГДА СписокНачислений.Валюта2 ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ ПВалюты2.Курс | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты2.Курс | КОНЕЦ | КОНЕЦ КАК КурсВалюты2, | ВЫБОР | КОГДА СписокНачислений.Валюта3 ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ ПВалюты3.Курс | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты3.Курс | КОНЕЦ | КОНЕЦ КАК КурсВалюты3, | ВЫБОР | КОГДА СписокНачислений.Валюта4 ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ ПВалюты4.Курс | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты4.Курс | КОНЕЦ | КОНЕЦ КАК КурсВалюты4, | ВЫБОР | КОГДА СписокНачислений.Валюта5 ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ ПВалюты5.Курс | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты5.Курс | КОНЕЦ | КОНЕЦ КАК КурсВалюты5, | ВЫБОР | КОГДА СписокНачислений.Валюта6 ЕСТЬ NULL | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ ПВалюты6.Курс | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты6.Курс | КОНЕЦ | КОНЕЦ КАК КурсВалюты6, | ВЫБОР | КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL | И ПоказателиВведенныеПриРасчете.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА ПоказателиВведенныеПриРасчете.Показатель1 ЕСТЬ НЕ NULL | ИЛИ (ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически)) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 1 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА ПоказателиВведенныеПриРасчете.Показатель1 | ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель1 * ЕСТЬNULL(ПВалюты1.Курс / ПВалюты1.Кратность, 0) | КОНЕЦ | КОГДА (СписокНачислений.Показатель1 = 0 | ИЛИ СписокНачислений.Показатель1 ЕСТЬ NULL ) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 1 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 1) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель1 | КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель1 | ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА СписокНачислений.Показатель2 ЕСТЬ NULL | И ПоказателиВведенныеПриРасчете.Показатель2 ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ NULL | ИЛИ ЗначенияВводимыхКадровыхПоказателей.НомерСтроки <> 2) | ТОГДА 0 | КОГДА ПоказателиВведенныеПриРасчете.Показатель2 ЕСТЬ НЕ NULL | ИЛИ (ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически)) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 2 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА ПоказателиВведенныеПриРасчете.Показатель2 | ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель2 * ЕСТЬNULL(ПВалюты2.Курс / ПВалюты2.Кратность, 0) | КОНЕЦ | КОГДА (СписокНачислений.Показатель2 = 0 | ИЛИ СписокНачислений.Показатель2 ЕСТЬ NULL ) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 2 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 2) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель2 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель2 | КОГДА СписокНачислений.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель2 | ИНАЧЕ СписокНачислений.Показатель2 * ЕСТЬNULL(Валюты2.Курс / Валюты2.Кратность, 0) | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА СписокНачислений.Показатель3 ЕСТЬ NULL | И ПоказателиВведенныеПриРасчете.Показатель3 ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ NULL | ИЛИ ЗначенияВводимыхКадровыхПоказателей.НомерСтроки <> 3) | ТОГДА 0 | КОГДА ПоказателиВведенныеПриРасчете.Показатель3 ЕСТЬ НЕ NULL | ИЛИ (ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически)) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 3 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА ПоказателиВведенныеПриРасчете.Показатель3 | ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель3 * ЕСТЬNULL(ПВалюты3.Курс / ПВалюты3.Кратность, 0) | КОНЕЦ | КОГДА СписокНачислений.Показатель3 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 3 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 3) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель3 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель3 | КОГДА СписокНачислений.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель3 | ИНАЧЕ СписокНачислений.Показатель3 * ЕСТЬNULL(Валюты3.Курс / Валюты3.Кратность, 0) | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА СписокНачислений.Показатель4 ЕСТЬ NULL | И ПоказателиВведенныеПриРасчете.Показатель4 ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ NULL | ИЛИ ЗначенияВводимыхКадровыхПоказателей.НомерСтроки <> 4) | ТОГДА 0 | КОГДА ПоказателиВведенныеПриРасчете.Показатель4 ЕСТЬ НЕ NULL | ИЛИ (ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически)) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 4 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА ПоказателиВведенныеПриРасчете.Показатель4 | ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель4 * ЕСТЬNULL(ПВалюты3.Курс / ПВалюты4.Кратность, 0) | КОНЕЦ | КОГДА СписокНачислений.Показатель4 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 4 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 4) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель4 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель4 | КОГДА СписокНачислений.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель4 | ИНАЧЕ СписокНачислений.Показатель4 * ЕСТЬNULL(Валюты4.Курс / Валюты4.Кратность, 0) | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА СписокНачислений.Показатель5 ЕСТЬ NULL | И ПоказателиВведенныеПриРасчете.Показатель5 ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ NULL | ИЛИ ЗначенияВводимыхКадровыхПоказателей.НомерСтроки <> 5) | ТОГДА 0 | КОГДА ПоказателиВведенныеПриРасчете.Показатель5 ЕСТЬ НЕ NULL | ИЛИ (ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически)) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 5 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА ПоказателиВведенныеПриРасчете.Показатель5 | ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель5 * ЕСТЬNULL(ПВалюты5.Курс / ПВалюты5.Кратность, 0) | КОНЕЦ | КОГДА СписокНачислений.Показатель5 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 5 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 5) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель5 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель5 | КОГДА СписокНачислений.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель5 | ИНАЧЕ СписокНачислений.Показатель5 * ЕСТЬNULL(Валюты5.Курс / Валюты5.Кратность, 0) | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА СписокНачислений.Показатель6 ЕСТЬ NULL | И ПоказателиВведенныеПриРасчете.Показатель6 ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ NULL | ИЛИ ЗначенияВводимыхКадровыхПоказателей.НомерСтроки <> 6) | ТОГДА 0 | КОГДА ПоказателиВведенныеПриРасчете.Показатель6 ЕСТЬ НЕ NULL | ИЛИ (ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Периодически)) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 6 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА ПоказателиВведенныеПриРасчете.Показатель6 | ИНАЧЕ ПоказателиВведенныеПриРасчете.Показатель6 * ЕСТЬNULL(ПВалюты3.Курс / ПВалюты6.Кратность, 0) | КОНЕЦ | КОГДА СписокНачислений.Показатель6 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 6 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 6) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель6 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель6 | КОГДА СписокНачислений.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель6 | ИНАЧЕ СписокНачислений.Показатель6 * ЕСТЬNULL(Валюты6.Курс / Валюты6.Кратность, 0) | КОНЕЦ КАК Показатель6, | ПоказательТарифнойСтавки.Показатель КАК ВидТарифнойСтавки, | ВЫБОР | КОГДА ПоказательТарифнойСтавки.НомерСтроки = 1 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Показатель1 ЕСТЬ НЕ NULL | ТОГДА ПоказателиВведенныеПриРасчете.Показатель1 | КОГДА СписокНачислений.Показатель1 = 0 | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 1 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель1 | КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель1 | ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) | КОНЕЦ | КОГДА ПоказательТарифнойСтавки.НомерСтроки = 2 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Показатель2 ЕСТЬ НЕ NULL | ТОГДА ПоказателиВведенныеПриРасчете.Показатель2 | КОГДА СписокНачислений.Показатель2 = 0 | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 2 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель2 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель2 | КОГДА СписокНачислений.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель2 | ИНАЧЕ СписокНачислений.Показатель2 * ЕСТЬNULL(Валюты2.Курс / Валюты2.Кратность, 0) | КОНЕЦ | КОГДА ПоказательТарифнойСтавки.НомерСтроки = 3 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Показатель3 ЕСТЬ НЕ NULL | ТОГДА ПоказателиВведенныеПриРасчете.Показатель3 | КОГДА СписокНачислений.Показатель3 = 0 | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 3 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель3 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель3 | КОГДА СписокНачислений.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель3 | ИНАЧЕ СписокНачислений.Показатель3 * ЕСТЬNULL(Валюты3.Курс / Валюты3.Кратность, 0) | КОНЕЦ | КОГДА ПоказательТарифнойСтавки.НомерСтроки = 4 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Показатель4 ЕСТЬ НЕ NULL | ТОГДА ПоказателиВведенныеПриРасчете.Показатель4 | КОГДА СписокНачислений.Показатель4 = 0 | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 4 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель4 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель4 | КОГДА СписокНачислений.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель4 | ИНАЧЕ СписокНачислений.Показатель4 * ЕСТЬNULL(Валюты4.Курс / Валюты4.Кратность, 0) | КОНЕЦ | КОГДА ПоказательТарифнойСтавки.НомерСтроки = 5 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Показатель5 ЕСТЬ НЕ NULL | ТОГДА ПоказателиВведенныеПриРасчете.Показатель5 | КОГДА СписокНачислений.Показатель5 = 0 | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 5 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель5 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель5 | КОГДА СписокНачислений.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель5 | ИНАЧЕ СписокНачислений.Показатель5 * ЕСТЬNULL(Валюты5.Курс / Валюты5.Кратность, 0) | КОНЕЦ | КОГДА ПоказательТарифнойСтавки.НомерСтроки = 6 | ТОГДА ВЫБОР | КОГДА ПоказателиВведенныеПриРасчете.Показатель6 ЕСТЬ НЕ NULL | ТОГДА ПоказателиВведенныеПриРасчете.Показатель6 | КОГДА СписокНачислений.Показатель6 = 0 | И (ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 6 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ЭтоТарифнаяСтавка) | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | КОГДА СписокНачислений.Показатель6 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ТОГДА СписокНачислений.Показатель6 | КОГДА СписокНачислений.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель6 | ИНАЧЕ СписокНачислений.Показатель6 * ЕСТЬNULL(Валюты6.Курс / Валюты6.Кратность, 0) | КОНЕЦ | ИНАЧЕ 0 | КОНЕЦ КАК ОкладТариф, | СписокНачислений.ВидАттестата |ПОМЕСТИТЬ ВТРаботникиИНачисленияПоСхемамМотивации |ИЗ | ВТРаботникиИНачисления КАК СписокНачислений | ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК ПоказателиВведенныеПриРасчете | ПО СписокНачислений.ВидРасчета = ПоказателиВведенныеПриРасчете.ВидРасчета | И СписокНачислений.Сотрудник = ПоказателиВведенныеПриРасчете.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ | НеВводимыеПоказатели.Ссылка КАК Ссылка, | НеВводимыеПоказатели.НомерСтроки КАК НомерСтроки, | НеВводимыеПоказатели.Показатель КАК Показатель, | НеВводимыеПоказатели.ПоказательВозможностьИзменения КАК ПоказательВозможностьИзменения, | НеВводимыеПоказатели.ЭтоТарифнаяСтавка КАК ЭтоТарифнаяСтавка, | СУММА(ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя) КАК ЗначениеПоказателя, | ЗначенияВводимыхКадровыхПоказателей.Сотрудник КАК Сотрудник, | ЗначенияВводимыхКадровыхПоказателей.Период КАК Период, | ЗначенияВводимыхКадровыхПоказателей.ПериодРаботники КАК ПериодРаботники, | ЗначенияВводимыхКадровыхПоказателей.ПериодНачисления КАК ПериодНачисления | ИЗ | ВТНеЗапрашиваемыеПриКадровыхПеремещениях КАК НеВводимыеПоказатели | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТЗначенияВводимыхКадровыхПоказателей КАК ЗначенияВводимыхКадровыхПоказателей | ПО НеВводимыеПоказатели.Показатель = ЗначенияВводимыхКадровыхПоказателей.Показатель | ГДЕ | ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя <> 0 | | СГРУППИРОВАТЬ ПО | НеВводимыеПоказатели.Ссылка, | НеВводимыеПоказатели.НомерСтроки, | НеВводимыеПоказатели.Показатель, | НеВводимыеПоказатели.ПоказательВозможностьИзменения, | НеВводимыеПоказатели.ЭтоТарифнаяСтавка, | ЗначенияВводимыхКадровыхПоказателей.Сотрудник, | ЗначенияВводимыхКадровыхПоказателей.Период, | ЗначенияВводимыхКадровыхПоказателей.ПериодРаботники, | ЗначенияВводимыхКадровыхПоказателей.ПериодНачисления) КАК ЗначенияВводимыхКадровыхПоказателей | ПО СписокНачислений.Сотрудник = ЗначенияВводимыхКадровыхПоказателей.Сотрудник | И (КОНЕЦПЕРИОДА(СписокНачислений.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей.Период, МЕСЯЦ)) | И СписокНачислений.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей.Ссылка | И СписокНачислений.ПериодРаботники = ЗначенияВводимыхКадровыхПоказателей.ПериодРаботники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты1 | ПО (ПВалюты1.Период = &парамДатаВалютногоУчета) | И (ПоказателиВведенныеПриРасчете.Валюта1 = ПВалюты1.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты2 | ПО (ПВалюты2.Период = &парамДатаВалютногоУчета) | И (ПоказателиВведенныеПриРасчете.Валюта2 = ПВалюты2.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты3 | ПО (ПВалюты3.Период = &парамДатаВалютногоУчета) | И (ПоказателиВведенныеПриРасчете.Валюта3 = ПВалюты3.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты4 | ПО (ПВалюты4.Период = &парамДатаВалютногоУчета) | И (ПоказателиВведенныеПриРасчете.Валюта4 = ПВалюты4.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты5 | ПО (ПВалюты5.Период = &парамДатаВалютногоУчета) | И (ПоказателиВведенныеПриРасчете.Валюта5 = ПВалюты5.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК ПВалюты6 | ПО (ПВалюты6.Период = &парамДатаВалютногоУчета) | И (ПоказателиВведенныеПриРасчете.Валюта6 = ПВалюты6.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты1 | ПО (Валюты1.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта1 = Валюты1.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты2 | ПО (Валюты2.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта2 = Валюты2.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты3 | ПО (Валюты3.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта3 = Валюты3.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты4 | ПО (Валюты4.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта4 = Валюты4.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты5 | ПО (Валюты5.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта5 = Валюты5.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты6 | ПО (Валюты6.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта6 = Валюты6.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ ВТВводимыеВПлановыхНачисленияхПоказатели КАК ПоказательТарифнойСтавки | ПО СписокНачислений.ВидРасчета = ПоказательТарифнойСтавки.Ссылка | И (ПоказательТарифнойСтавки.Показатель В (ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная), ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая), ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная))) |ГДЕ | ВЫБОР | КОГДА СписокНачислений.Подходит | ТОГДА (НЕ СписокНачислений.ВидРасчета ЕСТЬ NULL ) | ИНАЧЕ ИСТИНА | КОНЕЦ | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); ЗапросПризнаковАвтоНачисленийПоТабелю = Новый Запрос; ЗапросПризнаковАвтоНачисленийПоТабелю.Текст = "ВЫБРАТЬ | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций | ГДЕ | ОсновныеНачисленияОрганизаций.АвтоНачислятьПоТабелю | И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК АвтоНачислятьПоТабелюНочные, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций | ГДЕ | ОсновныеНачисленияОрганизаций.АвтоНачислятьПоТабелю | И ОсновныеНачисленияОрганизаций.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы)) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК АвтоНачислятьПоТабелюВечерние"; ВыборкаПризнаковАвтоначисления = ЗапросПризнаковАвтоНачисленийПоТабелю.Выполнить().Выбрать(); ВыборкаПризнаковАвтоначисления.Следующий(); // ДанныеПроизводственногоКалендаряЗаМесяц // Данные производственного календаря за месяц // // Поля: // ЧислоРабочихДней, // ЧислоПредпраздничныхДней // // Описание: // // выбираем данные из рег-ра РегламентированныйПроизводственныйКалендарь за месяц, в который сотрудник работал Запрос.Текст = "ВЫБРАТЬ | МЕСЯЦ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК МесяцКалендаря, | СУММА(ВЫБОР | КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ) КАК ЧислоРабочихДней, | СУММА(ВЫБОР | КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ) КАК ЧислоПредпраздничныхДней |ПОМЕСТИТЬ ВТДанныеПроизводственногоКалендаряЗаМесяц |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.Год = &Год | |СГРУППИРОВАТЬ ПО | МЕСЯЦ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря)"; Запрос.Выполнить(); //Основной текст запроса ОсновнойТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Сотрудник КАК Сотрудник, | ДвиженияРаботников.Период, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы | ГДЕ | ГрафикиРаботы.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И ГрафикиРаботы.ГрафикРаботы = ДвиженияРаботников.Сотрудник) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьИндГрафик, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики | ГДЕ | СводныеИндивидуальныеГрафики.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И СводныеИндивидуальныеГрафики.Сотрудник = ДвиженияРаботников.Сотрудник) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьИндСводнГрафик, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботниковОрганизаций | ГДЕ | РабочееВремяРаботниковОрганизаций.Период = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И РабочееВремяРаботниковОрганизаций.Сотрудник = ДвиженияРаботников.Сотрудник) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьСводнТабель,"; Если ВыборкаПризнаковАвтоначисления.АвтоНачислятьПоТабелюНочные Тогда ОсновнойТекстЗапроса = ОсновнойТекстЗапроса + " | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы | ГДЕ | ГрафикиРаботы.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И ГрафикиРаботы.ГрафикРаботы = ДвиженияРаботников.Сотрудник | И ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам) | И ГрафикиРаботы.ОсновноеЗначение <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьНочныеИндГрафик, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики | ГДЕ | СводныеИндивидуальныеГрафики.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И СводныеИндивидуальныеГрафики.Сотрудник = ДвиженияРаботников.Сотрудник | И СводныеИндивидуальныеГрафики.ЧасовНочных <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьНочныеИндСводнГрафик, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботниковОрганизаций | ГДЕ | РабочееВремяРаботниковОрганизаций.Период = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И РабочееВремяРаботниковОрганизаций.Сотрудник = ДвиженияРаботников.Сотрудник | И РабочееВремяРаботниковОрганизаций.ВидИспользованияРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы) | И РабочееВремяРаботниковОрганизаций.Часов <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьНочныеСводнТабель, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы | ГДЕ | ГрафикиРаботы.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И ГрафикиРаботы.ГрафикРаботы = ДвиженияРаботников.ГрафикРаботы | И ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам) | И ГрафикиРаботы.ОсновноеЗначение <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьНочныеОбщГрафик,"; Иначе ОсновнойТекстЗапроса = ОсновнойТекстЗапроса + " | ЛОЖЬ КАК ЕстьНочныеИндГрафик, | ЛОЖЬ КАК ЕстьНочныеИндСводнГрафик, | ЛОЖЬ КАК ЕстьНочныеСводнТабель, | ЛОЖЬ КАК ЕстьНочныеОбщГрафик,"; КонецЕсли; Если ВыборкаПризнаковАвтоначисления.АвтоНачислятьПоТабелюВечерние Тогда ОсновнойТекстЗапроса = ОсновнойТекстЗапроса + " | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы | ГДЕ | ГрафикиРаботы.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И ГрафикиРаботы.ГрафикРаботы = ДвиженияРаботников.Сотрудник | И ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам) | И ГрафикиРаботы.ОсновноеЗначение <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьВечерниеИндГрафик, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики | ГДЕ | СводныеИндивидуальныеГрафики.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И СводныеИндивидуальныеГрафики.Сотрудник = ДвиженияРаботников.Сотрудник | И СводныеИндивидуальныеГрафики.ЧасовВечерних <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьВечерниеИндСводнГрафик, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК РабочееВремяРаботниковОрганизаций | ГДЕ | РабочееВремяРаботниковОрганизаций.Период = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И РабочееВремяРаботниковОрганизаций.Сотрудник = ДвиженияРаботников.Сотрудник | И РабочееВремяРаботниковОрганизаций.ВидИспользованияРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы) | И РабочееВремяРаботниковОрганизаций.Часов <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьВечерниеСводнТабель, | ВЫБОР | КОГДА 1 В | (ВЫБРАТЬ ПЕРВЫЕ 1 | 1 | ИЗ | РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы | ГДЕ | ГрафикиРаботы.Месяц = НАЧАЛОПЕРИОДА(ДвиженияРаботников.Период, МЕСЯЦ) | И ГрафикиРаботы.ГрафикРаботы = ДвиженияРаботников.ГрафикРаботы | И ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам) | И ГрафикиРаботы.ОсновноеЗначение <> 0) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ЕстьВечерниеОбщГрафик"; Иначе ОсновнойТекстЗапроса = ОсновнойТекстЗапроса + " | ЛОЖЬ КАК ЕстьВечерниеИндГрафик, | ЛОЖЬ КАК ЕстьВечерниеИндСводнГрафик, | ЛОЖЬ КАК ЕстьВечерниеСводнТабель, | ЛОЖЬ КАК ЕстьВечерниеОбщГрафик"; КонецЕсли; ОсновнойТекстЗапроса = ОсновнойТекстЗапроса + " |ПОМЕСТИТЬ ВТСведенияОНочныхВечерних |ИЗ | ВТДвиженияРаботников КАК ДвиженияРаботников | |ИНДЕКСИРОВАТЬ ПО | Сотрудник |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокНачислений.Сотрудник КАК Сотрудник, | СписокНачислений.СотрудникНаименование КАК СотрудникНаименование, | СписокНачислений.Физлицо КАК Физлицо, | СписокНачислений.ПодразделениеОрганизации, | СписокНачислений.Подходит, | СписокНачислений.Период, | СписокНачислений.ПериодРаботники КАК ПериодРаботники, | СписокНачислений.ПериодНачисления КАК ПериодНачисления, | СписокНачислений.ОсновноеНачисление КАК ОсновноеНачисление, | СписокНачислений.ВидРасчета КАК ВидРасчета, | СписокНачислений.ВидРасчетаНаименование, | ЕСТЬNULL(СписокНачислений.ВидРасчетаТребуетВводаТарифногоРазряда, ЛОЖЬ) КАК ТребуетВводаТарифногоРазряда, | СписокНачислений.СпособРасчета, | ЕСТЬNULL(СписокНачислений.НачисляетсяВЦеломЗаМесяц, ЛОЖЬ) КАК НачисляетсяВЦеломЗаМесяц, | СписокНачислений.ВидВремени, | СписокНачислений.Действие, | СписокНачислений.КодВычета, | СписокНачислений.ДатаНачалаСобытия, | СписокНачислений.ГрафикРаботы, | СписокНачислений.СуммированныйУчетРабочегоВремени, | СписокНачислений.Валюта1, | СписокНачислений.Валюта2, | СписокНачислений.Валюта3, | СписокНачислений.Валюта4, | СписокНачислений.Валюта5, | СписокНачислений.Валюта6, | СписокНачислений.КурсВалюты1, | СписокНачислений.КурсВалюты2, | СписокНачислений.КурсВалюты3, | СписокНачислений.КурсВалюты4, | СписокНачислений.КурсВалюты5, | СписокНачислений.КурсВалюты6, | СписокНачислений.ВидТарифнойСтавки, | СписокНачислений.ВидАттестата, | ВЫБОР | КОГДА СписокНачислений.ВидТарифнойСтавки = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаЧасовая) | ТОГДА СписокНачислений.ОкладТариф | КОГДА СписокНачислений.ВидТарифнойСтавки = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаМесячная) | ТОГДА ВЫРАЗИТЬ(ВЫБОР | КОГДА ЕСТЬNULL(ВариантыВстроенныхАлгоритмовРасчетаЗарплаты.ПорядокПересчетаМесячнойСтавкиВЧасовую, ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)) = ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце) | ТОГДА ВЫБОР | КОГДА ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоРабочихДней, 0) = 0 | ТОГДА 0 | КОГДА СписокНачислений.ДлительностьРабочейНедели = 0 | ТОГДА 0 | ИНАЧЕ СписокНачислений.ОкладТариф / (СписокНачислений.ДлительностьРабочейНедели / 5 * (ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоРабочихДней, 0) + ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоПредпраздничныхДней, 0)) - ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоПредпраздничныхДней, 0)) * 12 | КОНЕЦ | КОГДА ЕСТЬNULL(ВариантыВстроенныхАлгоритмовРасчетаЗарплаты.ПорядокПересчетаМесячнойСтавкиВЧасовую, ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)) = ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоМесячнойНормеПоПроизводственномуКалендарю) | ТОГДА ВЫБОР | КОГДА ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоРабочихДней, 0) = 0 | ТОГДА 0 | КОГДА СписокНачислений.ДлительностьРабочейНедели = 0 | ТОГДА 0 | ИНАЧЕ СписокНачислений.ОкладТариф / (СписокНачислений.ДлительностьРабочейНедели / 5 * (ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоРабочихДней, 0) + ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоПредпраздничныхДней, 0)) - ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоПредпраздничныхДней, 0)) | КОНЕЦ | КОГДА ВЫБОР | КОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL | ТОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.ЧасовЗаМесяц | КОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL | ТОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц | ИНАЧЕ ЕСТЬNULL(НормаВремениПоОбщимГрафикам.ЧасовЗаМесяц, 0) | КОНЕЦ = 0 | ТОГДА 0 | ИНАЧЕ СписокНачислений.ОкладТариф / ВЫБОР | КОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL | ТОГДА НормаВремениПоСводнымИндивидуальнымГрафикам.ЧасовЗаМесяц | КОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.Сотрудник ЕСТЬ НЕ NULL | ТОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц | ИНАЧЕ ЕСТЬNULL(НормаВремениПоОбщимГрафикам.ЧасовЗаМесяц, 0) | КОНЕЦ | КОНЕЦ КАК ЧИСЛО(15, 3)) | КОГДА СписокНачислений.ВидТарифнойСтавки = ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ТарифнаяСтавкаДневная) | ТОГДА ВЫРАЗИТЬ(ВЫБОР | КОГДА СписокНачислений.ДлительностьРабочейНедели = 0 | ТОГДА 0 | ИНАЧЕ СписокНачислений.ОкладТариф / СписокНачислений.ДлительностьРабочейНедели * ВЫБОР | КОГДА СписокНачислений.ВидГрафика = ЗНАЧЕНИЕ(Перечисление.ВидыРабочихГрафиков.Шестидневка) | ТОГДА 6 | ИНАЧЕ 5 | КОНЕЦ | КОНЕЦ КАК ЧИСЛО(15, 3)) | ИНАЧЕ 0 | КОНЕЦ КАК ЧасоваяТарифнаяСтавка, | СписокНачислений.Показатель1, | СписокНачислений.Показатель2, | СписокНачислений.Показатель3, | СписокНачислений.Показатель4, | СписокНачислений.Показатель5, | СписокНачислений.Показатель6, | СведенияОСтажеРаботыНаСевере.ДатаРегистрацииСеверногоСтажа, | СведенияОСтажеРаботыНаСевере.ПорядокНачисленияСеверныхНадбавок, | СведенияОСтажеРаботыНаСевере.НачальныйПроцентСевернойНадбавки, | СведенияОСтажеРаботыНаСевере.СеверныйСтажМесяцев, | СведенияОСтажеРаботыНаСевере.СеверныйСтажДней, | СписокНачислений.ВидРасчетаВидСтажа, | ШкалаКоэффициентовСтажа.Величина КАК КоэффициентСтажа, | ШкалаСледКоэффициентовСтажа.Величина КАК СледКоэффициентСтажа, | ВЫБОР | КОГДА (НЕ ШкалаСледКоэффициентовСтажа.Величина ЕСТЬ NULL ) | ТОГДА ВЫБОР | КОГДА ДЕНЬ(Стажи.ДатаОтсчета) > Стажи.РазмерДней | ТОГДА ДЕНЬ(Стажи.ДатаОтсчета) - Стажи.РазмерДней | ИНАЧЕ ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, -1)) - (Стажи.РазмерДней - ДЕНЬ(Стажи.ДатаОтсчета)) | КОНЕЦ | КОНЕЦ КАК ДеньСменыКоэффициентаСтажа, | ВЫБОР | КОГДА &ЭтоПерерасчет | ТОГДА ЛОЖЬ | КОГДА ОсновныеНачисления.Сотрудник ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ КАК УжеПроведен, | ВЫБОР | КОГДА СведенияОНочныхВечерних.ЕстьИндГрафик | ТОГДА СведенияОНочныхВечерних.ЕстьНочныеИндГрафик | КОГДА СведенияОНочныхВечерних.ЕстьСводнТабель | ТОГДА СведенияОНочныхВечерних.ЕстьНочныеСводнТабель | КОГДА СведенияОНочныхВечерних.ЕстьИндСводнГрафик | ТОГДА СведенияОНочныхВечерних.ЕстьНочныеИндСводнГрафик | ИНАЧЕ СведенияОНочныхВечерних.ЕстьНочныеОбщГрафик | КОНЕЦ КАК ЕстьНочные, | ВЫБОР | КОГДА СведенияОНочныхВечерних.ЕстьИндГрафик | ТОГДА СведенияОНочныхВечерних.ЕстьВечерниеИндГрафик | КОГДА СведенияОНочныхВечерних.ЕстьСводнТабель | ТОГДА СведенияОНочныхВечерних.ЕстьВечерниеСводнТабель | КОГДА СведенияОНочныхВечерних.ЕстьИндСводнГрафик | ТОГДА СведенияОНочныхВечерних.ЕстьВечерниеИндСводнГрафик | ИНАЧЕ СведенияОНочныхВечерних.ЕстьВечерниеОбщГрафик | КОНЕЦ КАК ЕстьВечерние |ИЗ | ВТРаботникиИНачисленияПоСхемамМотивации КАК СписокНачислений | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОСеверномСтаже КАК СведенияОСтажеРаботыНаСевере | ПО СписокНачислений.Сотрудник = СведенияОСтажеРаботыНаСевере.Сотрудник | И СписокНачислений.ПериодРаботники = СведенияОСтажеРаботыНаСевере.ПериодРаботники | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.Стажи КАК Стажи | ПО СписокНачислений.ВидРасчетаВидСтажа = Стажи.ВидСтажа | И СписокНачислений.Физлицо = Стажи.Ссылка | И (СписокНачислений.СпособРасчета В (&СпособыРасчетаОтСтажа)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаКоэффициентовСтажа КАК ШкалаКоэффициентовСтажа | ПО СписокНачислений.ВидРасчетаКоэффициентСтажа = ШкалаКоэффициентовСтажа.КоэффициентСтажа | И (СписокНачислений.СпособРасчета В (&СпособыРасчетаОтСтажа)) | И (Стажи.РазмерМесяцев + РАЗНОСТЬДАТ(Стажи.ДатаОтсчета, ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней), МЕСЯЦ) - ВЫБОР | КОГДА ДЕНЬ(Стажи.ДатаОтсчета) > ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней)) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ >= ШкалаКоэффициентовСтажа.СтажС) | И (Стажи.РазмерМесяцев + РАЗНОСТЬДАТ(Стажи.ДатаОтсчета, ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней), МЕСЯЦ) - ВЫБОР | КОГДА ДЕНЬ(Стажи.ДатаОтсчета) > ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней)) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ < ВЫБОР | КОГДА ШкалаКоэффициентовСтажа.СтажПо = 0 | ТОГДА 999999 | ИНАЧЕ ШкалаКоэффициентовСтажа.СтажПо | КОНЕЦ) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаКоэффициентовСтажа КАК ШкалаСледКоэффициентовСтажа | ПО СписокНачислений.ВидРасчетаКоэффициентСтажа = ШкалаСледКоэффициентовСтажа.КоэффициентСтажа | И (СписокНачислений.СпособРасчета В (&СпособыРасчетаОтСтажа)) | И (Стажи.РазмерМесяцев + РАЗНОСТЬДАТ(Стажи.ДатаОтсчета, ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней), МЕСЯЦ) - ВЫБОР | КОГДА ДЕНЬ(Стажи.ДатаОтсчета) >= ДЕНЬ(ДОБАВИТЬКДАТЕ(&парамНачало, ДЕНЬ, Стажи.РазмерДней)) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ = ШкалаКоэффициентовСтажа.СтажПо - 1) | И (ШкалаСледКоэффициентовСтажа.НомерСтрокиШкалы = ШкалаКоэффициентовСтажа.НомерСтрокиШкалы + 1) | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СУММА(ВЫБОР | КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ) КАК ЧислоРабочихДней, | СУММА(ВЫБОР | КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный) | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ) КАК ЧислоПредпраздничныхДней | ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь | ГДЕ | РегламентированныйПроизводственныйКалендарь.Год = &Год) КАК ДанныеПроизводственногоКалендаря | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеПроизводственногоКалендаряЗаМесяц КАК ДанныеПроизводственногоКалендаряЗаМесяц | ПО МЕСЯЦ(СписокНачислений.Период) = ДанныеПроизводственногоКалендаряЗаМесяц.МесяцКалендаря | ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоСводнымИндивидуальнымГрафикам КАК НормаВремениПоСводнымИндивидуальнымГрафикам | ПО СписокНачислений.Сотрудник = НормаВремениПоСводнымИндивидуальнымГрафикам.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоЕжедневнымИндивидуальнымГрафикам КАК НормаВремениПоЕжедневнымИндивидуальнымГрафикам | ПО СписокНачислений.Сотрудник = НормаВремениПоЕжедневнымИндивидуальнымГрафикам.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоОбщимГрафикам КАК НормаВремениПоОбщимГрафикам | ПО СписокНачислений.Сотрудник = НормаВремениПоОбщимГрафикам.Сотрудник | И СписокНачислений.ГрафикРаботы = НормаВремениПоОбщимГрафикам.ГрафикРаботы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВариантыВстроенныхАлгоритмовРасчетаЗарплаты КАК ВариантыВстроенныхАлгоритмовРасчетаЗарплаты | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ ВТОсновныеНачисления КАК ОсновныеНачисления | ПО СписокНачислений.Сотрудник = ОсновныеНачисления.Сотрудник | И СписокНачислений.ПодразделениеОрганизации = ОсновныеНачисления.ПодразделениеОрганизации | ЛЕВОЕ СОЕДИНЕНИЕ ВТСведенияОНочныхВечерних КАК СведенияОНочныхВечерних | ПО СписокНачислений.Сотрудник = СведенияОНочныхВечерних.Сотрудник | И СписокНачислений.ПериодРаботники = СведенияОНочныхВечерних.Период | |УПОРЯДОЧИТЬ ПО | СотрудникНаименование, | Сотрудник, | ПериодРаботники, | ПериодНачисления, | ОсновноеНачисление УБЫВ, | ВидРасчета"; Запрос.Текст = ОсновнойТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); НачисленияВыборка = РезультатЗапроса.Выбрать(); ТЗНачисления = СформироватьТаблицуНачислений(НачисленияВыборка, ОкончаниеПериодаЗаполнения, РезультатЗапроса.Выгрузить(), МассивВалютСНезаданнымКурсом); Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда ТЗНачисления.Очистить(); КонецЕсли; // для заполнения табличной части НДФЛ РаботникиДляРасчетаНДФЛ = Новый Соответствие; ТипОсновныхНачислений = Тип("ПланВидовРасчетаСсылка.ОсновныеНачисленияОрганизаций"); НаборЗаписейДляПроверки = РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей(); НаборЗаписейДляПроверки.Отбор.Регистратор.Значение = СcылкаОбъекта; СтрокаПолейОсновныхНачислений = "Сотрудник,Физлицо,ВидРасчета,Показатель1,Показатель2,Показатель3,Показатель4,Показатель5,Показатель6,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации, ВидАттестата"; СтрокаПолейДополнительныхНачислений = "Сотрудник,Физлицо,ВидРасчета,Показатель1,Показатель2,Показатель3,Показатель4,Показатель5,Показатель6,,КодВычета,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации"; Для Каждого НачислениеИзТаблицыЗначений Из ТЗНачисления Цикл РаботникиДляРасчетаНДФЛ.Вставить(НачислениеИзТаблицыЗначений.Физлицо, 0); Если ВидОперации <> Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда Если ТипЗнч(НачислениеИзТаблицыЗначений.ВидРасчета) = ТипОсновныхНачислений Тогда НоваяСтрока = Начисления.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,НачислениеИзТаблицыЗначений,СтрокаПолейОсновныхНачислений); //Сотрудник,ВидРасчета,Размер,Показатель2,Показатель3,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации НоваяСтрока.Авторасчет = Истина; НоваяСтрока.ДатаНачалаСобытия = ?(ЗначениеЗаполнено(НачислениеИзТаблицыЗначений.ДатаНачалаСобытия),НачислениеИзТаблицыЗначений.ДатаНачалаСобытия,НачислениеИзТаблицыЗначений.ДатаНачала); Если НоваяСтрока.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПособиеПоУходуЗаРебенкомДо1_5Лет Тогда НоваяСтрока.ПериодРасчетаСреднегоЗаработкаНачало = ДобавитьМесяц(НачалоМесяца(НоваяСтрока.ДатаНачалаСобытия), -12); НоваяСтрока.ПериодРасчетаСреднегоЗаработкаОкончание = НачалоМесяца(НоваяСтрока.ДатаНачалаСобытия) - 1; КонецЕсли; Движение = НаборЗаписейДляПроверки.Добавить(); // свойства Движение.ПериодРегистрации = ПериодРегистрации; Движение.ВидРасчета = НачислениеИзТаблицыЗначений.ВидРасчета; Движение.ПериодДействияНачало = НачислениеИзТаблицыЗначений.ДатаНачала; Движение.ПериодДействияКонец = НачислениеИзТаблицыЗначений.ДатаОкончания; // измерения Движение.Сотрудник = НачислениеИзТаблицыЗначений.Сотрудник; Движение.Физлицо = НачислениеИзТаблицыЗначений.Физлицо; Движение.Организация = ГоловнаяОрганизация; // реквизиты поддержки графика Движение.ГрафикРаботы = НачислениеИзТаблицыЗначений.ГрафикРаботы; Движение.ВидУчетаВремени = ПроведениеРасчетов.ПолучитьВидУчетаВремени(НачислениеИзТаблицыЗначений.СпособРасчета, НачислениеИзТаблицыЗначений.ВидВремени, НачислениеИзТаблицыЗначений.СуммированныйУчетРабочегоВремени); Движение.ДатаНачалаСобытия = НачислениеИзТаблицыЗначений.ДатаНачала; Движение.Авторасчет = Истина; Иначе НоваяСтрока = ДополнительныеНачисления.Добавить(); НоваяСтрока.Авторасчет = Истина; ЗаполнитьЗначенияСвойств(НоваяСтрока,НачислениеИзТаблицыЗначений,СтрокаПолейДополнительныхНачислений); //Сотрудник,ВидРасчета,Размер,КодВычета,ДатаНачала,ДатаОкончания,ПодразделениеОрганизации КонецЕсли; КонецЕсли; КонецЦикла; // выполним удаление строк табличной части, которые соответствуют полностью вытесняемым видам расчета // проверку выполним через фактический период действия Если ВидОперации <> Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда НачатьТранзакцию(); НаборЗаписейДляПроверки.ОбменДанными.Загрузка = Истина; НаборЗаписейДляПроверки.Записать(Истина, Ложь, Истина, Ложь); ЗапросПроверки = Новый Запрос( "ВЫБРАТЬ | Начисления.Сотрудник, | Начисления.ВидРасчета, | Начисления.ДатаНачала, | Начисления.ДатаОкончания, | Начисления.НомерСтроки |ПОМЕСТИТЬ ВТНачисления |ИЗ &парамНачисления КАК Начисления |ИНДЕКСИРОВАТЬ ПО Сотрудник, ВидРасчета; | |ВЫБРАТЬ РАЗЛИЧНЫЕ | Начисления.НомерСтроки КАК НомерСтроки |ИЗ | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизации | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(Регистратор = &парамСсылка) КАК ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия | ПО ОсновныеНачисленияРаботниковОрганизации.НомерСтроки = ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия.НомерСтроки | И ОсновныеНачисленияРаботниковОрганизации.Регистратор = ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия.Регистратор | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТНачисления КАК Начисления | ПО (Начисления.Сотрудник = ОсновныеНачисленияРаботниковОрганизации.Сотрудник) | И (Начисления.ВидРасчета = ОсновныеНачисленияРаботниковОрганизации.ВидРасчета) | И (Начисления.ДатаНачала = ОсновныеНачисленияРаботниковОрганизации.ПериодДействияНачало) | И (КОНЕЦПЕРИОДА(Начисления.ДатаОкончания, День) = КОНЕЦПЕРИОДА(ОсновныеНачисленияРаботниковОрганизации.ПериодДействияКонец, День)) |ГДЕ | ОсновныеНачисленияРаботниковОрганизации.Регистратор = &парамСсылка | И ОсновныеНачисленияРаботниковОрганизацииФактическийПериодДействия.Регистратор ЕСТЬ NULL | |УПОРЯДОЧИТЬ ПО | НомерСтроки УБЫВ"); ЗапросПроверки.УстановитьПараметр("парамСсылка", СcылкаОбъекта); ЗапросПроверки.УстановитьПараметр("парамНачисления", Начисления.Выгрузить()); СтрокиКУдалению = ЗапросПроверки.Выполнить().Выгрузить(); // удалим проверочный набор записей НаборЗаписейДляПроверки.Очистить(); НаборЗаписейДляПроверки.Записать(Истина, Ложь, Истина, Ложь); ЗафиксироватьТранзакцию(); Для Каждого СтрокаТЗ Из СтрокиКУдалению Цикл Начисления.Удалить(СтрокаТЗ.НомерСтроки - 1); КонецЦикла; КонецЕсли; // конец удаления строк табличной части, которые соответствуют полностью вытесняемым видам расчета // работающие по договорам подряда ОсновнойТекстЗапроса = "ВЫБРАТЬ | СписокНачислений.Сотрудник КАК Сотрудник, | СписокНачислений.СотрудникФизлицо КАК Физлицо, | СписокНачислений.СотрудникНаименование КАК СотрудникНаименование, | СписокНачислений.ВидРасчета КАК ВидРасчета, | СписокНачислений.ПериодНачисления КАК ДатаНачала, | ЕСТЬNULL(СписокНачислений.ДатаОкончания, &парамКонец) КАК ДатаОкончания, | СписокНачислений.ДокументОснование КАК ДокументОснование, | СписокНачислений.Подходит, | СписокНачислений.ВидРасчета.Наименование КАК ВидРасчетаНаименование, | СписокНачислений.ДокументОснование.ПодразделениеОрганизации КАК ПодразделениеОрганизации, | СписокНачислений.ДокументОснование.КодВычета КАК КодВычета, | ВЫБОР | КОГДА СписокНачислений.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.ПроцентОтПродажПолисов) | ТОГДА ПродажиПолисовОбороты.СуммаОборот | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель1 | ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Размер, | ВЫБОР | КОГДА СписокНачислений.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.ПроцентОтПродажПолисов) | ТОГДА ПродажиПолисовОбороты.СуммаОборот * СписокНачислений.ДокументОснование.Процент / 100 | ИНАЧЕ ВЫБОР | КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель1 | ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Результат, | ВЫБОР | КОГДА СписокНачислений.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА СписокНачислений.ДокументОснование.КодВычета <> ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код405) | ТОГДА 0 | КОГДА СписокНачислений.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА СписокНачислений.Показатель1 * ЕСТЬNULL(СведенияОСкидках.НормативЗатрат, 0) / 100 | ИНАЧЕ СписокНачислений.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) * ЕСТЬNULL(СведенияОСкидках.НормативЗатрат, 0) / 100 | КОНЕЦ КАК СуммаВычета |ИЗ | (ВЫБРАТЬ | Работники.Сотрудник КАК Сотрудник, | Работники.Сотрудник.Физлицо КАК СотрудникФизлицо, | Работники.Сотрудник.Наименование КАК СотрудникНаименование, | НачисленияРаботниковОрганизации.ДокументОснование КАК ДокументОснование, | НачисленияРаботниковОрганизации.ВидРасчета КАК ВидРасчета, | Работники.Подходит КАК Подходит, | НачисленияРаботниковОрганизации.Период КАК ПериодНачисления, | МИНИМУМ(ДатыОкончанияНачисленияРаботниковОрганизации.ДатаОкончания) КАК ДатаОкончания, | НачисленияРаботниковОрганизации.Показатель1 КАК Показатель1, | НачисленияРаботниковОрганизации.Валюта1 КАК Валюта1 | ИЗ | ВТДвиженияРаботников КАК Работники | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | &парамНачало КАК Период, | НачисленияРаботниковОрганизации.ВидРасчетаИзмерение КАК ВидРасчета, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Показатель1Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.Валюта1Завершения | ИНАЧЕ НачисленияРаботниковОрганизации.Валюта1 | КОНЕЦ КАК Валюта1, | НачисленияРаботниковОрганизации.ДокументОснование КАК ДокументОснование, | НачисленияРаботниковОрганизации.Сотрудник КАК Сотрудник | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних( | &парамНачало, | ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И Сотрудник В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ДвиженияРаботников.Сотрудник | ИЗ | ВТСписокРаботников КАК ДвиженияРаботников)) КАК НачисленияРаботниковОрганизации | ГДЕ | ВЫБОР | КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА НачисленияРаботниковОрганизации.ДействиеЗавершения | ИНАЧЕ НачисленияРаботниковОрганизации.Действие | КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НачисленияРаботниковОрганизации.Период, | НачисленияРаботниковОрганизации.ВидРасчетаИзмерение, | НачисленияРаботниковОрганизации.Показатель1, | НачисленияРаботниковОрганизации.Валюта1, | НачисленияРаботниковОрганизации.ДокументОснование, | НачисленияРаботниковОрганизации.Сотрудник | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников | ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ГДЕ | НачисленияРаботниковОрганизации.Период > &парамНачало | И НачисленияРаботниковОрганизации.Период <= &парамКонец | И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И НачисленияРаботниковОрганизации.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | НачисленияРаботниковОрганизации.ПериодЗавершения, | НачисленияРаботниковОрганизации.ВидРасчетаИзмерение, | НачисленияРаботниковОрганизации.Показатель1Завершения, | НачисленияРаботниковОрганизации.Валюта1Завершения, | НачисленияРаботниковОрганизации.ДокументОснование, | НачисленияРаботниковОрганизации.Сотрудник | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников | ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковПроверка | ПО НачисленияРаботниковОрганизации.Сотрудник = НачисленияРаботниковПроверка.Сотрудник | И НачисленияРаботниковОрганизации.ВидРасчетаИзмерение = НачисленияРаботниковПроверка.ВидРасчетаИзмерение | И НачисленияРаботниковОрганизации.ДокументОснование = НачисленияРаботниковПроверка.ДокументОснование | И (НачисленияРаботниковПроверка.Период > НачисленияРаботниковОрганизации.Период) | И (НачисленияРаботниковПроверка.Период <= НачисленияРаботниковОрганизации.ПериодЗавершения) | ГДЕ | НачисленияРаботниковОрганизации.ПериодЗавершения МЕЖДУ &парамНачало И &парамКонец | И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | И НачисленияРаботниковПроверка.Сотрудник ЕСТЬ NULL ) КАК НачисленияРаботниковОрганизации | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ДОБАВИТЬКДАТЕ(НачисленияРаботниковОрганизации.Период, ДЕНЬ, -1) КАК ДатаОкончания, | НачисленияРаботниковОрганизации.ВидРасчетаИзмерение КАК ВидРасчетаИзмерение, | НачисленияРаботниковОрганизации.ДокументОснование КАК ДокументОснование, | НачисленияРаботниковОрганизации.Сотрудник КАК Сотрудник | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников | ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ГДЕ | НачисленияРаботниковОрганизации.Период >= &парамНачало | И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И НачисленияРаботниковОрганизации.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВЫБОР | КОГДА ДОБАВИТЬКДАТЕ(НачисленияРаботниковОрганизации.ПериодЗавершения, ДЕНЬ, -1) > &парамКонец | ТОГДА &парамКонец | ИНАЧЕ ДОБАВИТЬКДАТЕ(НачисленияРаботниковОрганизации.ПериодЗавершения, ДЕНЬ, -1) | КОНЕЦ, | НачисленияРаботниковОрганизации.ВидРасчетаИзмерение, | НачисленияРаботниковОрганизации.ДокументОснование, | НачисленияРаботниковОрганизации.Сотрудник | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДвиженияРаботников КАК ТаблицаДвиженийРаботников | ПО НачисленияРаботниковОрганизации.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК НачисленияРаботниковПроверка | ПО НачисленияРаботниковОрганизации.Сотрудник = НачисленияРаботниковПроверка.Сотрудник | И НачисленияРаботниковОрганизации.ВидРасчетаИзмерение = НачисленияРаботниковПроверка.ВидРасчетаИзмерение | И НачисленияРаботниковОрганизации.ДокументОснование = НачисленияРаботниковПроверка.ДокументОснование | И (НачисленияРаботниковПроверка.Период > НачисленияРаботниковОрганизации.Период) | И (НачисленияРаботниковПроверка.Период <= НачисленияРаботниковОрганизации.ПериодЗавершения) | ГДЕ | НачисленияРаботниковОрганизации.ПериодЗавершения >= &парамНачало | И НачисленияРаботниковОрганизации.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И НачисленияРаботниковОрганизации.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать) | И НачисленияРаботниковПроверка.Сотрудник ЕСТЬ NULL ) КАК ДатыОкончанияНачисленияРаботниковОрганизации | ПО НачисленияРаботниковОрганизации.Сотрудник = ДатыОкончанияНачисленияРаботниковОрганизации.Сотрудник | И НачисленияРаботниковОрганизации.ВидРасчета = ДатыОкончанияНачисленияРаботниковОрганизации.ВидРасчетаИзмерение | И НачисленияРаботниковОрганизации.ДокументОснование = ДатыОкончанияНачисленияРаботниковОрганизации.ДокументОснование | И НачисленияРаботниковОрганизации.Период <= ДатыОкончанияНачисленияРаботниковОрганизации.ДатаОкончания | ПО (Работники.Подходит) | И Работники.Сотрудник = НачисленияРаботниковОрганизации.Сотрудник | | СГРУППИРОВАТЬ ПО | Работники.Сотрудник, | Работники.Сотрудник.Физлицо, | Работники.Сотрудник.Наименование, | Работники.Подходит, | НачисленияРаботниковОрганизации.ДокументОснование, | НачисленияРаботниковОрганизации.ВидРасчета, | НачисленияРаботниковОрганизации.Период, | НачисленияРаботниковОрганизации.Показатель1, | НачисленияРаботниковОрганизации.Валюта1) КАК СписокНачислений | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты1 | ПО (Валюты1.Период = &парамДатаВалютногоУчета) | И СписокНачислений.Валюта1 = Валюты1.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ | ОсновныеНачисления.Сотрудник КАК Сотрудник, | ОсновныеНачисления.ПериодРегистрации КАК ПериодРегистрации, | ОсновныеНачисления.ДокументОснование КАК ДокументОснование | ИЗ | РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК ТаблицаДвиженийРаботников | ПО ОсновныеНачисления.Сотрудник = ТаблицаДвиженийРаботников.Сотрудник | ГДЕ | ОсновныеНачисления.ДокументОснование <> ЗНАЧЕНИЕ(Документ.ДоговорНаВыполнениеРаботСФизЛицом.ПустаяСсылка) | И ОсновныеНачисления.Регистратор <> &парамРегистратор | И (НЕ ОсновныеНачисления.Сторно) | И ОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация) КАК ОсновныеНачисления | ПО СписокНачислений.Сотрудник = ОсновныеНачисления.Сотрудник | И СписокНачислений.ДокументОснование = ОсновныеНачисления.ДокументОснование | И СписокНачислений.ПериодНачисления = ОсновныеНачисления.ПериодРегистрации | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛВычетыПоДоходам.СрезПоследних(&парамНачало, ) КАК СведенияОСкидках | ПО СписокНачислений.ВидРасчета.КодДоходаНДФЛ = СведенияОСкидках.КодДохода | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиПолисов.Обороты(&парамНачало, &парамКонец, Период, Организация = &парамОрганизация) КАК ПродажиПолисовОбороты | ПО СписокНачислений.Сотрудник = ПродажиПолисовОбороты.Сотрудник |ГДЕ | СписокНачислений.Подходит | И ВЫБОР | КОГДА СписокНачислений.ДокументОснование ЕСТЬ NULL | ТОГДА ЛОЖЬ | КОГДА СписокНачислений.ДокументОснование.Организация = &парамОрганизация | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ | И ВЫБОР | КОГДА &ЭтоПерерасчет | ТОГДА ИСТИНА | КОГДА ОсновныеНачисления.Сотрудник ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ | |УПОРЯДОЧИТЬ ПО | СотрудникНаименование, | ДокументОснование, | ДатаНачала"; Запрос.Текст = ОсновнойТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Если МассивСотрудники = Неопределено Тогда ДоговорыНаВыполнениеРабот.Загрузить(РезультатЗапроса.Выгрузить()); Для каждого СтрокаТЧ Из ДоговорыНаВыполнениеРабот Цикл РаботникиДляРасчетаНДФЛ.Вставить(СтрокаТЧ.Физлицо, 0); КонецЦикла; Иначе Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока = ДоговорыНаВыполнениеРабот.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,Выборка); РаботникиДляРасчетаНДФЛ.Вставить(НоваяСтрока.Физлицо, 0); КонецЦикла; КонецЕсли; // Очистим необходимость перезаполнения по заполненным работникам Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СписокРаботников.Сотрудник |ИЗ | ВТСписокРаботников КАК СписокРаботников"; ПроведениеРасчетов.УдалитьСведенияОПерезаполненииДокумента(Ссылка,Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник")); КонецЕсли; // АВТОЗАПОЛНЕНИЕ ТЧ "Удержания" Если (ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет И Не ЗначениеЗаполнено(ПерерассчитываемыйДокумент)) ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний Тогда ТекстЗапросаУдержаний = "ВЫБРАТЬ | УдержанияРаботниковОрганизации.Физлицо КАК Физлицо, | УдержанияРаботниковОрганизации.Период КАК Период, | УдержанияРаботниковОрганизации.ВидРасчета КАК ВидРасчета, | УдержанияРаботниковОрганизации.Действие КАК Действие, | УдержанияРаботниковОрганизации.ДокументОснование КАК ДокументОснование, | УдержанияРаботниковОрганизации.ДополнительныеДанные КАК ДополнительныеДанные, | УдержанияРаботниковОрганизации.Валюта1 КАК Валюта1, | УдержанияРаботниковОрганизации.Валюта2 КАК Валюта2, | УдержанияРаботниковОрганизации.Валюта3 КАК Валюта3, | УдержанияРаботниковОрганизации.Валюта4 КАК Валюта4, | УдержанияРаботниковОрганизации.Валюта5 КАК Валюта5, | УдержанияРаботниковОрганизации.Валюта6 КАК Валюта6, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты1.Курс | КОНЕЦ КАК КурсВалюты1, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты2.Курс | КОНЕЦ КАК КурсВалюты2, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты3.Курс | КОНЕЦ КАК КурсВалюты3, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты4.Курс | КОНЕЦ КАК КурсВалюты4, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты5.Курс | КОНЕЦ КАК КурсВалюты5, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА 1 | ИНАЧЕ Валюты6.Курс | КОНЕЦ КАК КурсВалюты6, | ВЫБОР | КОГДА Показатели.Показатель1 ЕСТЬ НЕ NULL | И Показатели.Показатель1 <> 0 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА Показатели.Показатель1 | КОГДА УдержанияРаботниковОрганизации.Показатель1 ЕСТЬ NULL | ИЛИ УдержанияРаботниковОрганизации.Показатель1 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 1 | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | ИНАЧЕ ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Показатель1 ЕСТЬ NULL | ТОГДА 0 | КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ИЛИ УдержанияРаботниковОрганизации.Валюта1 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА УдержанияРаботниковОрганизации.Показатель1 | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель1 * ЕСТЬNULL(Валюты1.Курс / Валюты1.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА Показатели.Показатель2 ЕСТЬ НЕ NULL | И Показатели.Показатель2 <> 0 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА Показатели.Показатель2 | КОГДА УдержанияРаботниковОрганизации.Показатель2 ЕСТЬ NULL | ИЛИ УдержанияРаботниковОрганизации.Показатель2 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 2 | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | ИНАЧЕ ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Показатель2 ЕСТЬ NULL | ТОГДА 0 | КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ИЛИ УдержанияРаботниковОрганизации.Валюта2 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА УдержанияРаботниковОрганизации.Показатель2 | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель2 * ЕСТЬNULL(Валюты2.Курс / Валюты2.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА Показатели.Показатель3 ЕСТЬ НЕ NULL | И Показатели.Показатель3 <> 0 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА Показатели.Показатель3 | КОГДА УдержанияРаботниковОрганизации.Показатель3 ЕСТЬ NULL | ИЛИ УдержанияРаботниковОрганизации.Показатель3 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 3 | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | ИНАЧЕ ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Показатель3 ЕСТЬ NULL | ТОГДА 0 | КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ИЛИ УдержанияРаботниковОрганизации.Валюта3 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА УдержанияРаботниковОрганизации.Показатель3 | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель3 * ЕСТЬNULL(Валюты3.Курс / Валюты3.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА Показатели.Показатель4 ЕСТЬ НЕ NULL | И Показатели.Показатель4 <> 0 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА Показатели.Показатель4 | КОГДА УдержанияРаботниковОрганизации.Показатель4 ЕСТЬ NULL | ИЛИ УдержанияРаботниковОрганизации.Показатель4 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 4 | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | ИНАЧЕ ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Показатель4 ЕСТЬ NULL | ТОГДА 0 | КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ИЛИ УдержанияРаботниковОрганизации.Валюта4 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА УдержанияРаботниковОрганизации.Показатель4 | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель4 * ЕСТЬNULL(Валюты4.Курс / Валюты4.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА Показатели.Показатель5 ЕСТЬ НЕ NULL | И Показатели.Показатель5 <> 0 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА Показатели.Показатель5 | КОГДА УдержанияРаботниковОрганизации.Показатель5 ЕСТЬ NULL | ИЛИ УдержанияРаботниковОрганизации.Показатель5 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 5 | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | ИНАЧЕ ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Показатель5 ЕСТЬ NULL | ТОГДА 0 | КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ИЛИ УдержанияРаботниковОрганизации.Валюта5 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА УдержанияРаботниковОрганизации.Показатель5 | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель5 * ЕСТЬNULL(Валюты5.Курс / Валюты5.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА Показатели.Показатель6 ЕСТЬ НЕ NULL | И Показатели.Показатель6 <> 0 | ИЛИ ЗначенияВводимыхКадровыхПоказателей.ПоказательВозможностьИзменения = ЗНАЧЕНИЕ(Перечисление.ИзменениеПоказателейСхемМотивации.Ежемесячно) | ТОГДА Показатели.Показатель6 | КОГДА УдержанияРаботниковОрганизации.Показатель6 ЕСТЬ NULL | ИЛИ УдержанияРаботниковОрганизации.Показатель6 = 0 | И ЗначенияВводимыхКадровыхПоказателей.Показатель <> ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка) | И ЗначенияВводимыхКадровыхПоказателей.Показатель ЕСТЬ НЕ NULL | И ЗначенияВводимыхКадровыхПоказателей.НомерСтроки = 6 | ТОГДА ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя | ИНАЧЕ ВЫБОР | КОГДА УдержанияРаботниковОрганизации.Показатель6 ЕСТЬ NULL | ТОГДА 0 | КОГДА УдержанияРаботниковОрганизации.ВидРасчета.СпособРасчета В (&парамМассивСпособовРасчетовБезВалюты) | ИЛИ УдержанияРаботниковОрганизации.Валюта6 В (&парамВалютаРегламентУчета, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) | ТОГДА УдержанияРаботниковОрганизации.Показатель6 | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель6 * ЕСТЬNULL(Валюты6.Курс / Валюты6.Кратность, 0) | КОНЕЦ | КОНЕЦ КАК Показатель6, | УдержанияРаботниковОрганизации.Физлицо.Наименование КАК ФизлицоНаименование |ИЗ | (ВЫБРАТЬ | &парамНачало КАК Период, | УдержанияРаботниковОрганизации.ВидРасчета КАК ВидРасчета, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.ДействиеЗавершения | ИНАЧЕ УдержанияРаботниковОрганизации.Действие | КОНЕЦ КАК Действие, | УдержанияРаботниковОрганизации.ДокументОснование КАК ДокументОснование, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист | ТОГДА ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование.СпособРасчетаПС = 2 | ТОГДА УдержанияРаботниковОрганизации.ДокументОснование.Тариф | КОНЕЦ | КОНЕЦ КАК ДополнительныеДанные, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Показатель1Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Показатель2Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель2 | КОНЕЦ КАК Показатель2, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Показатель3Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель3 | КОНЕЦ КАК Показатель3, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Показатель4Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель4 | КОНЕЦ КАК Показатель4, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Показатель5Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель5 | КОНЕЦ КАК Показатель5, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Показатель6Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Показатель6 | КОНЕЦ КАК Показатель6, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Валюта1Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Валюта1 | КОНЕЦ КАК Валюта1, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Валюта2Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Валюта2 | КОНЕЦ КАК Валюта2, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Валюта3Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Валюта3 | КОНЕЦ КАК Валюта3, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Валюта4Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Валюта4 | КОНЕЦ КАК Валюта4, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Валюта5Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Валюта5 | КОНЕЦ КАК Валюта5, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА УдержанияРаботниковОрганизации.Валюта6Завершения | ИНАЧЕ УдержанияРаботниковОрганизации.Валюта6 | КОНЕЦ КАК Валюта6, | УдержанияРаботниковОрганизации.ФизЛицо КАК Физлицо | ИЗ | РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций.СрезПоследних( | &парамНачало, | Организация = &парамГоловнаяОрганизация | И ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.ФизЛицо | ИЗ | ВТСписокРаботников КАК СписокРаботников)) КАК УдержанияРаботниковОрганизации | ГДЕ | УдержанияРаботниковОрганизации.Действие <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | УдержанияРаботниковОрганизации.Период, | УдержанияРаботниковОрганизации.ВидРасчета, | УдержанияРаботниковОрганизации.Действие, | УдержанияРаботниковОрганизации.ДокументОснование, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист | ТОГДА ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование.СпособРасчетаПС = 2 | ТОГДА УдержанияРаботниковОрганизации.ДокументОснование.Тариф | КОНЕЦ | КОНЕЦ, | УдержанияРаботниковОрганизации.Показатель1, | УдержанияРаботниковОрганизации.Показатель2, | УдержанияРаботниковОрганизации.Показатель3, | УдержанияРаботниковОрганизации.Показатель4, | УдержанияРаботниковОрганизации.Показатель5, | УдержанияРаботниковОрганизации.Показатель6, | УдержанияРаботниковОрганизации.Валюта1, | УдержанияРаботниковОрганизации.Валюта2, | УдержанияРаботниковОрганизации.Валюта3, | УдержанияРаботниковОрганизации.Валюта4, | УдержанияРаботниковОрганизации.Валюта5, | УдержанияРаботниковОрганизации.Валюта6, | УдержанияРаботниковОрганизации.ФизЛицо | ИЗ | РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК СписокРаботников | ПО УдержанияРаботниковОрганизации.ФизЛицо = СписокРаботников.Физлицо | ГДЕ | УдержанияРаботниковОрганизации.Период > &парамНачало | И УдержанияРаботниковОрганизации.Период <= &парамКонец | И УдержанияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | УдержанияРаботниковОрганизации.ПериодЗавершения, | УдержанияРаботниковОрганизации.ВидРасчета, | УдержанияРаботниковОрганизации.ДействиеЗавершения, | УдержанияРаботниковОрганизации.ДокументОснование, | ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист | ТОГДА ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование.СпособРасчетаПС = 2 | ТОГДА УдержанияРаботниковОрганизации.ДокументОснование.Тариф | КОНЕЦ | КОНЕЦ, | УдержанияРаботниковОрганизации.Показатель1Завершения, | УдержанияРаботниковОрганизации.Показатель2Завершения, | УдержанияРаботниковОрганизации.Показатель3Завершения, | УдержанияРаботниковОрганизации.Показатель4Завершения, | УдержанияРаботниковОрганизации.Показатель5Завершения, | УдержанияРаботниковОрганизации.Показатель6Завершения, | УдержанияРаботниковОрганизации.Валюта1Завершения, | УдержанияРаботниковОрганизации.Валюта2Завершения, | УдержанияРаботниковОрганизации.Валюта3Завершения, | УдержанияРаботниковОрганизации.Валюта4Завершения, | УдержанияРаботниковОрганизации.Валюта5Завершения, | УдержанияРаботниковОрганизации.Валюта6Завершения, | УдержанияРаботниковОрганизации.ФизЛицо | ИЗ | РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокРаботников КАК СписокРаботников | ПО УдержанияРаботниковОрганизации.ФизЛицо = СписокРаботников.Физлицо | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеУдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизацииПроверка | ПО (УдержанияРаботниковОрганизацииПроверка.Организация = УдержанияРаботниковОрганизации.Организация) | И (УдержанияРаботниковОрганизацииПроверка.ФизЛицо = УдержанияРаботниковОрганизации.ФизЛицо) | И (УдержанияРаботниковОрганизацииПроверка.ВидРасчета = УдержанияРаботниковОрганизации.ВидРасчета) | И (УдержанияРаботниковОрганизацииПроверка.ДокументОснование = УдержанияРаботниковОрганизации.ДокументОснование) | И (УдержанияРаботниковОрганизацииПроверка.Период > УдержанияРаботниковОрганизации.Период) | И (УдержанияРаботниковОрганизацииПроверка.Период <= УдержанияРаботниковОрганизации.ПериодЗавершения) | ГДЕ | УдержанияРаботниковОрганизации.ПериодЗавершения >= &парамНачало | И УдержанияРаботниковОрганизации.ПериодЗавершения <= &парамКонец | И УдержанияРаботниковОрганизации.Организация = &парамГоловнаяОрганизация | И УдержанияРаботниковОрганизацииПроверка.ФизЛицо ЕСТЬ NULL ) КАК УдержанияРаботниковОрганизации | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты1 | ПО (Валюты1.Период = &парамДатаВалютногоУчета) | И УдержанияРаботниковОрганизации.Валюта1 = Валюты1.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты2 | ПО (Валюты2.Период = &парамДатаВалютногоУчета) | И УдержанияРаботниковОрганизации.Валюта2 = Валюты2.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты3 | ПО (Валюты3.Период = &парамДатаВалютногоУчета) | И УдержанияРаботниковОрганизации.Валюта3 = Валюты3.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты4 | ПО (Валюты4.Период = &парамДатаВалютногоУчета) | И УдержанияРаботниковОрганизации.Валюта4 = Валюты4.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты5 | ПО (Валюты5.Период = &парамДатаВалютногоУчета) | И УдержанияРаботниковОрганизации.Валюта5 = Валюты5.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты6 | ПО (Валюты6.Период = &парамДатаВалютногоУчета) | И УдержанияРаботниковОрганизации.Валюта6 = Валюты6.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели | ПО УдержанияРаботниковОрганизации.Физлицо = Показатели.Сотрудник.Физлицо | И УдержанияРаботниковОрганизации.ВидРасчета = Показатели.ВидРасчета | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ | НеВводимыеПоказатели.Ссылка КАК Ссылка, | НеВводимыеПоказатели.НомерСтроки КАК НомерСтроки, | НеВводимыеПоказатели.Показатель КАК Показатель, | НеВводимыеПоказатели.Показатель.ВозможностьИзменения КАК ПоказательВозможностьИзменения, | СУММА(ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя) КАК ЗначениеПоказателя, | ЗначенияВводимыхКадровыхПоказателей.Сотрудник.ФизЛицо КАК ФизЛицо, | ЗначенияВводимыхКадровыхПоказателей.Период КАК Период | ИЗ | ВТНеЗапрашиваемыеПриКадровыхПеремещениях КАК НеВводимыеПоказатели | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТЗначенияВводимыхКадровыхПоказателей КАК ЗначенияВводимыхКадровыхПоказателей | ПО НеВводимыеПоказатели.Показатель = ЗначенияВводимыхКадровыхПоказателей.Показатель | ГДЕ | ЗначенияВводимыхКадровыхПоказателей.ЗначениеПоказателя <> 0 | | СГРУППИРОВАТЬ ПО | НеВводимыеПоказатели.Ссылка, | НеВводимыеПоказатели.НомерСтроки, | НеВводимыеПоказатели.Показатель, | НеВводимыеПоказатели.Показатель.ВозможностьИзменения, | ЗначенияВводимыхКадровыхПоказателей.Сотрудник.ФизЛицо, | ЗначенияВводимыхКадровыхПоказателей.Период) КАК ЗначенияВводимыхКадровыхПоказателей | ПО УдержанияРаботниковОрганизации.Физлицо = ЗначенияВводимыхКадровыхПоказателей.ФизЛицо | И (КОНЕЦПЕРИОДА(УдержанияРаботниковОрганизации.Период, МЕСЯЦ) = КОНЕЦПЕРИОДА(ЗначенияВводимыхКадровыхПоказателей.Период, МЕСЯЦ)) | И УдержанияРаботниковОрганизации.ВидРасчета = ЗначенияВводимыхКадровыхПоказателей.Ссылка"; // если не перерасчет - проверяем проведенность в расчетном периоде Если Не ЭтоПерерасчет Тогда ТекстЗапросаУдержаний = ТекстЗапросаУдержаний + " | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ | УдержанияРаботников.ФизЛицо КАК ФизЛицо, | УдержанияРаботников.ВидРасчета КАК ВидРасчета, | УдержанияРаботников.ДокументОснование КАК ДокументОснование | ИЗ | РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботников | ГДЕ | УдержанияРаботников.ПериодРегистрации = &парамПериодРегистрации | И УдержанияРаботников.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников) | И УдержанияРаботников.ОбособленноеПодразделение = &парамОрганизация | И УдержанияРаботников.Регистратор <> &парамРегистратор | И НАЧАЛОПЕРИОДА(УдержанияРаботников.БазовыйПериодНачало, МЕСЯЦ) = &парамПериодРегистрации) КАК ЗарегистрированныеУдержанияРаботников | ПО УдержанияРаботниковОрганизации.Физлицо = ЗарегистрированныеУдержанияРаботников.ФизЛицо | И УдержанияРаботниковОрганизации.ВидРасчета = ЗарегистрированныеУдержанияРаботников.ВидРасчета | И (ЗарегистрированныеУдержанияРаботников.ДокументОснование = ВЫБОР | КОГДА УдержанияРаботниковОрганизации.ДокументОснование ССЫЛКА Документ.ИсполнительныйЛист | ТОГДА УдержанияРаботниковОрганизации.ДокументОснование | ИНАЧЕ ЗНАЧЕНИЕ(Документ.ИсполнительныйЛист.ПустаяСсылка) | КОНЕЦ) |ГДЕ | ЗарегистрированныеУдержанияРаботников.ФизЛицо ЕСТЬ NULL "; КонецЕсли; ТекстЗапросаУдержаний = ТекстЗапросаУдержаний + " | |УПОРЯДОЧИТЬ ПО | ФизлицоНаименование, | Физлицо, | ДокументОснование, | ВидРасчета, | УдержанияРаботниковОрганизации.Период"; Запрос.Текст = ТекстЗапросаУдержаний; УдержанияВыборка = Запрос.Выполнить().Выбрать(); ТЗУдержания = СформироватьТаблицуУдержаний(УдержанияВыборка, ОкончаниеПериодаЗаполнения, МассивВалютСНезаданнымКурсом); Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда ТЗУдержания.Очистить(); КонецЕсли; СтруктураПоиска = Новый Структура("Сторно,ФизЛицо,ВидРасчета,ДокументОснование,ДатаНачала", Ложь); Для каждого СтрокаУдержания Из ТЗУдержания Цикл ЗаполнитьЗначенияСвойств(СтруктураПоиска,СтрокаУдержания); Если Удержания.НайтиСтроки(СтруктураПоиска).Количество() = 0 Тогда ЗаполнитьЗначенияСвойств(Удержания.Добавить(),СтрокаУдержания) КонецЕсли; КонецЦикла; КонецЕсли; Если МассивВалютСНезаданнымКурсом.Количество() > 0 Тогда МассивРасшифровки = Новый Массив; МассивРасшифровки.Добавить("ОткрытьФормуСписка"); МассивРасшифровки.Добавить("РегистрыСведений.КурсыВалютДляРасчетовСПерсоналом"); Расшифровки = Новый Массив; Расшифровки.Добавить(Новый Структура("Представление,Расшифровка", "Заполните курс валют" + " ", МассивРасшифровки)); Для Каждого КлючЗначение Из МассивВалютСНезаданнымКурсом Цикл ОбщегоНазначения.ВывестиИнформациюОбОшибке("Для расчетного периода не задан курс валюты " + КлючЗначение.Ключ,,,Перечисления.ВидыСообщений.Ошибка, Расшифровки); КонецЦикла; Возврат Ложь; КонецЕсли; // АВТОЗАПОЛНЕНИЕ ТЧ "НДФЛ" Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ Тогда Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | НДФЛСведенияОДоходах.ФизЛицо |ИЗ | РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах |ГДЕ | НДФЛСведенияОДоходах.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников) | И НДФЛСведенияОДоходах.ПериодРегистрации = &парамПериодРегистрации | И НДФЛСведенияОДоходах.ОбособленноеПодразделение = &парамОрганизация | И НДФЛСведенияОДоходах.Регистратор <> &Ссылка"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл РаботникиДляРасчетаНДФЛ.Вставить(Выборка.Физлицо, 0); КонецЦикла; // заполним НДФЛ СтруктураПоиска = Новый Структура("ФизЛицо,МесяцНалоговогоПериода"); Для Каждого Элемент Из РаботникиДляРасчетаНДФЛ Цикл СтруктураПоиска.ФизЛицо = Элемент.Ключ; СтруктураПоиска.МесяцНалоговогоПериода = НачалоМесяца(ПериодРегистрации); Если НДФЛ.НайтиСтроки(СтруктураПоиска).Количество() = 0 Тогда ЗаполнитьЗначенияСвойств(НДФЛ.Добавить(),СтруктураПоиска) КонецЕсли; КонецЦикла; КонецЕсли; // заполняем погашение займов Если ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет ИЛИ ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПогашениеЗаймов Тогда // погашение займов ТекстЗапросаУдержаний = "ВЫБРАТЬ | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо КАК ФизЛицо, | ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма КАК ДоговорЗайма, | ВЫБОР | КОГДА ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма.НачислятьМатериальнуюВыгоду | ТОГДА ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма.СтавкаНалогообложенияРезидента | ИНАЧЕ НЕОПРЕДЕЛЕНО | КОНЕЦ КАК СтавкаНалогообложенияМатвыгоды |ПОМЕСТИТЬ ВТЗаемщики |ИЗ | РегистрНакопления.ПогашениеЗаймовРаботникамиОрганизаций.Остатки( | &парамНачало, | Организация = &парамОрганизация | И (ДоговорЗайма.НачалоПогашения <= &парамНачало | ИЛИ ДоговорЗайма.ПроцентЗаПользованиеЗаймом > 0 | ИЛИ ДоговорЗайма.НачислятьМатериальнуюВыгоду) | И Физлицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников | ГДЕ | СписокРаботников.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство))) КАК ПогашениеЗаймовРаботникамиОстатки | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | ПогашениеЗаймовРаботникамиОбороты.ФизЛицо, | ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма, | ВЫБОР | КОГДА ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма.НачислятьМатериальнуюВыгоду | ТОГДА ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма.СтавкаНалогообложенияРезидента | ИНАЧЕ НЕОПРЕДЕЛЕНО | КОНЕЦ |ИЗ | РегистрНакопления.ПогашениеЗаймовРаботникамиОрганизаций КАК ПогашениеЗаймовРаботникамиОбороты |ГДЕ | (ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма.НачалоПогашения <= &парамНачало | ИЛИ ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма.ПроцентЗаПользованиеЗаймом > 0 | ИЛИ ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма.НачислятьМатериальнуюВыгоду) | И ПогашениеЗаймовРаботникамиОбороты.Организация = &парамОрганизация | И ПогашениеЗаймовРаботникамиОбороты.ФизЛицо В | (ВЫБРАТЬ | СписокРаботников.Физлицо | ИЗ | ВТСписокРаботников КАК СписокРаботников | ГДЕ | СписокРаботников.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) | И ПогашениеЗаймовРаботникамиОбороты.Период МЕЖДУ &парамНачало И &парамКонец | И ПогашениеЗаймовРаботникамиОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) | |ИНДЕКСИРОВАТЬ ПО | ФизЛицо, | ДоговорЗайма |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РаботникиОрганизаций.Сотрудник.Физлицо КАК Физлицо, | МАКСИМУМ(РаботникиОрганизаций.Период) КАК ДатаРегистра |ПОМЕСТИТЬ ВТПериодыЗаписейРегистра |ИЗ | РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций |ГДЕ | РаботникиОрганизаций.Организация = &парамГоловнаяОрганизация | И РаботникиОрганизаций.Период <= &парамКонец | И РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) | И РаботникиОрганизаций.Сотрудник В | (ВЫБРАТЬ | СписокРаботников.Сотрудник | ИЗ | ВТСписокРаботников КАК СписокРаботников) | И РаботникиОрганизаций.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) | |СГРУППИРОВАТЬ ПО | РаботникиОрганизаций.Сотрудник.Физлицо | |ИНДЕКСИРОВАТЬ ПО | Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Периоды.Физлицо КАК Физлицо, | ВЫБОР | КОГДА РаботникиОрганизаций.ПериодЗавершения <= &парамКонец | И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения | ИНАЧЕ РаботникиОрганизаций.ПодразделениеОрганизации | КОНЕЦ КАК ПодразделениеОрганизации |ПОМЕСТИТЬ ВТПодразделения |ИЗ | ВТПериодыЗаписейРегистра КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций | ПО Периоды.Физлицо = РаботникиОрганизаций.Сотрудник.Физлицо | И Периоды.ДатаРегистра = РаботникиОрганизаций.Период | И (РаботникиОрганизаций.Организация = &парамГоловнаяОрганизация) | И (РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) | И (РаботникиОрганизаций.Сотрудник В | (ВЫБРАТЬ | СписокРаботников.Сотрудник | ИЗ | ВТСписокРаботников КАК СписокРаботников)) | И (РаботникиОрганизаций.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) | |ИНДЕКСИРОВАТЬ ПО | Физлицо |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо, | ПогашениеЗаймовРаботникамиОстатки.ФизЛицо.Наименование КАК ФизЛицоНаименование, | ПогашениеЗаймовРаботникамиОстатки.СтавкаНалогообложенияМатвыгоды, | ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма, | РаботникиОрганизаций.ПодразделениеОрганизации |ИЗ | ВТЗаемщики КАК ПогашениеЗаймовРаботникамиОстатки | ЛЕВОЕ СОЕДИНЕНИЕ ВТПодразделения КАК РаботникиОрганизаций | ПО ПогашениеЗаймовРаботникамиОстатки.ФизЛицо = РаботникиОрганизаций.Физлицо | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПогашениеЗаймовРаботникамиОрганизаций КАК ПогашениеЗаймовРаботникамиОбороты | ПО ПогашениеЗаймовРаботникамиОстатки.ФизЛицо = ПогашениеЗаймовРаботникамиОбороты.ФизЛицо | И ПогашениеЗаймовРаботникамиОстатки.ДоговорЗайма = ПогашениеЗаймовРаботникамиОбороты.ДоговорЗайма | И (ПогашениеЗаймовРаботникамиОбороты.Период МЕЖДУ &парамНачало И &парамКонец) | И (ПогашениеЗаймовРаботникамиОбороты.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций) | И (ВЫРАЗИТЬ(ПогашениеЗаймовРаботникамиОбороты.Регистратор КАК Документ.НачислениеЗарплатыРаботникамОрганизаций).ПериодРегистрации = &парамПериодРегистрации) |ГДЕ | ПогашениеЗаймовРаботникамиОбороты.ФизЛицо ЕСТЬ NULL | |УПОРЯДОЧИТЬ ПО | ФизЛицоНаименование"; Запрос.Текст = ТекстЗапросаУдержаний; СтруктураПоиска = Новый Структура("ФизЛицо,ДоговорЗайма,Сторно",Неопределено, Неопределено, Ложь); Для каждого СтрокаУдержания Из Запрос.Выполнить().Выгрузить() Цикл ЗаполнитьЗначенияСвойств(СтруктураПоиска,СтрокаУдержания); Если ПогашениеЗаймов.НайтиСтроки(СтруктураПоиска).Количество() = 0 Тогда ЗаполнитьЗначенияСвойств(ПогашениеЗаймов.Добавить(),СтрокаУдержания) КонецЕсли; КонецЦикла; КонецЕсли; Возврат Истина; КонецФункции