edward_K писал(а):заведите массив, залейте его по табелю (lstab.days) и все.
для надежности - если табель вдруг не переформировали - можете сверху пройтись по неявкам и по их периоду исправить этот массив.
Не лучший способ, т.к. в lstab.days отражаются только неявки, целиком занявшие остаток рабочего времени. То есть, выяснить, какие еще неявки (нецелодневные) пришлись на этот день, не получится.
niteo писал(а):Делаю так:
Код: Выделить всё
WT_GetAbsenceAttribute(atMonthly, WT_AbsencesMapAbsenceAt(atMonthly, WT_AbsencesMapLastOn(atMonthly, ds)), aaNotation, Notation)
ds - дата на которую смотрю отклонения.
На выходе вместо ОТ получаю В. И такое ощущение что она на план завязана. А мне желательно что бы она не опиралась ни на что, то есть стоит если в табеле В или ОТ то она и выдавала В или ОТ, независимо от плана.
Не советую делать вложенные вызовы функций, т.к. те из них, которые возвращают индекс элемента в некотором списке, могут вернуть -1 для индикации неуспешного результата. Для порядка стоит добавить проверки.
Списки неявок всегда отражают фактическое состояние табеля (с учетом наложенных фильтров, разумеется).
Кстати, в доке неточность: WT_AbsencesMapLastOn возвращает индекс элемента карты неявок, а не самой неявки.