Makra přebírající programové funkce

Tato makra budou spuštěna místo funkcí programu, budou-li nalezena v pomocném adresáři pro makra .

PamFind.Mac Makro spuštěné při vyhledávání zaměstnance.
PamPrev.Mac Makro spuštěné při kroku na předchozího zaměstnance.
PamNext.Mac Makro spuštěné při kroku na následujícího zaměstnance.
PamNew.Mac Makro spuštěné při zakládání nového zaměstnance.
PamKillO.Mac Makro spuštěné při mazání zaměstnance.
PamKillM.Mac  
PamChKey.Mac Makro spuštěné při opravě základních údajů zaměstnance.
PamCal.Mac Makro spouštěné při nastavení celého kalendáře.
PamCalD.Mac Makro spouštěné při nastavení jednoho dne v kalendáři.
PamInHis.Mac Makro spouštěné po změně historické položky (před PamAlg). Před zavoláním program ukládá právě zadanou hodnotu do globálních proměnných:
polReal: RResult(1)
polYesNo, polInteger: IResult(1)
polLongInt, polGroup, polDBPtr: LIResult(1)
polString: Result
polDate: DResult(1)
PamAddSm.Mac Makro spouštěné při změně směny v kartě turnusu (po stisknutí klávesy <mezerník>). Toto platí pouze pro režim Zpracování! Před zavoláním makra program ukládá Ident původní směny do globální proměnné SetLIResult(1, xxx). Jestliže makro požaduje změnu směny, nastaví SetIResult(1,1) a vybranou směnu nahraje do paměti. Jestliže makro nastaví SetIResult(1,2), spustí se výběr směny tak, jako by maskovací makro PamAddSm.Mac neexistovalo.
PamSelDB.Mac

Makro spouštěné po stisknutí mezerníku na položce typu ukazovátko. Makro musí komunikovat se systémem pomocí globálních proměnných. Před voláním makra naplní systém SetIResult(1, dbt) číslem relační databáze (dbtBnk, ...). Makro musí vracet:

  1. Požaduje-li makro, aby program pokračoval jako by makro neexistovalo naplní SetIResult(1, <>0).
  2. Zpracuje-li makro požadavek, naplní SetIResult(1, 0) a do SetLIResult(1, Ident) naplní Ident pomocné databáze, který bude uložen do položky. Naplní-li makro SetLIResult(1, -1), nebude nic uloženo. Jestliže Ident nebude v pomocné DB nalezen, nebude nic uloženo. Makro by nemělo ukládat položku rovnou pomocí přiřazení nebo HstSetItem!

Příklad:

dim DBT   : Integer;
dim Ident : Longint;
dim Dep   : Byte;
dim Idx   : Integer;

DBT := _GetIResult(1);
if DBT=dbtBnk then 
  SetIResult(1,0);
  ActItem(Dep, Idx);
  Ident := _GetItem(Dep, Idx, 0);
  if(_DiaSelBnk(Ident)=cmOK)then 
    SetLIResult(1,Ident); 
  else 
    SetLIResult(1,-1); 
  endif
else 
  SetIResult(1,1);
endif  
PamExtCh.Mac Aby bylo možno reagovat na změny v datech z externích prostředků (Personalistika, HRINFO, ...), je zde toto makro, které bude spuštěno ve chvíli, kdy během zobrazeného oddělení O,P nebo M najedete na zaměstnance u něhož bude, pro aktuální osobní nebo mzdovou větu, nastaven jeden z osobních nebo mzdových atributů:

Osobní:

  • oattrExtNovyUvazek ($00000001)
    Externí systém přidal tohoto zaměstnance.
  • oattrExtZmenaTurnusu ($00000002)
    Externí systém změnil turnus tohoto zaměstnance.

Mzdy:

  • mattrExtNastavKal ($08000000)
    Externí zařízení provedlo změnu, která vede k potřebě znovu nastavit mzdový kalendář.

    Nastavuje aplikační server SDPam a hlídají se položky:

    • P0060 Typ turnusu
    • P0061 Typ kalendáře
    • P0063 Zapadávka
    • O0350 Druh mimoevidenčního stavu
    • O0310 Datum nástupu
    • O0340 Datum výstupu

  • mattrExtPrepoctiMzdu ($04000000)
    Externí zařízení provedlo změnu, která vede k potřebě přepočítat mzdu.

    Nastavuje aplikační server SDPam a hlídají se položky ve směru:

    • $00000001 smeRunAlg3

  • mattrExtPrepoctiDoMinula ($02000000)
    Externí prostředek udělal změnu, která potřebuje přepočet do minula.

    Nastavuje aplikační server SDPam a hlídají se položky ve směru:

    • $00002000 smePripHstPrep

Před spuštěním makra budou nastaveny globální proměnné:

  • #ExternChange_Odd
    Typ databáze dbtO nebo dbtM.
  • #ExternChange_Attr
    Atribut vytažený buď z osobního nebo ze mzdového oddělení. Význam bitů je uveden výše.
PamF02..PamF10.Mac Makra spouštěná z editoru položek oddělení osobního, pamu a mezd kombinací kláves <Shift+F2..Shift+F0>.
PamIco.Mac Uživatelské makro spouštěné z ikony toolbaru Zpracování a oddělení O,P a M.

Před spuštění se nastaví globální proměnné

  • #PamIco Ico
    Číslo ikony 0... .
    • 0=Protokoly
    • 1=Insolvenční rejstřík (ISIR)
    • 2=...
  • #PamIco Zam
    true = spuštěno z oddělení O,P nebo M, false = spuštěno z toolbaru Zpracování
  • #PamIco Odd
    Číslo oddělení 1=Osobní, 2=Pam, 3=Mzdy
PamClcCA.Mac

Makro spouštěné systemem rozdělení nákladů po ukončení dialogu:

  • Rozdělení nákladů všech položek
  • Rozdělení nákladů jedné položky (tam i po stisknutí tlačítka Ulož a spočítej )