2015-02-06 11:37:43
Краткое описание :
Продление отпусков в табелеОписание :
Формирование табеляЧто измененно :
Выявлено множество случаев, когда отпуска оказываются продленными вследствие пересечений с другими отпусками, и такой результат оказывается неожиданным для пользователя. При этом с точки зрения работы программы всё верно, поскольку основные отпуска должны продлевать другие основные отпуска, если уж возникло пересечение. Но проблема в том, что основной это отпуск или нет, определяется по коду вида отпуска: значение 20 и меньше интерпретируется как основной отпуск. Следовательно, все отпуска с такими кодами интерпретируются как продлеваемые и продлевающие. Практика показывает, что у пользователей много видов отпусков с кодами до 20, при этом они далеко не основные, и возникают нежелательные продления.
Необходимо отделить продлеваемость отпуска от кода, и сделать это признаком в классификаторе видов отпусков. Потому что менять код отпуска неудобно, и диапазон кодов ограничен (до 40), может не хватить.
Как измененно :
Теперь продление отпусков в табеле регулируется не кодом отпуска, а флажками, добавленными в классификатор отпусков и неявок:
- "продлеваемый" - означает, что дни данного отпуска/целодневной неявки будут сдвигаться в табеле в случае пересечения с больничным, продлевающим отпуска согласно классификатору; при пересечении с другим отпуском/целодневной неявкой с признаком "продлевает отпуска".
- "продлевает отпуска" - означает, что данный отпуск/целодневная неявка будет продлевать собой другие отпуска/целодневные неявки с признаком "продлеваемый".
При первом запуске системы на данном обновлении происходит автоматическое выставление по умолчанию данных двух признаков в классификаторе отпусков таким образом, чтобы сохранилось прежнее поведение функционала:
- У видов отпусков с кодом 20 и ниже взводятся оба признака
- У видов отпусков с кодом от 30 до 39 включительно взводится только признак "продлевает отпуска"
- У остальных видов отпусков по умолчанию оба признака сброшены.