_CAGetItem

(    UvazekId	    : Longint;
     SMonth         : Integer;
     SYear          : Integer;
     ItemIdx        : Integer;
     PolIdxSP       : Integer;
     PolIdxZP       : Integer;
 dim F              : File) : Integer

Vrací informace o částech jedné mzdové položky. Části mzdy vznikají při rozdělování mzdových nákladů. Informace jsou ukládány do streamu F.

UvazekId Ident úvazku (zaměstnance).
SMonth Měsíc mzdové věty.
SYear Rok mzdové věty.
ItemIdx Index mzdové věty. Vrací všechny části rozdělení pouze pro tuto položku.

Jestliže zadáte hodnotu nula, vrací se všechny položky s tím, že sociální a zdravotní pojištění bude rozděleno do jednotlivých položek s indexem položky PolIdxSP a PolIdxZP a pojištění bude vystupovat v částce!!

Jestliže bude ItemIdx = PolIdxSP, budou vraceny položky sociálního pojištění nalezené u všech položek rozdělení a pojištění bude vystupovat v částce!! To samé platí pro ItemIdx = PolIdxZP. Viz příklad.
PolIdxSP Index položky: Pojistné sociální - organizace
PolIdxZP Index položky: Pojistné zdravotní - organizace
F

Výstupní stream informací. B je báze. Báze startuje hodnotou 0 a s každou řádkou se zvýší o 30000.

Index Typ Popis
B+0000... Integer Index mzdové položky
B+1000... Real Částka
B+2000... Real Částka sociálního pojištění
B+3000... Real Částka zdravotního pojištění
B+4000... Byte Je režie
B+5000... Byte Je historická
B+6000... Byte Ruční úprava
B+10000.. Longint Ident třídění - středisko
B+11000.. Longint Ident třídění - projekt
B+12000.. Longint Ident třídění - zdroj
B+13000.. Longint Ident třídění - zakázka

Funkce vrací celkový počet částí mzdy. Jestliže části mzdy pro položku ItemIdx neexistují, vrací 0.

Příklad jak je zobrazena jedna rozdělená mzda:

A jak bude toto rozdělení vraceno funkcí _CAGetItem:

Podívejte se na: Rozdělení nákladů

Příklad:

procedure ZobrazVsechnyPolozky
    dim F      : File;
    dim Idx    : Longint;
    dim Pocet  : Integer;
    dim Base   : Longint;
	
    Base := 0;
    SRewrite(F,"",true);
    Pocet := _CAGetItem(O[dbIdent], _SysMonth, _SysYear, 0, 273, 274, F);
    for Idx := 0 to Pocet-1 do 
        Base := Idx * 30000;
        Trace(  "Pol=M[",  	_SGet(F, Base+0000), "]",
                ",  Částka=",_SGet(F, Base+1000),
                ",  SocPoj=",_SGet(F, Base+2000),
                ",  ZdrPoj=",_SGet(F, Base+3000),
                ",  Režie=", _SGet(F, Base+4000),
                ",  Hist=",  _SGet(F, Base+5000),
                ",  Ručně=", _SGet(F, Base+6000),
                ",  StřId=", _SGet(F, Base+10000),
                ",  ProjId=",_SGet(F, Base+11000),
                ",  ZdrId=", _SGet(F, Base+12000),
                ",  ZakId=", _SGet(F, Base+13000));
    end
endproc