_CAGetItemAt

(    HndlBatch	    : Longint;
     Idx            : Integer;
 dim ItemIdx        : Integer;
 dim CntParts       : Integer) : Byte

Vrací informace o jedné mzdové položce, potřebné pro rozdělení mzdových nákladů v rámci zpracování dávky HndlBatch.

HndlBatch Číslo (handle) zpracovávané dávky.
Zpracování dávky startuje funkcí _CABatchBegin.
Idx Index mzdové položky v dávce HndlBatch. Rozsah je: 0..počet zpracovávaných položek - 1.
Počet zpracovávaných položek vrací funkce _CABatchBegin.
ItemIdx Vracený index zpracovávané mzdové položky.
Tento index bude potřeba pro zjišťování jednotlivých částí položky funkcí _CAGetPartItemAt,
CntParts

Vracený počet částí položky ItemIdx, které bude potřeba funkcí _CAGetPartItemAt projít a spočítat. Části mzdy jsou v kolekci seřazeny podle typu algoritmu a typu 'Rezie'. Pořadí je:

  1. caAlgTyp_Castka
  2. caAlgTyp_Hod / caAlgTyp_Dny
  3. caAlgTyp_Proc
  4. Typ režie

Jestliže dávka HndlBatch neexistuje nebo index Idx je mimo rozsah, vrací funkce false.

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

Příklad:

procedure RozdeleniNakladuJedneMzdy
    dim hBatch      : Longint;
    dim CntItems    : Integer;
    dim RVZSP       : Real;
    dim RVZZP       : Real;

    RVZSP := M[ixmSocVymZakl] / M[ixmSocPojVZALL];
    RVZZP := M[ixmZdrVymZakl] / M[ixmZdrPojVZALL];

    { Spustí proces rozdělení }	
    hBatch := _CABatchBegin(O[dbIdent], _SysMonth, _ActMonth, _SysYear, false, CntItems);
    _CASetItemInfo(hBatch, RVZSP, RVZZP, M[ixmSocPojFirm], M[ixmZdrPojFirm], ixmSocPojFirm, ixmZdrPojFirm, 
            O[ixNaklStr], O[ixProjekt], O[ixZdroj], O[ixZakazka]);
    { Projdeme jednotlivé položky, kterých se rozdělení týká }
    for BatchIdxPol := 0 to CntItems-1 do	
        if(_CAGetItemAt(hBatch, BatchIdxPol, PolIdx, CntParts))then
            ...
        endif
    end
    _CABatchCommit(hBatch);
endproc