Расчет отпуска вопрос с расчетным временем - Каминсофт

Расчет отпуска вопрос с расчетным временем

17 окт 2014 05:38 #1
от Инга_Никифорова
Здравствуйте, подскажите пожалуйста корректно ли заполнение расчетного времени (л_ОтрабКалендДней =0), если один и тот же человек уволен 14.04.14 а 15.04.14 снова принят на работу под одним табельным номером.
Когда я делаю расчет отпуска - Отпуск очередной, я вижу что человек проработал не о по расчетному времени а больше >0,
причина в следующем: в Функции ПолучитьДокументУвольнение результат регистратора возвращает не пустым значение и из-за это л_ДатаУвольнения = 14.04.2014

л_ДокументУвольнение = ПолучитьДокументУвольнение();
л_ДатаУвольнения = Неопределено;
Если л_ДокументУвольнение <> Неопределено Тогда
л_ТаблицаДокумента = л_ДокументУвольнение.ТаблицаДокумента.Выгрузить();
л_СтрокиДокумента = л_ТаблицаДокумента.НайтиСтроки(Новый Структура("Сотрудник,Уровень",Сотрудник,1));
Если л_СтрокиДокумента.Количество() > 0 Тогда
л_СтрокаУв = л_СтрокиДокумента[0];
Иначе
л_СтрокиДокумента = л_ТаблицаДокумента.НайтиСтроки(Новый Структура("Сотрудник,Уровень",Сотрудник,0));
Если л_СтрокиДокумента.Количество() > 0 Тогда
л_СтрокаУв = л_СтрокиДокумента[0];
КонецЕсли;
КонецЕсли;
Если л_СтрокаУв <> Неопределено Тогда
л_ДатаУвольнения = л_СтрокаУв.ДатаУвольнения;
КонецЕсли;
КонецЕсли;

и в последующем в условии присваетвается значение

л_ПоследнийДень = День(КонецМесяца(л_НачДата));
Если л_ДатаУвольнения <> Неопределено И КонецМесяца(л_НачДата) = КонецМесяца(л_ДатаУвольнения) Тогда
л_ПоследнийДень = День(л_ДатаУвольнения);
КонецЕсли;


ПоследнийДень =14,

и в результате


Для л_Сч = л_День по л_ПоследнийДень Цикл
л_ДобавитьДень = 1;
Если Не ФлажокНеИсключатьПраздникиДляКалендарныхДнейРасчетногоПериода Тогда
л_Праздник = л_СоответствиеПраздников.Получить(л_Сч);
Если л_Праздник <> Неопределено Тогда
л_ДобавитьДень = 0;
КонецЕсли;
КонецЕсли;
л_ЗначениеНеотр = л_СоответствиеНеотр.Получить(л_Сч);
Если л_ЗначениеНеотр = Неопределено Тогда
л_ОтрабКалендДней = л_ОтрабКалендДней + л_ДобавитьДень;
КонецЕсли;
КонецЦикла;
л_ОтрабКалендДней = л_ОтрабКалендДней + л_ДобавитьДеньОтпуска;

ОтрабКалендДней не рассчитывается, так как цикл не отрабатывается сответственно.

Файл во вложении. Спасибо.
Тема закрыта.

17 окт 2014 15:08 #2
от Наталья Иванова ГК КАМИН
Здравствуйте.
Ситуацию смоделировали по Вашему описанию.После повторного приема на работу и оформления отпуска в апреле у сотрудника 16 календарных отработанных дней.
Ситуация не ясна, что не так. Опишите более подробно с приведением конкретного примера.

Иванова Наталья
Группа компаний КАМИН
Тема закрыта.

20 окт 2014 01:53 #3
от Инга_Никифорова
Вопрос снят, некорректно заполнили корректировку ежегодного отпуска наши сотрудники. Спасибо.
Тема закрыта.

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie и пользовательских данных в целях функционирования сайта, проведения ретаргетинга и статистических исследований, обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.

Принять