; Popis formuláře 'Souhrnné hlášení k dani z přidané hodnoty - vzor č.1' ; verze: z 30.8.2010 ; Autor: Milan Slíva + Marián Broda Name('Souhrnné hlášení k DPH') Designed('') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://wwww.winduo.cz') Descr('Formulář Souhrnné hlášení k DPH') WNSType(0) ;Global SourY:Real=1 Global PocRad1:Byte=20 Global PocRad2:Byte=20 INIzDPPO:String=DataPath+'DPPO.INI' FileName('SouhHlas.WNS') DeclareRec('Program') DeclareRec('Denik') DeclareRec('KeyDenik1') DeclareRec('KeyDenik7') DeclareRec('Adresar') DeclareRec('KeyAdresar1') ;DlgFollowMouse(True) Global ValidDIC:String='0123456789CZcz' Global ValidCisla:String='0123456789' Global LocStr:String Global LocB:Boolean Global VetaD:LongInt Global VetaA:LongInt Global SourY:Real Global DelkaStrany:Real=260; pro tisk rekapitulace Global PorCislo:LongInt Global PoslIntCislo:LongInt Global SumaStr:Real Global CelkemRadek:Real Global SourXKontrSoucet:Real Global SourYKontrSoucet:Real Global TiskDetail:Boolean ;definice dialogu Global AktualCover:Integer=0 Global Ctvrtleti:Byte Global MesicHlas:ShortInt Global RokHlas:Word Global ViesPath:String=GetIni('PATHS','Vies'); Global FinancniUrad:String[32]=GetDataINI('INFO','FinancniUrad') Global FinancniUradNum:Word=Val(GetDataINI('INFO','FinancniUradCislo')) Global TypSubjektu:Byte=Val(GetDataINI('INFO','TypSubjektu')) Global DatumHlaseni:Word=ValDate(GetDataINI('DPH','DatumHlaseni')) if(DatumHlaseni=0) DatumHlaseni=GetDate(); ;Adresa:String[37]=GetDataINI('INFO','UplnaAdresa') Global Prijmeni:String[23]=GetDataINI('INFO','PrijmeniZastupce') Global Jmeno:String[11]=GetDataINI('INFO','JmenoZastupce') Global ObchodniJmeno:String[35]=GetDataINI('INFO','ObchodniJmeno') Global ObchodniJmeno2:String[23]=GetDataINI('INFO','ObchodniJmeno2') Global DodatekJmena:String[11]=GetDataINI('INFO','DodatekJmena') Global Postaveni:String[35]=GetDataINI('INFO','PostaveniZastupce') Global FOPrijmeni:String[19]=GetDataINI('INFO','FOPrijmeni') Global FOJmeno:String[11]=GetDataINI('INFO','FOJmeno') Global FOTitul:String[4]=GetDataINI('INFO','FOTitul') Global HlCinnost1:String[37]=GetDataINI('INFO','HlCinnost1') Global HlCinnost2:String[37]=GetDataINI('INFO','HlCinnost2') Global TypPriz:Byte=Val(GetDataIni('DPH','TypPriz')) ;EU:Byte=Val(GetDataIni('DPH','EU')) Global SestavilJmeno:String[20]=GetDataINI('INFO','SestavilJmeno') Global SestavilPrijmeni:String[36]=GetDataINI('INFO','SestavilPrijmeni') Global Sestavil:String[25]=GetDataINI('INFO','Sestavil') Global TelefonDPH:String[20]=GetDataINI('INFO','TelefonDPH') Global Obec:String[29]=GetFromIni('TITULNI','Obec',INIzDPPO) Global PSCDan:String=GetFromIni('TITULNI','PSC',INIzDPPO) PSCDan=NTrim(PSCDan) ;if(Length(PSCDan)=0) ; PSCDan=ValidateStrNeg(PSC,' ') Global UliceBC:String[38]=GetFromIni('TITULNI','Ulice',INIzDPPO) Global UliceDan:String[35]; Global UliceCP:String[6]=GetFromIni('TITULNI','CisloPopisne',INIzDPPO) Global UliceCO:String[6]=GetFromIni('TITULNI','CisloOrientacni',INIzDPPO) Global Okres:String[24]=GetFromIni('TITULNI','Okres',INIzDPPO) Global Stat:String[15]=GetFromIni('TITULNI','Stat',INIzDPPO) ;Telefon:String[12]=GetFromIni('TITULNI','Telefon',INIzDPPO) ;Fax:String[12]=GetFromIni('TITULNI','Fax',INIzDPPO) ;DICZastupce:String[12]=GetFromIni('TITULNI','DICZastupce',INIzDPPO) ;{--------------------------------------------- dialog --------------------------------------} ;DlgFollowMouse(True); DefDialog('Údaje pro souhrnné hlášení k DPH',492,372) DlgShade(-1,'',4,4,482,298) DlgButton(id_OK,'OK',334,306); DlgOnLineHelp(id_OK,'Pokračuje ve zpracování') DlgButton(id_Cancel,'Zpět',404,306); DlgOnLineHelp(id_Cancel,'Ukončí bez zpracování') DlgCover(1710,4,8,8,474,290,False,AktualCover) ;{####### Cover 1 #######} SetCover(1,'&Společné údaje') DlgCheckBox(100,TiskDetail,10,6,300,,'- tisknout včetně detailní rekapitulace') DlgOnLineHelp(100,'na konec sestavy na samostatné stránky bude připojen detailní opis účetních záznamů, které vstupují do Souhrnného hlášení') Rok:Word=Val(Rok(4)); ActDate:Word=GetDate(); ARok:Word=Val(Year(ActDate,4)) AMesic:Byte=Month(ActDate); Dec(AMesic); if(AMesic=0) begin AMesic=12;Dec(ARok); end; RokHlas=ARok MesicHlas=AMesic MesicStr:String=Str(MesicHlas); if(Rok>=2010) begin DlgStatic(-1,'&Kalendářní měsíc',10,34,120) DlgCombo(131,MesicStr,136,30,48,292,2,CBS_DropDownList,'1','2','3','4','5','6','7','8','9','10','11','12','1Q','2Q','3Q','4Q'); end else begin DlgStatic(-1,'&Kalendářní čtvrtletí',10,34,125) DlgEdit(131,Ctvrtleti,138,30,16,,1,,'1234') end; DlgOnLineHelp(131,'Údaje pro formulář... str. 1') DlgStatic(-1,'&rok',192,34,24) DlgEdit(132,RokHlas,220,30,40,,4,,ValidCisla) DlgOnLineHelp(132,'Údaje pro formulář... str. 1') DlgDivider(6,58,458); if(Rok>=2010) begin DlgStatic(-1,'&Cesta pro soubor',10,66,120) DlgEdit(134,ViesPath,136,62,262,,255); DlgPathButton(134,398,61); end; DlgStatic(-1,'&Finančnímu úřadu v, ve, pro',10,98,190) if(Rok>=2010) begin DlgCFU(101,FinancniUradNum,202,94,258,256,FinancniUrad); end else begin DlgEdit(101,FinancniUrad,202,94,258,,32) end; DlgOnLineHelp(101,'Údaje pro formulář... str. 1') DlgStatic(-1,'&Typ daňového subjektu',10,122,160) DlgCombo(135,TypSubjektu,170,118,148,260,2,CBS_DropDownList,'Fyzická osoba','Právnická osoba'); DlgStatic(-1,'&Datum',330,122,42,,,ES_RIGHT) DlgEditDate(102,DatumHlaseni,380,118,80) DlgOnLineHelp(102,'Údaje pro formulář... str. 4') DlgStatic(-1,'&Trvalé bydliště fyzické osoby nebo sídlo právnické osoby',10,74+78,400) DlgStatic(-1,'&Obec:',10,178,37) DlgEdit(105,Obec,50,96+78,190,,29) DlgOnLineHelp(105,'Údaje pro formulář... str. 1') DlgStatic(-1,'Psč:',243,178,28) DlgEdit(106,PSCDan,273,96+78,50,,5,,ValidCisla) DlgOnLineHelp(106,'Údaje pro formulář... str. 1') DlgStatic(-1,'&Ulice:',10,206,37) DlgEdit(108,UliceBC,50,124+78,273,,35) DlgOnLineHelp(108,'Údaje pro formulář... str. 1') DlgStatic(-1,'&Číslo popisné:',10,234,100) DlgEdit(136,UliceCP,110,230,48,,6); DlgStatic(-1,'&Orientační:',162,234,78) DlgEdit(137,UliceCO,240,230,32,,4); DlgStatic(-1,'&Stát:',280,234,29) DlgEdit(111,Stat,314,230,148,,15) DlgOnLineHelp(111,'Údaje pro formulář... str. 1') DlgDivider(6,88,458); DlgDivider(6,70+78,458); ;{####### Cover 2 #######} SetCover(2,'&Právnická osoba') DlgStatic(-1,'&Obchodní jméno',12,14,110) DlgEdit(201,ObchodniJmeno,120,10,338,,35) DlgOnLineHelp(201,'Údaje pro formulář... str. 1') DlgEdit(202,ObchodniJmeno2,12,38,240,,23) DlgOnLineHelp(202,'Údaje pro formulář... str. 1') ;DlgStatic(-1,'&Dodatek obchodního jména',12,70,184) DlgEdit(203,DodatekJmena,265,38,193,,11) DlgOnLineHelp(203,'Údaje pro formulář... str. 1') DlgStatic(-1,'Postavení osoby opravněné k podpisu za daňový subjekt',12,114,440) DlgEdit(204,Postaveni,12,136,446,,35) DlgOnLineHelp(204,'Údaje pro formulář... str. 4') DlgDivider(10,100,450); ;{####### Cover 3 #######} SetCover(3,'&Fyzická osoba') DlgStatic(-1,'&Příjmení',12,14,64) DlgEdit(301,FOPrijmeni,80,10,258,,19) DlgOnLineHelp(301,'Údaje pro formulář... str. 1') DlgStatic(-1,'&Jméno',12,42,64) DlgEdit(302,FOJmeno,80,38,258,,11) DlgOnLineHelp(302,'Údaje pro formulář... str. 1') DlgStatic(-1,'&Titul',12,70,64) DlgEdit(303,FOTitul,80,66,80,,4) DlgOnLineHelp(303,'Údaje pro formulář... str. 1') ;{####### Cover 4 #######} SetCover(4,'&Ostatní spol.') DlgShade(-1,'Osoba oprávněná k podpisu za daňový subjekt',4,2,464,54,,es_Center) DlgStatic(-1,'&Příjmení',12,30,60) DlgEdit(401,Prijmeni,78,26,178,,23) DlgOnLineHelp(401,'Údaje pro formulář... str. 4') DlgStatic(-1,'&Jméno',266,30,46) DlgEdit(402,Jmeno,322,26,138,,11) DlgOnLineHelp(402,'Údaje pro formulář... str. 4') DlgShade(-1,'Sestavil',4,62,464,76,,es_Center) DlgStatic(-1,'Pří&jmení',12,88,60) DlgEdit(405,SestavilPrijmeni,78,84,178,,23) DlgOnLineHelp(405,'Údaje pro formulář... str. 4') DlgStatic(-1,'Jmé&no',266,88,46) DlgEdit(406,SestavilJmeno,322,84,138,,11) DlgOnLineHelp(406,'Údaje pro formulář... str. 4') DlgStatic(-1,'&Telefon',266,112,53) DlgEdit(404,TelefonDPH,322,108,138,,20) DlgOnLineHelp(404,'Telefon - údaje pro formulář... str. 4') DlgDivider(6,150,458); DlgStatic(-1,'Upozornění:',10,156,457) DlgStatic(-1,'V dokladech v účetním deníku, které vstupují do tohoto výpočtu, musí',10,176,457) DlgStatic(-1,'být vyplněn údaj IČ, tato firma musí být zadána i v adresáři firem',10,196,457) DlgStatic(-1,'a zde musí být vyplněno DIČ.',10,216,457) Result:Integer=DlgExecute(True) if(Result<>id_OK) Halt ;{####### uložení dat #######} SetDataINI('INFO','FinancniUrad',FinancniUrad) SetDataINI('INFO','FinancniUradCislo',Str(FinancniUradNum)) SetDataINI('INFO','TypSubjektu',Str(TypSubjektu)) SetDataINI('DPH','DatumHlaseni',StrDate(DatumHlaseni)) ;SetDataINI('INFO','UplnaAdresa',Adresa) SetDataINI('INFO','PrijmeniZastupce',Prijmeni) SetDataINI('INFO','JmenoZastupce',Jmeno) SetDataINI('INFO','ObchodniJmeno',ObchodniJmeno) SetDataINI('INFO','ObchodniJmeno2',ObchodniJmeno2) SetDataINI('INFO','DodatekJmena',DodatekJmena) SetDataINI('INFO','PostaveniZastupce',Postaveni) SetDataINI('INFO','FOPrijmeni',FOPrijmeni) SetDataINI('INFO','FOJmeno',FOJmeno) SetDataINI('INFO','FOTitul',FOTitul) SetDataINI('INFO','HlCinnost1',HlCinnost1) SetDataINI('INFO','HlCinnost2',HlCinnost2) SetDataINI('INFO','Sestavil',Sestavil) SetDataINI('INFO','SestavilJmeno',SestavilJmeno) SetDataINI('INFO','SestavilPrijmeni',SestavilPrijmeni) SetDataINI('INFO','TelefonDPH',TelefonDPH) SetToIni('TITULNI','Obec',Obec,INIzDPPO) SetToIni('TITULNI','PSC',PSCDan,INIzDPPO) SetToIni('TITULNI','Ulice',UliceBC,INIzDPPO) SetToIni('TITULNI','CisloPopisne',UliceCP,INIzDPPO) SetToIni('TITULNI','CisloOrientacni',UliceCO,INIzDPPO) SetToIni('TITULNI','Okres',Okres,INIzDPPO) SetToIni('TITULNI','Stat',Stat,INIzDPPO) ;SetToIni('TITULNI','Telefon',telefon,INIzDPPO) ;SetToIni('TITULNI','Fax',fax,INIzDPPO) ;SetToIni('TITULNI','DICZastupce',DICZastupce,INIzDPPO) SetDataIni('DPH','TypPriz',TypPriz) SetIni('PATHS','VIES',TransToEsc(ViesPath)); Global IsXML:Boolean=((ExistPath(ViesPath)) or (Length(ViesPath)=0)); LocStr=Trim(UliceCP); if(Length(Trim(UliceCO))<>0) begin if(Length(LocStr)<>0) begin LocStr=LocStr+'/' end; LocStr=LocStr+Trim(UliceCO); end; UliceDan=XTrim(UliceBC+' '+LocStr); Sestavil=XTrim(SestavilPrijmeni+' '+SestavilJmeno); ;{--------------------------------------------- konec dialogu --------------------------------------} if(RokHlas>=2010) begin if(StrPos('Q',MesicStr)) begin MesicStr=ToChar('Q',MesicStr); MesicHlas=-Val(MesicStr) end else begin MesicHlas=Val(MesicStr) end; CallDDT('SOUHHL03.DDT') end else if(RokHlas>2005) CallDDT('SOUHHL02.DDT') else CallDDT('SOUHHL01.DDT') end;