Управление персоналом
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 2898
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Управление персоналом
Есть ли функция, которая бы считала среднесписочную численность сотрудников по подразделению?
-
- Слесарь-системщик
- Сообщения: 304
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: р.Беларусь, Унитарное предприятие "ТОП СОФТ"
- Контактная информация:
Содержимое IApnCalculator.obj
Содержимое ApnCalculator.vih
Если не ошибаюсь, перед вызовом метода GetNumber нужно было загрузить табель работника с помощью функции LoadWorkingTable (перед использованием табельных функций нужно вызвать InitWorkingTable, по окончании работы с ними - DoneWorkingTable) . Период для выборки должен попадать в границы календарного месяца.
Понятно, что калькулятор рассчитывает ССЧ для одного отдельно взятого лицевого счета. Чтобы получить ССЧ по некоторому подразделению, придется обойти все его лицевые счета и подсуммировать их ССЧ.
Код: Выделить всё
//------------------------------------------------------------------------------
// (с) корпорация Галактика
// Галактика 7.12 - Заработная плата
// Описание obj-интерфейса расчета среднесписочной численности
//------------------------------------------------------------------------------
#ifndef _IAPNCALCULATOR_OBJ_INCLUDED_
#define _IAPNCALCULATOR_OBJ_INCLUDED_
#ifdef ComponentVersion
#component "Z_WT"
#end
#doc
Объектный интерфейс калькулятора среднесписочной численности
#end
objinterface IAveragePayrollNumberCalculator;
#doc
Возвращает среднюю продолжительность рабочего дня OnDay.
#end
function GetWorkingDayAverageTime(OnDay: byte): double;
#doc
Возвращает среднесписочную для лицевого счета с nrec = PersonalAccountRef
за период с PeriodBeginning по PeriodEnding.
#end
function GetNumber(PersonalAccountRef: comp; PeriodBeginning, PeriodEnding: date): double;
end;
#end
Код: Выделить всё
//------------------------------------------------------------------------------
// (с) корпорация Галактика
// Галактика 5.8 - Заработная плата
// Декларация vip-интерфейса расчета среднесписочной численности
//------------------------------------------------------------------------------
#ifndef _APNCALCULATOR_VIH_INCLUDED_
#define _APNCALCULATOR_VIH_INCLUDED_
#include IApnCalculator.obj
#ifdef ComponentVersion
#component "Z_WT"
#end
vipinterface AveragePayrollNumberCalculator implements IAveragePayrollNumberCalculator
#ifdef ATL51
licensed(free)
#end
;
#end
Понятно, что калькулятор рассчитывает ССЧ для одного отдельно взятого лицевого счета. Чтобы получить ССЧ по некоторому подразделению, придется обойти все его лицевые счета и подсуммировать их ССЧ.
Виталий
-
- Местный житель
- Сообщения: 2898
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Screw
спасибо, это работает
Печалит только одно, что временной период должен быть в пределах календарного месяца... т.к. загрузка табеля делается за определенный месяц.
Просто ССЧ зачастую требуется с начала года на определённую дату.
Может быть можно загрузить сразу несколько табелей за вес год, например в цикле от 1 до 12 и потом расчитать ССЧ уже за нужный период?
спасибо, это работает

Печалит только одно, что временной период должен быть в пределах календарного месяца... т.к. загрузка табеля делается за определенный месяц.
Просто ССЧ зачастую требуется с начала года на определённую дату.
Может быть можно загрузить сразу несколько табелей за вес год, например в цикле от 1 до 12 и потом расчитать ССЧ уже за нужный период?