_GetSpecString

(    Kod : Integer, xxxx) : String

Vrací speciální řetězec, který se používá pro informativní zobrazení v položkách. Uspořádání parametrů řídí první parametr Kod:

Kod

Parametry

Popis

spsDeti

Dite1      : Byte,
Dite2      : Byte,
Dite3      : Byte

Skládá řetězec pro děti. Pocet je počet dětí uplatňovaný pro odpočet. Tam kde bude nula, vrací '-'.

Příklad:

OdpDaň [1,1,--]

spsJmenoI

GrpKodHodnost : Word,
TitPred       : String,
Jmeno         : String,
Prijm         : String,
TitZa         : String

Skládá jméno. GrpKodHodnost je kód množiny pro hodnosti.

Příklad:

 Ing Jan Novák, Csc

spsJmenoII

GrpKodHodnost : Word,
TitPred       : String,
Jmeno         : String,
Prijm         : String,
TitZa         : String

Skládá jméno. GrpKodHodnost je kód množiny pro hodnosti.

Příklad:

Novák Jan, Ing Csc

spsAdresa

Ulice         : String,
Mesto         : String,
Posta         : String,
CDomovni      : String,
COrient       : String,
PSC           : String[,
StatKod       : String[,
CastObce      : String[,
MestObvod     : String[,
TypCisla      : Byte[,
TypSkladani   : Byte]]]]]

Skládá jednu řádku adresy.

Nepovinný parametr TypCisla určuje pojetí čísla domovního CDomovni.

  • (1) adrCisloPopisne
  • (2) adrCisloEvidencni

Nepovinný parametr TypSkladani určuje způsob složení adresy, protože například pro Prahu se adresy skládají jinak.

  • (0) adrSkladaniStd - standardní složení adresy
  • (1) adrSkladaniPraha - složení adresy pro Prahu (Pozn: Praha se pozná z čísla kraje - kód číselníku 'CZ010')

Příklad:

Zborovská 11, Praha 513, 150 00 Praha 5, CZ

spsAdresaEx

     AdrInUlice       : String[53];
    AdrInDCislo      : String[8];
    AdrInOCislo      : String[8];
    AdrInTypDCisla   : Integer;
    AdrInCastObce    : String[20];
    AdrInObec        : String[48];
    AdrInMestObvod   : String[50];
    AdrInTypSkladani : Integer;
dim AdrOutUlice      : String[53];
dim AdrOutDCislo     : String[14];
dim AdrOutOCislo     : String[8];
dim AdrOutCastObce   : String[20];
dim AdrOutObec       : String[48]);

Vrací více parametrů (AdrOutUlice, ...) standardizované adresy. Jako funkce vrací prázdný řetězec!!

Parametr AdrInTypDCisla určuje pojetí čísla domovního AdrInDCislo.

  • (1) adrCisloPopisne
  • (2) adrCisloEvidencni

Parametr AdrInTypSkladani určuje způsob složení adresy, protože například pro Prahu se adresy skládají jinak.

  • (0) adrSkladaniStd - standardní složení adresy
  • (1) adrSkladaniPraha - složení adresy pro Prahu (Pozn: Praha se pozná z čísla kraje - kód číselníku 'CZ010')

spsDuchInv

bDSt     : Byte, 
bDIn     : Byte, 
bDVd     : Byte, 
bDSi     : Byte, 
bISt     : Byte, 
bIZTPP   : Byte,
nDuvodId : Longint

Skládá řetězec pro invaliditu a důchod.

bDSt Důchod starobní

Standardní text je 'St'. Jestliže existuje relace číselníku nDuvodId a na prvním místě jejího textu je znak '§', přidá se závorka, znak § a za ním nalezené číslo. Například u věty číselníku:

'§ 74 zák. 155/1995 Sb.'

by výsledný text zněl: 'St(§74) '

bDIn Důchod invalidní

Standardní text je 'In'. Jestliže existuje relace číselníku nDuvodId, přidá se závorka a do ní se vloží kód nalezené věty číselníku. Například u věty číselníku:

'Pro invaliditu 2. stupně' kód = 2

by výsledný text zněl: 'In(2) '

bDVd Důchod vdovský Standardní text je 'Vd'.
bDSi Důchod sirotčí Standardní text je 'Si'.
bISt Stupeň invalidity

Standardní text je 'x.St', kde x kód z číselníku relace nDuvodId.

bIZTPP Invalidita - ZTPP Standardní text je 'ZTPP'.
nDuvodId Relace do číselníku Relace číselníku CBS.

Příklad zobrazení:

D=St(§74) Vd I=1.St ZTPP

Příklad zde.

spsDanOdPol

OdPolTyp  : Integer,
OdPolMes  : Integer,
TypZd     : Integer,
Hodnota   : Integer,
Rok       : Integer,
Měsíc     : Integer,
Nepouzito : Byte,
Maska     : Integer

Skládá řetězec zobrazující typ daně a odčitatelné položky. Vzhledem k tomu, že se tento řetězec v čase mění, je potřeba dodat i období, pro které je údaj požadován (Rok, Mesic). OdPolMes je pevná hodnota odpočítávaná měsíčně. Hodnota je celková částka odpočtu. Jestliže není daň vůbec použita, zadejte parametr Nepouzito = true. Parametr maska pracuje takto: který bit pro OdPolTyp bude nastaven, tam bude zobrazen vykřičník.

Příklad:

Tabulkou Z-!--= 3170

spsHodnost

GrpKodHodnost : Integer

Vrací zkratku hodnoti. GrpKodHodnost je kód množiny pro hodnosti.

spsPraxe
Mode : Integer

Podle parametru Mode vrací řetězce pro započitatelnou praxi.

  • COMMSTR_PRAXE_FORMAT
    Formátovací řetězec pro zobrazení praxe v obecné relační tabulce dbtComm : Comm[comText].
  • COMMSTR_PRAXE_TEXT
    Výsledný text praxe z obecné relační tabulky pro nahranou větu Comm[] v paměti.

Příklad:

Comm[comText] := _GetSpecString(spsPraxe, COMMSTR_PRAXE_FORMAT);
...
if _FindRecId(dbtComm, P[16]) then
    Trace(_GetSpecString(spsPraxe, COMMSTR_PRAXE_TEXT));
endif
spsKontakty
UvazekId : Longint
Podle identu úvazku UvazekId vrací řetězec zadaných kontaktů. Upřednostní kontakty preferované a teprve, jestliže neexistují, zobrazí ostatní (pouze však jeden). Nezobrazuje kontakty nepoužívané. Před textem kontaktu je jeho kód, což by měla být zkratka typu kontaktu (MZ:mobil zaměstnání, TZ:telefon zaměstnání, FX:fax, WB:Web)

Příklad:
Trace(_GetSpecString(spsKontakty, O[dbIdent]));
{ MZ:444 555 666,TZ:111 222 333,FX:777 888 999,WB:www.flux.cz }
spsKontaktyJedenProTyp
UvazekId : Longint;
TypUid   : String
Podle identu úvazku UvazekId vrací řetězec jednoho kontaktu typu TypUid. Upřednostní kontakt preferovaný a teprve, jestliže neexistuje, zobrazí jeden používaný.

Příklad:
Trace("Telefon pevný - zaměstnání:  ",  
    _GetSpecString(spsKontaktyJedenProTyp, O[dbIdent],   
    "0b120f2120137287b9a00a"));
Trace("Mobil pevný - zaměstnání:  ",    
    _GetSpecString(spsKontaktyJedenProTyp, O[dbIdent],   
    "0b120f2120136887aaa008"));
spsKontaktyVsechnyProTyp
UvazekId : Longint;
TypUid   : String
Podle identu úvazku UvazekId vrací řetězec kontaktů typu TypUid. Jako první uvede kontakt preferovaný a teprve pak doplní ostatní používané.

Příklad:
Trace("Telefony pevné - zaměstnání:  ", 
    _GetSpecString(spsKontaktyVsechnyProTyp, O[dbIdent], 
    "0b120f2120137287b9a00a"));
Trace("Mobily pevné - zaměstnání:  ",   
    _GetSpecString(spsKontaktyVsechnyProTyp, O[dbIdent], 
    "0b120f2120136887aaa008"));
spsDejIBAN
     Ucet     : String;
    KodBanky : String;
dim Chyba    : String                        
Vrací účet a kód banky vyjádřený jako český IBAN. Jestliže dojde k chybě, naplní parametr Chyba a vrací prázdno.

Kódy hodností (GrpKodHodnost):

Odčitatelné položky (OdPolTyp):

Typy zdanění (TypZd):

Podívejte se na: Systém

Příklad (spsAdresa):

{ U slunce 2089, Stodůlky, 155 00 Praha 5, CZ }
Trace(_GetSpecString(spsAdresa, "U slunce", "Praha", "", "2089", "", "155 00", "CZ", "Stodůlky", "Praha 5", adrCisloPopisne, adrSkladaniPraha));

Příklad (spsAdresaEx):

dim AdrOutUlice     : String[53];
dim AdrOutDCislo    : String[14];
dim AdrOutOCislo    : String[8];
dim AdrOutCastObce  : String[20];
dim AdrOutObec      : String[48];

_GetSpecString(spsAdresaEx, "U slunce", "2089", "", adrCisloPopisne, "Stodůlky", "Praha", "Praha 5", adrSkladaniPraha, 
					AdrOutUlice, AdrOutDCislo, AdrOutOCislo, AdrOutCastObce, AdrOutObec);
Trace(AdrOutUlice);
Trace(AdrOutDCislo);
Trace(AdrOutOCislo);
Trace(AdrOutCastObce);
Trace(AdrOutObec);

Příklad (spsDuchInv):

dim s : String;
call DejDuchodInvString(s);
trace(s);
exit

procedure DejDuchodInvString(dim s : String)
    dim bDSt, bDIn, bDVd, bDSi, bISt, bIZTPP : Byte;
    dim nDStId, nDInId, nIStId, tmp : Longint;

    call DejDuchodInv(dbtO, 380, bDSt, nDStId);
    call DejDuchodInv(dbtO, 381, bDIn, nDInId);
    call DejDuchodInv(dbtO, 382, bDVd, tmp);
    call DejDuchodInv(dbtO, 383, bDSi, tmp);
    call DejDuchodInv(dbtO, 384, bISt, nIStId);
    call DejDuchodInv(dbtO, 387, bIZTPP, tmp);

    s := _GetSpecString(spsDuchInv, bDSt, bDIn, bDVd, bDSi, bISt, bIZTPP, nDStId, nDInId, nIStId);
endproc

procedure DejDuchodInv(     Odd     : Byte;
                            Idx     : Word;
                       dim  OK      : Byte;
                       dim  DuvId   : Longint)
    dim Id : Longint;
    OK := false;
    Id := _GetItem(Odd, Idx, 0);
    if(Id <> 0)then
        if(_FindRecId(dbtInd, Id))then
            OK := true;
            DuvId := Ind[indDruhId];
        endif
    endif
endproc