Страница 1 из 1

Функция: количество рабочих дней в периоде

Добавлено: 24 май 2004, 14:56
hope
Добрый день!
Может кто в курсе: есть такая функция или нет: количество рабочих дней в периоде.
И в какой таблице хранятся данные рабочего графика?
Спасибо!

Re: Функция: количество рабочих дней в периоде

Добавлено: 24 май 2004, 15:17
dp
{---------------------------------------------------------------------------}
function StavNinRaz(Y :Integer;M: Word):double; {$ifdef ZarExport} export; {$endif}
{определение ставки первого разряда}
function Tarif(SPL : word; RAZR : word; CODTAR : word; DATIZM : date; var KOLM : double; var TRF : double ):boolean; {$ifdef ZarExport} export; {$endif}
{определение тарифа}
{определение тарифа из TarStav}
function TarS(SPL : word; RAZR : word; CODTAR : word; DATIZM : date ): double; {$ifdef ZarExport} export; {$endif}
{Считать календарь по человеку}
function SetGrafGr(Mont,YeaT: integer; TabN : tTabN;
Rejim : word;Rejimc : word ):integer; {$ifdef ZarExport} export; {$endif}
function SetGraf(Mont: integer;YeaT: integer; TabN : tTabN;
Rejim : word) :integer; {$ifdef ZarExport} export; {$endif}
function DnB : word; {$ifdef ZarExport} export; {$endif}
{Возврат кол-ва дней по балансу }
function ChB:double; {$ifdef ZarExport} export; {$endif}
{Возврат кол-ва часов по балансу }
function DnGr : double; {$ifdef ZarExport} export; {$endif}
{Возврат кол-ва часов по графику}
function ChGr:double; {$ifdef ZarExport} export; {$endif}

function SrednChas:double; {$ifdef ZarExport} export; {$endif}

{Возврат к-ва часов одного дня}
function Ch0(code:word):Double; {$ifdef ZarExport} export; {$endif}

function DniGr(Mont: integer;YeaT: integer;Rejim : word) : double; {$ifdef ZarExport} export; {$endif}

function DniGrbet(FirstDay : word; LastDay : word) : word; {$ifdef ZarExport} export; {$endif}

{Возврат кол-ва часов по графику}
function ChaGr(Mont: integer;YeaT: integer;Rejim : word):double; {$ifdef ZarExport} export; {$endif}

function SrednCh(Mont: integer;YeaT: integer;Rejim : word):double; {$ifdef ZarExport} export; {$endif}

function SetKolDn (Data1: date; Data2: date; PrTabN: LongInt; PrRejim: Word):double; {$ifdef ZarExport} export; {$endif}
{определение к-ва дней по графику между датами в зависимости от режима работы}
Function SetKolDnAnn (Data1: date; Data2: date; PrTabN: LongInt; PrRejim: Word):double; {$ifdef ZarExport} export; {$endif}
{определение к-ва дней по графику между датами }
{отличается от предыдущей тем, что не открывает KLNDR и ERROUT }
procedure SetFilterPerexodAlt(PrTabN: LongInt;
FirstD1, {Дата начала периода}
DatR1 : date {Дата окончания периода}); {$ifdef ZarExport} export; {$endif}
{Установка фильтров на переходы}
procedure DeleteFilterPerexodAlt; {$ifdef ZarExport} export; {$endif}{Снимаем фильтры на переходы}
function PoiskPerexodAlt(Data1: date; Data2: date;
KlFlag: boolean {будем брать при расчете балансный график}
): word; {$ifdef ZarExport} export; {$endif}
{Функция заносит переходы в массивы}
function PoiskRejimPerexodAlt(Rabdate: date; Nymiy: word;
{Функция ищет текущий режим} PrRejim,UchRejim : Word;var iy: word): word; {$ifdef ZarExport} export; {$endif}
Function SetKolDnPerexod (Data1: date; Data2: date; PrTabN: LongInt; PrRejim: Word;
KlFlag: boolean {будем брать при расчете балансный график}
): double; {$ifdef ZarExport} export; {$endif}

{Устанавливает к-во дней с учетом переходов в межпериод}
function DnGrD1D2 : double; {$ifdef ZarExport} export; {$endif}
{ Возврат кол-ва дней по графику между датами }
function ChGrD1D2:double; {$ifdef ZarExport} export; {$endif}
{ Возврат кол-ва часов по графику между датами }
Function SettDatOk (Data1: date; koldn:double ; PrTabN: LongInt; PrRejim: Word):date; {$ifdef ZarExport} export; {$endif}
{ Возврат даты окончания }
Function PoiskSmen (Data1: date; PrTabN: LongInt; PrRejim: Word ):tvidopl;
{$ifdef ZarExport} export; {$endif}
{Возвращает признак посменной работы}
Function DatOkSmen (Data1: date; Den:double):date; {$ifdef ZarExport} export; {$endif}
{ Возврат даты окончания оплаты нетрудоспособности в случае переходящих смен }
Function SettDatOkPerex (Data1: date; koldn:double ; PrTabN: LongInt; PrRejim: Word):date; {$ifdef ZarExport} export; {$endif}
{Расчет даты окончания с учетом переходов}

Re: Функция: количество рабочих дней в периоде

Добавлено: 25 май 2004, 09:20
hope
Спасибо, Павел!
в каком ресурсе лежат эти функции? может его дополнительно надо подключить?

Re: Функция: количество рабочих дней в периоде

Добавлено: 25 май 2004, 11:28
edward_K
в g_zarpl.dll по всей видимости :)
подключать соотвественно все подряд в особенности extfun.res,g_zarpl.res,zar.res
если не поможет то просто опиши у себя
Function DatOkSmen (date,double):date;external 'g_zarpl.dll';

Re: Функция: количество рабочих дней в периоде

Добавлено: 27 май 2004, 10:18
hope
Попробовала использовать две функции: DniGr и ChaGr.
В результате, выбираю отчет (он минуты 3 формировался до использования этих функций) - теперь минуту формирует, а потом Галактика закрывается без всяких сообщений. В чем может быть проблема?

Re: Функция: количество рабочих дней в периоде

Добавлено: 27 май 2004, 12:02
edward_K
да к некоторым функциям нужно перед их запускам запустить типа Init...
ну а потом done...
иногда еще чего то.
попробуйте либо открыт какой нибудь фейс типа табеля или даже лиц.счета.
или в форме в начале выполнить
IntInit
в конце не забудьте
ExitProc
- может помочь - но иногда нужно еще чего нибудь.
:)

Re: Функция: количество рабочих дней в периоде

Добавлено: 27 май 2004, 15:03
dp
yes! ;D

at begin (cmInit)

if (not IntInit)
{
abort;
exit;
}

at end (cmDone)

ExitProc;