( 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