SubWage

(   Wg1       : Wage;
    Wg2       : Wage;
    GroupItem : Word;
    Mask      : LongInt)

Odečítá proměnné typu Wage podle skupin. To znamená, že oba parametry v proceduře musí být tohoto typu. Rozdíl se uloží do parametru Wg2:

Wg2 := Wg2 - Wg1

Odečítají se všechny numerické položky.

Jestliže bude některý z parametrů GroupItem nebo Mask roven nule, nebude brán v úvahu.

Jestliže bude výsledek operace vkládán do mzdové věty M, nebudou upraveny položky s příznakem ruční opravy. Napřed by je bylo nutno funkcí _HandRepWage smazat.

Jak systém pracuje v případě identu mzdové věty:

dim W, W1 : Wage;
SubWage(M,  W, 0, 0); { W[dbIdent] := M[dbIdent]; }
SubWage(W1, W, 0, 0); { W[dbIdent] := W1[dbIdent]; }
SubWage(W,  M, 0, 0); { M[dbIdent] := bude nezměněn !! }

Pozor ! Bude-li mzdová věta 'M' zamčena (nastaven bit číslo 15 v attributu) pak platí:

dim WW : Wage
SubWage(WW, M, 0, 0); { není povoleno, bude chyba makra }
WW := M;              { je povoleno }
SubWage(M, WW, 0, 0); { je povoleno }
M := WW;              { není povoleno, bude chyba makra }

Podívejte se na:Mzdy