; verze z 25.10.2000 ; Autor: Milan Slíva Name('Export dat pro FA Atlas') Designed('WinDUO') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Volba vyexportuje formuláře ''Výkaz zisku a ztrát'' a ''Účetní rozvaha'' v podobě pro finanční analýzu firmy Atlas Consulting.') TXT:TextFile ; definuje proměnnou textového souboru ;{definice promennych} DeclareRec('Program') WNSType(-1) ;DlgFollowMouse(True) ValidObdobi:String='0123456789' SetDecimalSize(2) ObdobiZpracovani:String[4]='' ;{definice uvodniho dialogu} Znova: DefDialog('Exportovat období',240,159) DlgShade(-1,'',4,5,230,76) DlgStatic(-1,'Exportovat období',35,35,122) DlgEdit(101,ObdobiZpracovani,160,30,36,,4,,ValidObdobi) DlgOnLineHelp(101,'Vyplňte období ve formátu MMRR') DlgButton(id_OK,'OK',8,90); DlgOnLineHelp(id_OK,'Pokračuje ve zpracování') DlgButton(id_Cancel,'Zpět',165,90); DlgOnLineHelp(id_Cancel,'Ukončí bez zpracování') IF(DlgExecute()<>ID_OK) Halt if(Val(ObdobiZpracovani)=0) begin Message('Období musí být vyplněno !!!'+#13+'(Formát MMRR)',mb_IconStop) GoTo(Znova) end ObdobiZpracovani=NulL(ObdobiZpracovani,4) Rozvaha:String=WorkPath+'RZVH'+ObdobiZpracovani+'.wns' VykazZZ:String=WorkPath+'VYZZ'+ObdobiZpracovani+'.wns' if(not ExistFile(Rozvaha)) Error('Nenalezen soubor rozvahy pro období '+ObdobiZpracovani+' !!!'+#13+'Proveďte závěrku a pak opakujte zpracování.',mb_IconStop); if(not ExistFile(VykazZZ)) Error('Nenalezen soubor výkazu zisků a ztrát pro období '+ObdobiZpracovani+' !!!'+#13+'Proveďte závěrku a pak opakujte zpracování.',mb_IconStop); ORozvaha:String=GetINI('Exporty','FAAtlasRozvaha'); if(Length(ORozvaha)=0) begin ORozvaha='C:\AtlasRVH.TXT'); end ORozvaha=GetFileName(ORozvaha) SetIni('Exporty','FAAtlasRozvaha',ORozvaha) ZbyvaRadku:Word PomStr:String TypStr:String[6] Typ:Byte=0 IDFirmy:Word=Program.TypFirmy if((IDFirmy=0) and Program.ZkraceneF) IDFirmy=IDFirmy|256 Rewrite(TXT,ORozvaha) OpenWNS(Rozvaha) ZbyvaRadku=CountWNSLines(1,IDFirmy) While(ZbyvaRadku>0) begin LoadWNSLine(1,IDFirmy) PomStr=GetFromWNSLine(2,False) TypStr=UpCaseNoCS(PomStr) if(CompareStr(TypStr,'AKTIVA')) Typ=1 else if(CompareStr(TypStr,'PASIVA')) Typ=2 if(not CompareStr(TypStr,'KONTRO')) ; {vyradi ze zpracovani radek s kontrolnim cislem} begin if(Typ=0) Error('Chybný soubor rozvahy\r'+Rozvaha); PomStr=GetFromWNSLine(1,False)+PomStr PomStr=FillStrR(PomStr,80,' ',True); PomStr=PomStr+FillStrL(GetFromWNSLine(3,False),4,' ',True) if(Typ=2) begin PomStr=PomStr+Str(0,14,2)+Str(0,14,2) end; PomStr=PomStr+Str(Val(GetFromWNSLine(4,True)),14,2) PomStr=PomStr+Str(Val(GetFromWNSLine(5,True)),14,2) if(Typ=1) begin PomStr=PomStr+Str(Val(GetFromWNSLine(6,True)),14,2) PomStr=PomStr+Str(Val(GetFromWNSLine(7,True)),14,2) end WriteLn(TXT,PomStr) end Dec(ZbyvaRadku) end Close(TXT) OVykazZZ:String=GetINI('Exporty','FAAtlasVykazZZ'); if(Length(OVykazZZ)=0) begin OVykazZZ='C:\AtlasVZZ.TXT'); end OVykazZZ=GetFileName(OVykazZZ) SetIni('Exporty','FAAtlasVykazZZ',OVykazZZ) Rewrite(TXT,OVykazZZ) OpenWNS(VykazZZ) ZbyvaRadku=CountWNSLines(2,IDFirmy) While(ZbyvaRadku>0) begin LoadWNSLine(2,IDFirmy) PomStr=GetFromWNSLine(1,False) PomStr=PomStr+GetFromWNSLine(2,False) PomStr=FillStrR(PomStr,80,' ',True); PomStr=PomStr+FillStrL(GetFromWNSLine(3,False),4,' ',True) PomStr=PomStr+Str(Val(GetFromWNSLine(4,True)),14,2) PomStr=PomStr+Str(Val(GetFromWNSLine(5,True)),14,2) WriteLn(TXT,PomStr) Dec(ZbyvaRadku) end Close(TXT) End