(    Mode   : Byte;
     ... ) : Real
		Umožňuje rychlé sčítání určených mzdových položek bez nutnosti nahrání mzdových vět. Najednou lze sčítat položky z více mzdových vět, od více zaměstnanců. Používá rychlé SQL funkce SUM. V případě šifrovaných položek a SWG_VETA_SUM_ZAKL je algoritmus méně efektivní, protože SQL funkci SUM nelze použít. Výsledek se vrací jako Real .
Z hlediska rychlosti, je vhodné funkci používat i pro zjištění jedné položky z jedné mzdové věty, namísto nahrání celé mzdové věty pomocí _LoadWage.
Funkce _SumWage spolupracuje se mzdovou cache:
Způsob činnosti a složení parametrů určuje bitová maska Mode.
| Mode | Parametry | Popis | Priorita | 
| 
                        SWG_ROZSAH_OD_DO (0) (default)  | 
                    
                        (    Mode  : Byte; 
     From  : Date;
     To    : Date;
     ...
                     | 
                    Rozsah mzdových vět je dán datumem From a To. V těchto parametrech je významný pouze rok a měsíc. | 0 | 
| SWG_ROZSAH_VYCET | 
                        (    Mode  : Byte; 
 dim FO    : File;
     ...
                     | 
                    Mzdové věty jsou dány datumy nalezenými ve streamu FO. | 1 | 
| SWG_ROZSAH_JEDNA | 
                        (    Mode     : Byte; 
     SysMonth : Word;
     Year     : Word;
     ...
                     | 
                    Pracuje s jednou mzdovou větou, která je dána obdobím SysMonth a Year. | 2 | 
| 
                        SWG_POL_JEDNA (0) (default)  | 
                    
                        (    Mode  : Byte;
     <ROZSAH>
     INum  : Word;
     ...
                     | 
                    Pracuje pouze s jednou mzdovou položkou, jejíž index je INum. | 0 | 
| SWG_POL_VYCET | 
                        (    Mode  : Byte;
     <ROZSAH>
     FINum : File;
     ...
                     | 
                    Pracuje s výčtem mzdových položek, jejichž indexy jsou uloženy ve streamu FINum. | 1 | 
| 
                        SWG_MASKA_NE (0) (default)  | 
                    
                        (    Mode  : Byte;
     <ROZSAH>
     <POL>
     ...
                     | 
                    Výsledné věty se netestují na atribut mzdové věty. | 0 | 
| SWG_MASKA_AND | 
                        (    Mode  : Byte;
     <ROZSAH>
     <POL>
     Maska : Longint;
     ...
                     | 
                    
                        Aby byla položka zahrnuta do sumy, musí mzdová věta vyhovět algoritmu:
                         (mzd_attr lor maska) = maska Výsledek se získá kurzorem, nelze použít SQL funkci SUM.  | 
                    1 | 
| SWG_MASKA_OR | 
                        (    Mode  : Byte;
     <ROZSAH>
     <POL>
     Maska : Longint;
     ...
                     | 
                    
                        Aby byla položka zahrnuta do sumy, musí mzdová věta vyhovět algoritmu:
                         (mzd_attr lor maska) <> 0 Výsledek se získá kurzorem, nelze použít SQL funkci SUM.  | 
                    2 | 
| 
                        SWG_ZAM_JEDEN (0) (default)  | 
                    
                        (    Mode  : Byte;
     <ROZSAH>
     <POL>
     <MASKA>
     ZamId : Longint)
                     | 
                    Pracuje pouze s jedním zaměstnancem, jehož Ident je ZamId. Jestliže bude ZamId=0, budou do součtu zahrnuti všichni zaměstnanci. | 0 | 
| SWG_ZAM_VYCET | 
                        (    Mode   : Byte;
     <ROZSAH>
     <POL>
     <MASKA>
     FZamId : File)
                     | 
                    Pracuje s výčtem zaměstnanců, jejichž Identy jsou uloženy ve streamu FZamId. | 1 | 
| 
                        SWG_VETA_ZAKL (0) (default)  | 
                    
                        (    Mode  : Byte;
     ...
                     | 
                    
                        Pracuje pouze se základními mzdovými větami.![]()  | 
                    0 | 
| SWG_VETA_SUM | 
                        (    Mode  : Byte;
     ...
                     | 
                    
                        Pracuje pouze se sumárními mzdovými větami 
                         (Perioda = | Rok | Mes*100 | ) ![]()  | 
                    1 | 
| SWG_VETA_STD | 
                        (    Mode  : Byte;
     ...
                     | 
                    
                        Pracuje s obdobím vět tak, jak bylo zadáno, neupravuje ho. Používá se ve spojení
                        s SWG_ROZSAH_JEDNA.![]()  | 
                    2 | 
| SWG_VETA_SUM_ZAKL | 
                        (    Mode  : Byte;
     ...
                     | 
                    
                        Pracuje se sumárními mzdovými větami. Jestliže nebude nalezena sumární mzdová věta,
                        použije větu základní.![]() Zpracování je z počátku komplikováno individuálním vyhledáváním mzdových vět. Jestliže pro jednoho zaměstnance zjišťujete více položek pro stejné období, použijte: Mode=SWG_VETA_SUM_ZAKL_S.  | 
                    3 | 
| SWG_VETA_SUM_ZAKL_S | Způsob zpracování je stejný jako u typu SWG_VETA_SUM_ZAKL. Rozdíl spočívá v tom, že v případě opakovaného zpracování pro jednoho zaměstnance pro stejné období bude použito již jednou nalezené rozložení mzdových vět, čímž se šetří SQL příkazy a tedy i čas zpracování. | 3 | |
| SWG_VETA_OPR_ZAKL | 
                        (    Mode  : Byte;
     ...
                     | 
                    
                         
                        Pracuje s opravnými mzdovými větami. Jestliže nebude nalezena opravná
                        mzdová věta, použije větu základní.
                         Zpracování je z počátku komplikováno individuálním vyhledáváním mzdových vět. Jestliže pro jednoho zaměstnance zjišťujete více položek pro stejné období, použijte: Mode=SWG_VETA_OPR_ZAKL_S.  | 
                    4 | 
| SWG_VETA_OPR_ZAKL_S | Způsob zpracování je stejný jako u typu SWG_VETA_OPR_ZAKL. Rozdíl spočívá v tom, že v případě opakovaného zpracování pro jednoho zaměstnance pro stejné období bude použito již jednou nalezené rozložení mzdových vět, čímž se šetří SQL příkazy a tedy i čas zpracování. | ||
| 
                        SWG_UZAM_ANO (0) (default)  | 
                    
                        (    Mode  : Byte;
     ...
                     | 
                    Pracuje pouze s uzamčenými mzdovými větami. V tuto chvíli je SQL dotaz komplikován případným spojením s tabulkou MZDY, kde je položka M0002 (atribut) nesoucí informaci o zamčení věty. | 0 | 
| SWG_UZAM_NE | 
                        (    Mode  : Byte;
     ...
                     | 
                    Pracuje pouze s neuzamčenými mzdovými větami. V tuto chvíli je SQL dotaz komplikován případným spojením s tabulkou MZDY, kde je položka M0002 (atribut) nesoucí informaci o zamčení věty. | 1 | 
| SWG_UZAM_OBE | 
                        (    Mode  : Byte;
     ...
                     | 
                    Pracuje s uzamčenými i neuzamčenými mzdovými větami. Optimální SQL dotaz. | 2 | 
Podívejte se na: Mzdy
Příklady:
            Jedna položka z jedné mzdové věty bez ohledu na uzamčení 
            
            (Měsíc=9, Rok=2007, Pol=M0160, ZamId=12):
Trace(_SumWage(SWG_ROZSAH_JEDNA+SWG_UZAM_OBE, 9, 2007, 160, 12):9:3);
            Jedna položka z uzamčených, základních vět v rozsahu 
            
            (Od=1/2007, Do=12/2007, Pol=M0100, ZamId=12):
R := _SumWage(SWG_VETA_ZAKL+SWG_UZAM_OBE, _Date(1,1,2007), _Date(1,12,2007), 100, 12);
 
{ Stejné jako: }
_FindRecId(dbtO,12)
dim Mes : Word;
for Mes := 1 to 12 do
  if _LoadWage(Mes,2007) then
    R := R + M[100];
  endif
end
        
            Jedna položka z uzamčených, základních vět ve výčtu období 
            
            (Od=9/2007, Do=11/2007, Pol=M0160, ZamId=12):
SRewrite(FO,"",true); SPut(FO,1,_Date(1,9,2007)); SPut(FO,2,_Date(1,10,2007)); SPut(FO,3,_Date(1,11,2007)); Trace(_SumWage(SWG_ROZSAH_VYCET, FO, 160, 12):9:3);
            Dvě položky z uzamčených, základních vět ve výčtu období 
            
            (Od=9/2007, Do=11/2007, Pol=M0100,M0160, ZamId=12):
SRewrite(FO,"",true); SPut(FO,1,_Date(1,9,2007)); SPut(FO,2,_Date(1,10,2007)); SPut(FO,3,_Date(1,11,2007)); SRewrite(FP,"",true); SPut(FP,1,100); SPut(FP,2,160); Trace(_SumWage(SWG_ROZSAH_VYCET+SWG_POL_VYCET, FO, FP, 12):9:3);
            Dvě položky z uzamčených, základních vět ve výčtu období dvou zaměstnanců 
            
            (Od=9/2007, Do=11/2007, Pol=M0100,M0160, ZamId=12,14):
SRewrite(FO,"",true); SPut(FO,1,_Date(1,9,2007)); SPut(FO,2,_Date(1,10,2007)); SPut(FO,3,_Date(1,11,2007)); SRewrite(FP,"",true); SPut(FP,1,100); SPut(FP,2,160); SRewrite(FZ,"",true); SPut(FZ,1,12); SPut(FZ,2,14); Trace(_SumWage(SWG_ROZSAH_VYCET+SWG_POL_VYCET+SWG_ZAM_VYCET, FO, FP, FZ):9:3);
            Dvě položky z uzamčených, základních vět ve výčtu období dvou zaměstnanců 
            
            (ZamId=12,14, Od=9/2007, Do=11/2007, Pol=M0100,M0160):
SRewrite(FO,"",true); SPut(FO,1,_Date(1,9,2007)); SPut(FO,2,_Date(1,10,2007)); SPut(FO,3,_Date(1,11,2007)); SRewrite(FP,"",true); SPut(FP,1,100); SPut(FP,2,160); SRewrite(FZ,"",true); SPut(FZ,1,12); SPut(FZ,2,14); Trace(_SumWage(SWG_ROZSAH_VYCET+SWG_POL_VYCET+SWG_ZAM_VYCET, FO, FP, FZ):9:3);
            Jedna položka z vět sumárních nebo základních, které vyhoví masce matSumOK
            nebo matProtect, ve výčtu období jednoho zaměstnance
            (ZamId=12, Od=10/2007, Do=12/2007, Pol=M0100):
Trace(_SumWage(SWG_VETA_SUM_ZAKL+SWG_MASKA_OR+SWG_UZAM_OBE, 
        _Date(1,10,2007), _Date(1,12,2007), 100, matSumOK+matProtect, 12):9:3);