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

ПНР и сопровождение

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

Ответить
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение hope »

Добрый день!
Может кто в курсе: есть такая функция или нет: количество рабочих дней в периоде.
И в какой таблице хранятся данные рабочего графика?
Спасибо!
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение 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}
{Расчет даты окончания с учетом переходов}
dP
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение hope »

Спасибо, Павел!
в каком ресурсе лежат эти функции? может его дополнительно надо подключить?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

в g_zarpl.dll по всей видимости :)
подключать соотвественно все подряд в особенности extfun.res,g_zarpl.res,zar.res
если не поможет то просто опиши у себя
Function DatOkSmen (date,double):date;external 'g_zarpl.dll';
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение hope »

Попробовала использовать две функции: DniGr и ChaGr.
В результате, выбираю отчет (он минуты 3 формировался до использования этих функций) - теперь минуту формирует, а потом Галактика закрывается без всяких сообщений. В чем может быть проблема?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

да к некоторым функциям нужно перед их запускам запустить типа Init...
ну а потом done...
иногда еще чего то.
попробуйте либо открыт какой нибудь фейс типа табеля или даже лиц.счета.
или в форме в начале выполнить
IntInit
в конце не забудьте
ExitProc
- может помочь - но иногда нужно еще чего нибудь.
:)
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение dp »

yes! ;D

at begin (cmInit)

if (not IntInit)
{
abort;
exit;
}

at end (cmDone)

ExitProc;
dP
Ответить