Добрый день!
Может кто в курсе: есть такая функция или нет: количество рабочих дней в периоде.
И в какой таблице хранятся данные рабочего графика?
Спасибо!
Функция: количество рабочих дней в периоде
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Беларусь, Минск
- Контактная информация:
Re: Функция: количество рабочих дней в периоде
{---------------------------------------------------------------------------}
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}
{Расчет даты окончания с учетом переходов}
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
Re: Функция: количество рабочих дней в периоде
Спасибо, Павел!
в каком ресурсе лежат эти функции? может его дополнительно надо подключить?
в каком ресурсе лежат эти функции? может его дополнительно надо подключить?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Функция: количество рабочих дней в периоде
в g_zarpl.dll по всей видимости
подключать соотвественно все подряд в особенности extfun.res,g_zarpl.res,zar.res
если не поможет то просто опиши у себя
Function DatOkSmen (date,double):date;external 'g_zarpl.dll';
подключать соотвественно все подряд в особенности extfun.res,g_zarpl.res,zar.res
если не поможет то просто опиши у себя
Function DatOkSmen (date,double):date;external 'g_zarpl.dll';
Re: Функция: количество рабочих дней в периоде
Попробовала использовать две функции: DniGr и ChaGr.
В результате, выбираю отчет (он минуты 3 формировался до использования этих функций) - теперь минуту формирует, а потом Галактика закрывается без всяких сообщений. В чем может быть проблема?
В результате, выбираю отчет (он минуты 3 формировался до использования этих функций) - теперь минуту формирует, а потом Галактика закрывается без всяких сообщений. В чем может быть проблема?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Функция: количество рабочих дней в периоде
да к некоторым функциям нужно перед их запускам запустить типа Init...
ну а потом done...
иногда еще чего то.
попробуйте либо открыт какой нибудь фейс типа табеля или даже лиц.счета.
или в форме в начале выполнить
IntInit
в конце не забудьте
ExitProc
- может помочь - но иногда нужно еще чего нибудь.
ну а потом done...
иногда еще чего то.
попробуйте либо открыт какой нибудь фейс типа табеля или даже лиц.счета.
или в форме в начале выполнить
IntInit
в конце не забудьте
ExitProc
- может помочь - но иногда нужно еще чего нибудь.
-
- Местный житель
- Сообщения: 216
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Беларусь, Минск
- Контактная информация:
Re: Функция: количество рабочих дней в периоде
yes! ;D
at begin (cmInit)
if (not IntInit)
{
abort;
exit;
}
at end (cmDone)
ExitProc;
at begin (cmInit)
if (not IntInit)
{
abort;
exit;
}
at end (cmDone)
ExitProc;
dP