_CAAddPartItem

(    HndlBatch	    : Longint;
     ItemIdx        : Integer;
     AlgType        : Integer;
     AlgValue       : Integer;
     DoSocPoj       : Byte;
     DoZdrPoj       : Byte;
     Castka         : Real;
     Castka_SP      : Real;
     Castka_ZP      : Real;
     RProc          : Real;
     TKStrId        : Longint;
     TKPrjId        : Longint;
     TKZdrId        : Longint;
     TKZakId        : Longint;
     Rezie          : Byte;
     Historie       : Byte;
     RucnePrid      : Byte) : Byte

Při rozdělení mzdových nákladů v rámci zpracování dávky HndlBatch, přidá jednu část mzdy pro mzdovou položku s indexem ItemIdx.

Tato funkce se obykle používá pro vytváření režijních vět jako zbytku po rozdělení jedné mzdové položky. Díky opakovanému výpočtu ukládejte i nulové věty režií!

Jestliže položka ItemIdx nepatří (pro dané období) do směru smeDoRozdNakladu (druhá sada směrů), nebude přidána a funkce vrací false!!  

HndlBatch Číslo (handle) zpracovávané dávky.
Zpracování dávky startuje funkcí _CABatchBegin.
ItemIdx Index mzdové položky.
AlgType

Typ požadovaného algoritmu, podle kterého proběhl výpočet části položky.

  • caAlgTyp_Proc
    Procento. Počet procent je v parametru AlgValue.
  • caAlgTyp_Hod
    Hodiny. Počet hodin je v parametru AlgValue.
  • caAlgTyp_Dny
    Dny. Počet dnů je v parametru AlgValue.
  • caAlgTyp_Castka
    Pevná částka. Částa je uvedena je v parametru AlgValue.
AlgValue Hodnota upřesňující typ algoritmu.
DoSocPoj Počítej sociální pojištění. Jestliže zadáte true, ale položka nebude (pro dané období) patřit do směru smeZaklSocPoj, bude vloženo false!
DoZdrPoj Počítej zdravotní pojištění. Jestliže zadáte true, ale položka nebude (pro dané období) patřit do směru smeZaklZdrPoj, bude vloženo false!
Castka Vypočítaná částka z předchozího výpočtu, jestliže při startu dávky nebylo zvoleno 'Clear=true'.
Castka_SP Vypočítaná částka sociálního pojištění z předchozího výpočtu, jestliže při startu dávky nebylo zvoleno 'Clear=true'.
Castka_ZP Vypočítaná částka zdravotního pojištění z předchozího výpočtu, jestliže při startu dávky nebylo zvoleno 'Clear=true'.
RProc Procento použité pro vypočtení parametru Castka z výchozí 100% hodnoty položky. Je to pouze informativní hodnota.
TKStrId Ident třídicího kritéria režie - středisko. Může být nula.
TKPrjId Ident třídicího kritéria režie - projekt. Může být nula.
TKZdrId Ident třídicího kritéria režie - zdroj. Může být nula.
TKZakId Ident třídicího kritéria režie - zakázka. Může být nula.
Rezie Část mzdy patřící do režie. Pro tento typ věty se tato funkce obvykle používá.
Historie Příznak, že věta je přidána jako následek změn mezd z minulosti.
RucnePrid Příznak, že věta byla ručně přidána. Takto označená věta nebude při příštím přepočtu nulována a uživatel jí může (jestliže to zároveň není režie) smazat nebo upravit.

Jestliže dávka HndlBatch neexistuje, vrací funkce false.

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

Příklad:

function ZpracujPolozku(    hBatch  : Longint;
                            PolIdx  : Integer;
                            Pocet   : Integer;
                            RVZSP   : Real;
                            RVZZP   : Real)
    ...
    if(DelejRezii)then
        if(Rozpocteno < OrigZaklad)then
            { Režie }
            Castka := OrigZaklad - Rozpocteno;
            { Procento krácení částky }
            RProc := Castka / OrigZaklad;
            if(_CAAddPartItem(hBatch, PolIdx, caAlgTyp_Castka, 0,
                true {DoSocPoj}, true {DoZdrPoj},
                Castka,
                OrigZaklad * RVZSP * RProc * 0.25, 
                OrigZaklad * RVZZP * RProc * 0.09, 
                RProc,
                O[ixNaklStr], O[ixProjekt], O[ixZdroj], O[ixZakazka], 
                true {Rezie}, false {Historie}, false {RucnePrid}))then
            endif
        else
            { Nulujeme režii }
            _CAAddPartItem(hBatch, PolIdx, caAlgTyp_Castka, 0,
                true {DoSocPoj}, true {DoZdrPoj},
                0, 0, 0, 0, 
                O[ixNaklStr], O[ixProjekt], O[ixZdroj], O[ixZakazka], 
                true {Rezie}, false {Historie}, false {RucnePrid});
        endif
    endif
    ...
 endfunc