Směry a skupiny položek

U každé položky oddělení O, P nebo M, lze zadat 64 bitovou masku směrů (Mask) a číslo skupiny (GroupItem). Směry a skupiny jsou ukládány do tabulky XITEM_MASK pro každý rok a každou položku .

Směrů a skupin používají makro procedury a funkce pracující s položkami: _Sum, ClrWage, AddWage, SubWage, _WageCache.

Směry a skupiny lze zadat pomocí makrofunkce SetItem(7,10).  Jestliže věta v tabulce XITEM_MASK pro ukládaný rok nebude existovat, bude automaticky založena.

Směry a skupiny lze číst makrofunkcí GetInfoItem(7,10). Test na existenci věty pro aktuálně nastavený rok lze makrofunkcí GetInfoItem(57).

Masky a skupiny potřebné pro položkovy z oddělení O,P a M jsou uloženy v databázi. Každá položka má větu masek a skupin pro každý rok uloženu samostatně. V případě, kdy je proveden dotaz na masku nebo skupinu (třeba makrofunkcí _Sum) je postup tento:

  1. Jestliže bude vyšetřovaný rok menší než rok zpracování mezd, nebude hlášena chyba, ale bude vrácena maska=0 a skupina=0.
  2. Jestliže bude vyšetřovaný rok větší než rok zpracování mezd, nebude hlášena chyba, ale bude vrácena maska a skupina z období zpracování mezd.
  3. Jestliže nebude nalezena věta pro období zpracování mezd, bude hlášena chyba.

Použitelné konstanty směrů (Mask):

Pro O:

smeRunAlg3$00000001Po opravě spusť mzd.přepočet
smeCopyItemsZam$00000040Kopírovat při kopírování zaměstnance
smeCopyItmZamAll$00000080Kopíruje kompletní historii položky
smeNoSjPolItem$00001000Nesjednocovat se systémem
smePripHstPrep$00002000Připraví pro hist.přepočet mezd
smeNulujMinMes$00004000Smaž při mazání přepočtu do minula
smeSmazOdch$00008000Vymaž při ukončení PP
smeExIm$00200000Sjednocování údajů o zaměstnancích
smeImpPeodesy$01000000Peodesy

Pro P:

smeRunAlg3$00000001Po opravě spusť mzd.přepočet
smeMoveToM$00000002Přenášet do mezd
smeMoveToKrDoch$00000004Při přenosu do mezd krátit o docházku
smeMoveToKrUvaz$00000008Při přenosu do mezd krátit o úvazek
smePamDoPravPrum$00000010Kč do pravděpod. průměru na dovolenou
smePamDoPravPND$00000020Kč do pravděpodobného průměru na ND
smeCopyItemsZam$00000040Kopírovat při kopírování zaměstnance
smeCopyItmZamAll$00000080Kopíruje kompletní historii položky
smeNoSjPolItem$00001000Nesjednocovat se systémem
smePripHstPrep$00002000Připraví pro hist.přepočet mezd
smeNulujMinMes$00004000Smaž při mazání přepočtu do minula
smeSmazOdch$00008000Vymaž při ukončení PP
smeExIm$00200000Sjednocování údajů o zaměstnancích
smeImpPeodesy$01000000Peodesy

Pro M (maska 1):

smePrDovHod$00000001Hodiny do průměru na dovolenou
smePrDov$00000002Kč do průměru na dovolenou
smePrNemDny$00000004Dny do průměru na nemoc
smePrNem$00000008Kč do průměru na nemoc
smeNahrDobDny$00000010Dny náhradní doby
smeNahrDob$00000020Kč náhradní doby
smeZaklDan$00000040Základ pro daň
smeZaklSocPoj$00000080Základ pro sociální pojištění
smeZaklZdrPoj$00000100Základ pro zdravotní pojištění
smeOsvobOdDan$00000200Osvobozeno od daně
smeKDodaneni$00000400K dodanění
smePorVzSocZdr$00000800Celkem příjem pro porovnání VZ
smeNoSjPolItem$00001000Nesjednocovat se systémem
smeZahrExpert$00002000Daň - zahraniční expert.
smeNuluj$00004000Nuluj před přepočtem
smeHrubaProDan$00008000Do hrubé mzdy pro porovnání daně
smeCompPol$00010000Hist.porovnání pol.pro výpis
smeRecommendedFill$00010000Doporučeno vyplnit - upozornění
smeOdbory$00020000Odborový příspěvek
smeRequiredFill$00020000Povinně vyplnit - chyba
smeZakZakPl$00040000Zakázky: základní plat
smeZakOstDoPoj$00080000Zakázky: ostatní do pojištění
smeZakOstNePoj$00100000Zakázky: ostatní bez pojištění
smeExIm$00200000Sjednocování údajů o zaměstnancích
smeZaklSrDI$00400000Do základu pro srážkovou daň I.
smeZaklSrDII$00800000Do základu pro srážkovou daň II.
smeZaklSrDIII$01000000Do základu pro srážkovou daň III.
smeZokNa1KcUp$02000000Zaokrouhlovat na celé Kč nahoru
smeNeDoZarucMzd$04000000Vyloučit z výpočtu dohodnuté čisté
smeHandChange$08000000Dovolit ruční opravu položky
smeDolniOprava$10000000Položky v opravné větě 'dolní'
smeArcibPrDot$20000000Položky Průměry dotované
smeArcibZdrDot$40000000Položky Zdravotní dotované
smeArcibSocDot$80000000Položky Sociální dotované

Pro M (maska 2):

smeDoRozdNakladu$00000001Rozdělení nákladů - položky, které lze rozdělit
smeDoRNRezie$00000002Rozdělení nákladů - všechny režijní položky i nerozdělované
smeDoRNSumWage$00000004Rozdělení nákladů - kopírované ze sumární věty do základní v případě přepočtu z minula

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

Berou se v úvahu položky, která vyhoví podmínce:

(Mask=0 or (PolSmer land Mask <> 0)) 
and 
(GroupItem=0 or PolGroupItem = GroupItem)

Příklad:

dim Suma : Real;
Suma := _Sum(dbtM, 0, $00000001);

Sečte všechny položky, které mají ve směrech aktuálně nastaveného období nastaven první bit (hodnota $00000001). Skupina nebude brána v úvahu, protože  je 0.