0
Gurgin
12.08.20
✎
10:11
|
Здравствуйте, подскажите, как решить задачу:
Например, есть документ Отпуск. При выставлении даты и количества дней отпуска автоматически заполняется период, за который предоставляется этот самый отпуск. С этим все понятно, но как вытащить потраченные дни отпуска по каждому году из данного периода?
Т.е., предположим, у сотрудника остаток отпуска 150 дней за период от 2016 по 2019 года, в отпуск он ушел на 60 дней, подцепив при этом 2016, 2017 и 2018 год, остаток очевидно будет 90. Но как получить дни из подцепленных периодов, которые были потрачены? Необходимо адаптировать запрос из отчета "Остатки отпусков" или есть другое решение?
|
|
1
d4rkmesa
гуру
12.08.20
✎
10:38
|
Можно через программный интерфейс. Или я неправильно понял.
ДанныеОстатковОтпусков = ОстаткиОтпусков.ОстатокОтпускаСотрудникаНаДату(Объект.Сотрудник, Объект.ДатаОстатков);
Для Каждого Стр Из ДанныеОстатковОтпусков.ОстаткиВРазрезеВидовОтпусков Цикл
СтрокиТЧЕжегодныеОтпуска = Объект.ЕжегодныеОтпуска.НайтиСтроки(Новый Структура("ВидЕжегодногоОтпуска", Стр.ВидЕжегодногоОтпуска));
Для Каждого СтрЕжегодныеОтпуска Из СтрокиТЧЕжегодныеОтпуска Цикл
СтрЕжегодныеОтпуска.ОстатокНаДатуОстатков = Стр.КоличествоДней;
КонецЦикла;
КонецЦикла;
Объект.ОстаткиОтпусковПоРабочимГодам.Очистить();
Для Каждого СтрДанныеПоРабочимГодам Из ДанныеОстатковОтпусков.ОстаткиВРазрезеРабочихЛетИВидовОтпусков Цикл
НоваяСтрокаПоРабочимГодам = Объект.ОстаткиОтпусковПоРабочимГодам.Добавить();
НоваяСтрокаПоРабочимГодам.ВидЕжегодногоОтпуска = СтрДанныеПоРабочимГодам.ВидЕжегодногоОтпуска;
НоваяСтрокаПоРабочимГодам.РабочийГодНачало = СтрДанныеПоРабочимГодам.РабочийГодС;
НоваяСтрокаПоРабочимГодам.РабочийГодОкончание = СтрДанныеПоРабочимГодам.РабочийГодПо;
НоваяСтрокаПоРабочимГодам.Остаток = СтрДанныеПоРабочимГодам.КоличествоДней;
КонецЦикла;
|
|