Created
March 4, 2019 14:45
-
-
Save PlugFox/064ac2b89bfdf5ad39e88ba6f948df7e to your computer and use it in GitHub Desktop.
Расчет отпускных
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Запрос = Новый Запрос(" | |
|// Коэффициент по умолчанию равен 29.3 | |
|ВЫБРАТЬ | |
| НачалоПериода(ДанныеПоТабелю.Период, МЕСЯЦ) КАК Период, | |
| ДниОборот КАК КоличествоРабочихДней, | |
| День(КонецПериода(ДанныеПоТабелю.Период, МЕСЯЦ)) КАК КоличествоДнейВМесяце, | |
| ВЫБОР | |
| КОГДА Месяц(Период) + Год(Период) * 100 = 201801 И ДниОборот = 23 | |
| ТОГДА &Коэффициент // Исключение для января 2018, из за кадрового перевода | |
| ИНАЧЕ &Коэффициент*ДниОборот/День(КонецПериода(ДанныеПоТабелю.Период, МЕСЯЦ)) | |
| КОНЕЦ КАК Коэффициент | |
|ПОМЕСТИТЬ ДанныеПоТабелю | |
|ИЗ | |
| РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениСотрудников.Обороты( | |
| НачалоПериода(ДобавитьКДате(&ДатаНачала, МЕСЯЦ, -12), Месяц) | |
| , КонецПериода(ДобавитьКДате(&ДатаНачала, МЕСЯЦ, -1), Месяц) | |
| , Месяц | |
| , Сотрудник = &Сотрудник | |
| И ВидУчетаВремени В( | |
| Значение(Справочник.ВидыИспользованияРабочегоВремени.ВыходныеДни) | |
| , Значение(Справочник.ВидыИспользованияРабочегоВремени.Явка)) // Учитываем за рабочие дни только явку и выходные дни | |
| ) КАК ДанныеПоТабелю | |
|; | |
|ВЫБРАТЬ | |
| НачалоПериода(Начисления.Период, МЕСЯЦ) КАК Месяц, | |
| ЕстьNULL(СуммаОборот, 0) КАК Начисление, | |
| ЕстьNULL(Коэффициент, &Коэффициент) КАК Коэффициент, | |
| ЕстьNULL(КоличествоРабочихДней, День(КонецПериода(Начисления.Период, МЕСЯЦ))) КАК КоличествоРабочихДней, | |
| День(КонецПериода(ДанныеПоТабелю.Период, МЕСЯЦ)) КАК КоличествоДнейВМесяце | |
|ИЗ | |
| РегистрНакопления.НачисленияУдержанияПоСотрудникам.Обороты( | |
| НачалоПериода(ДобавитьКДате(&ДатаНачала, МЕСЯЦ, -12), Месяц) | |
| , КонецПериода(ДобавитьКДате(&ДатаНачала, МЕСЯЦ, -1), Месяц) | |
| , Месяц | |
| , Сотрудник = &Сотрудник | |
| И НачислениеУдержание ССЫЛКА ПланВидовРасчета.Начисления // Берем только начисления без НДФЛ | |
| И (НачислениеУдержание.Наименование ПОДОБНО ""%оклад%"" // Учитываем отпуск в начислениях | |
| // ИЛИ НачислениеУдержание.Наименование ПОДОБНО ""%прем%"" // Учитываем премии в начислениях | |
| ) | |
| ) КАК Начисления | |
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоТабелю КАК ДанныеПоТабелю | |
| ПО НачалоПериода(Начисления.Период, МЕСЯЦ) = НачалоПериода(ДанныеПоТабелю.Период, МЕСЯЦ) | |
|УПОРЯДОЧИТЬ ПО | |
| Месяц ВОЗР | |
|ИТОГИ | |
| Количество(Месяц), | |
| Сумма(Начисление), | |
| Сумма(Коэффициент) | |
|ПО | |
| ОБЩИЕ"); | |
Запрос.УстановитьПараметр("Коэффициент", 29.3); | |
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНачала)); | |
Запрос.УстановитьПараметр("Сотрудник", Сотрудник); | |
ВыборкаИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment