Доброго времени суток, уважаемые.
Все время устанавливая дату закрытого периода, был уверен что там дата с учетом того числа которое указано.
Ну типа все закрыто учитывая эта дату.
Ну и
дока располагает какбэ к этому
Цитата:
Для закрытого периода устанавливается его правая граница.
Считал что в биллинге правая граница считается как
dd.MM.yyyy 23:59:59Но сегодня один из бухов уточнил у меня почему он смог занести платеж от 30.09.2018 (такого вопроса не возникало, т.к. дополнительно висит скрипт запрещающий практически всем заносить платежи ранее текущей даты).
Полез ковырять и увидел что
Код:
public static void checkDatesForUpdate(Calendar closedDate, Calendar date, Calendar newDate) throws BGMessageException {
if (date != null && TimeUtils.dateBefore(date, closedDate)) {
throw new BGMessageException("Дата лежит в закрытом периоде - изменение невозможно!");
} else if (newDate != null && TimeUtils.dateBefore(newDate, closedDate)) {
throw new BGMessageException("Новая дата лежит в закрытом периоде - изменение невозможно!");
}
}
ИМХО более правильным будет использовать TimeUtils.dateBeforeOrEqual();
Если конечно такое поведение неправильное