![]() |
#4 |
Administrator
|
Есть очень классный календарь в los-слое с зарплатой. Находится он в \Расчеты с персоналом\Учет рабочего времени\Календарь\Календари. В нем задаются календарь, шаблон (5 дней для обычной рабочей недели) и самое главное - в нем можно задавать вручную все выходные дни, не попадающие на субботу/воскресенье или рабочие дни, наоборот попадающие на субботу/воскресенье. Т.е. задать фактически только исключения из общего правила, что сб, вс выходные, а остальные дни рабочие.
Также там можно по кнопке Расписания создать времена и указать любой диапазон времени. В коде сей механизм вызывается через статические методы, расположенные на таблице RPayCalendarTable, в частности для Вас интересен метод periodWorkDays А вот такой код - Вам поможет получить дату, ближайшую в будущем после заданной Вами, которая является рабочим днем: X++: #Define.MyDate(systemdateget()) rPayCalendarId = RPayCalendarTable::findCalendarType(RpayCalendarType::FiveDay).CalendarId; select firstonly rPaycalendarDate where rPaycalendarDate.TransDate > #MyDate && rPaycalendarDate.CalendarId == rPayCalendarId && rPaycalendarDate.PayDayType == RPayDayType::WorkDay;
__________________
Возможно сделать все. Вопрос времени |
|