_SnpBatchBegin

(    ZamId    : Byte;
     Month    : Byte;
     Year     : Word;
     Type     : Integer) : Longint

Startuje dávku pro změny ve skladu čísel podle období. Pak následuje opakované vkládání hodnot pomocí _SnpBatchAdd a potvrzení (_SnpBatchCommit) nebo odvolání (_SnpBatchRollback) změn.

Dávka je zpracovávána pro zaměstnance jehož ident je ZamId, období Month / Year a typ Type (SNPTYPE_EXEKUCE, ...).

Záznam který existoval a nebude během dávky znovu uložen (třeba jako upravený), bude při potvrzení dávky smazán. Jestliže tedy nastartujete dávku a hned jí potvrdíte, budou všechny věty pro dané období smazány!!

Příklad:

dim hSNP : Longint;
hSNP := _SnpBatchBegin(O[dbIdent], _ActMonth, _SysYear, SNPTYPE_EXEKUCE);
_SnpBatchCommit(hSNP );

Funkce vrací číslo (handle) pomocí kterého lze později s dávkou pracovat.

Jestliže se dávka nepotvrdí nebo neodvolá před ukončením posledního makra, bude automaticky odvolána při ukončování posledního makra.

Při pokusu o spuštění již spuštěné dávky hlásí makro chybu.

Podívejte se na: Sklad čísel podle období

Příklad:

procedure Snp_Vkladani
    dim hSNP : Longint;
    hSNP := _SnpBatchBegin(O[dbIdent], _ActMonth, _SysYear, SNPTYPE_EXEKUCE);
    SnpBatchAdd(hSNP, "4444444444", "99999", 40, "M0100", "Testovací poznámka 40");
    SnpBatchAdd(hSNP, "1111111111", "99999", 10, "M0100", "Testovací poznámka 10");
    SnpBatchAdd(hSNP, "2222222222", "99999", 20, "M0100", "Testovací poznámka 20");
    SnpBatchAdd(hSNP, "3333333333", "99999", 30, "M0100", "Testovací poznámka 30");		
    if(_SnpBatchCommit(hSNP) = false)then
        _MsgBox(1, "Chyba v _SnpBatchCommit", 0);
    endif
endproc