Сколько часов в табеле?

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
niteo
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 17 сен 2009, 11:39
Контактная информация:

Сколько часов в табеле?

Сообщение niteo »

Доброго всем дня. Возникла необходимость знать сколько часов работник в конкретный день отработал, и узнать какой ТИП у этого дня. Как я понял все данные по табелю, и по типу дня берутся из LSTAB НО.... допустим для командировки значение колличества отработанных часов за день (DAYCHF[...]) равно 8,000000000000004. Для выходного - 0. Для ОТ, ДБ, ОЖ -254. Как точно определить к какому типу относится отработанный день и сколько часов отработал человек....
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

есть хороший функционал
http://www.tyumbit.ru/gal_forum/viewtopic.php?t=8714
niteo
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 17 сен 2009, 11:39
Контактная информация:

Сообщение niteo »

Много хороших функций, спасибо. Но мне необходимо получить конкретное количество отработанных часов за день, а так же Тип этого дня. Там такой функции я не нашел. Есть похожие, НО.... они говорят чтобы я ввел "вид часов" и тогда я получу количество часов. А мне надо получить тип часов (из справочника "Условные обозначения дней расчетного месяца") и количество часов.
Вот, хотелось бы как то так.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

кусок кода вам поможет (он возвращает за период), могут быть и другие вариации когда именно за день.

Код: Выделить всё

     if k=1 then WT_AddDayRangeFilter(1,15) 
            else WT_AddDayRangeFilter(16,31) 
     if WT_LoadMonthlyAbsences = 0
     {
      for(j := 0; j < WT_GetAbsenceCount(atMonthly); Inc(j))
      {
        var Notation: comp;
        if not WT_GetAbsenceAttribute(atMonthly, j, aaNotation, Notation)
        or (Notation = 0)
          continue;

        var Hours: double;
        var Days: byte;

        WT_GetAbsenceAttribute(atMonthly, j, aaHours, Hours);
        WT_GetAbsenceAttribute(atMonthly, j, aaDays, Days);
niteo
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 17 сен 2009, 11:39
Контактная информация:

Сообщение niteo »

2 edward_K Думаю это то что надо. Буду пробовать :) Спасибо огромное.
2 Алексей простите, не разобрался до конца, со всеми функциями. :grin:
Ответить