Tabulka praxí

Tabulka praxí PRACTICE a PRACTICE_DET se používá k uložení vět s údaji o předchozích zaměstnání zaměstnance. V makrojazyku se k těmto větám přistupuje pomocí SQL příkazů a mělo by se jednat především o čtení. Zápis zajistí program v makro dialogu _DiaPractice.

Stavba tabulky PRACTICE:

Název položkyTyp položkySloupec
Ident Longint IDENT
Ident zaměstnance - spojení se zaměstnancem 1:1. Longint XMANID
Oprava ve formátu R.DDD Real XOPRAVA
Oprava je zadána ručně Byte XOPRAVARUCNE
Datum zápočtu pevně zadaných prací - má význam, je-li ručně Date XCZAPOCETDATUM
Zápočet R.DDD pevně zadaných prací - má význam, je-li ručně Real XCZAPOCET
Datum a zápočet pevně zadaných prací je zadán ručně Byte XCZAPOCETRUCNE

Stavba tabulky PRACTICE_DET:

Název položkyTyp položkySloupec
Ident z tabulky PRACTICE - spojení 1:N Longint XPRAXEID
Datum práce OD Date XDTOD
Datum práce DO Date XDTDO
Název firmy String[100] XFIRMA
Název - popis zaměstnání String[200] XPOPISPRACE
Trvání práce ve formátu R.DDD Real XPRAXE

Procento zápočtu - výčet:

  • PRACT_KRAC_0= 0
  • PRACT_KRAC_1_1= 1/1
  • PRACT_KRAC_1_2= 1/2
  • PRACT_KRAC_1_3= 1/3
  • PRACT_KRAC_2_3= 2/3
  • PRACT_KRAC_4_5= 4/5
  • PRACT_KRAC_RUCNE=X/Y
Integer XPROCZAP
Zápočet práce ve formátu R.DDD Real XZAPOCET
Jestliže XPROCZAP = PRACT_KRAC_RUCNE, je zde čitatel (X) Integer XZAPCIT
Jestliže XPROCZAP = PRACT_KRAC_RUCNE, je zde jmenovatel (Y) Integer XZAPJME

Příklad:

procedure ZjistiOpravuPraxe
    dim db      : Longint;
    dim set     : Longint;
    dim Oprava  : Real;
    dim Rucne   : Byte;

    SQLDBOpen(db, #0, #2, #0); 
    SQLOpen(db, set);
    SQLBind(set, "XOPRAVA", SQL_DOUBLE, Oprava);
    SQLBind(set, "XOPRAVARUCNE", SQL_INTEGER, Rucne);
    SQLSelect(set, "PRACTICE", "XMANID=" + _Str(O[dbIdent]), "");
    if _SQLFirst(set) then
        Trace("Oprava=", Oprava:6:3, ", Rucne=", Rucne);
    endif
    SQLClose(set);
    SQLDBClose(db);
endproc { ZjistiOpravuPraxe }