Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Отпуска ЗУП 3.1

Отпуска ЗУП 3.1
Я
   Gurgin
 
12.08.20 - 10:11
Здравствуйте, подскажите, как решить задачу:

Например, есть документ Отпуск. При выставлении даты и количества дней отпуска автоматически заполняется период, за который предоставляется этот самый отпуск. С этим все понятно, но как вытащить потраченные дни отпуска по каждому году из данного периода?

Т.е., предположим, у сотрудника остаток отпуска 150 дней за период от 2016 по 2019 года, в отпуск он ушел на 60 дней, подцепив при этом 2016, 2017 и 2018 год, остаток очевидно будет 90. Но как получить дни из подцепленных периодов, которые были потрачены? Необходимо адаптировать запрос из отчета "Остатки отпусков" или есть другое решение?
   d4rkmesa
 
1 - 12.08.20 - 10:38
Можно через программный интерфейс. Или я неправильно понял.

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

   Gurgin
 
2 - 12.08.20 - 15:15
(1) Практически то что надо было. Спасибо!!!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.