Всем доброго!
Сегодня наткнулся на интересный глючок: у сотрудника за 4 июля было 744 часа отработанного времени. Начал разбираться. Оказалось, что девушка в тот день не закрыла рабочий день. Соответственно, модуль проверил, что TIME_FINISH не установлен и начал проверять на bExpired.
Поскольку в bExpired сравнивается только текущее число getDate(), то условие выполнилось (день не отметился как истекший). Получилась вот такая веселая переработка.
У себя заменил на следующую проверку:
Проверка происходит в шаблоне компонента timeman.report, в файле script.js, функция JCTimeManReportEntry.prototype.checkEntry.
Макс Сидоренко заверил, что ошибка исправлена и выйдет в ближайшем обновлении:)
Сегодня наткнулся на интересный глючок: у сотрудника за 4 июля было 744 часа отработанного времени. Начал разбираться. Оказалось, что девушка в тот день не закрыла рабочий день. Соответственно, модуль проверил, что TIME_FINISH не установлен и начал проверять на bExpired.
Код |
---|
this.bFinished = !!this.entry.TIME_FINISH; this.bExpired = !this.bFinished && (this.entry.DAY.getDate() != this.today.getDate()); |
Поскольку в bExpired сравнивается только текущее число getDate(), то условие выполнилось (день не отметился как истекший). Получилась вот такая веселая переработка.
У себя заменил на следующую проверку:
Код |
---|
this.bFinished = !!this.entry.TIME_FINISH; this.bExpired = !this.bFinished && (this.entry.DAY.getDate()+'.'+this.entry.DAY.getMonth()+'.'+this.entry.DAY.getYear() != this.today.getDate()+'.'+this.today.getMonth()+'.'+this.today.getYear()); |
Проверка происходит в шаблоне компонента timeman.report, в файле script.js, функция JCTimeManReportEntry.prototype.checkEntry.
Макс Сидоренко заверил, что ошибка исправлена и выйдет в ближайшем обновлении:)