; DDT pro tisk zápočtu ; verze z 1.8.2003 ; Autor: WinDUO Team Name('Zápočet - mailem') Designed('ZavMan#1','PohlMan#1') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Odeslání vzájemného zápočtu mailem') ;FileName('Zapocet.WNS') ValidCisla:String='0123456789' WNSType(-1); ;{texty} T1:String='Smlouva o vzájemném započtení pohledávek' T2:String='Smluvní strany:' T3:String='a' T4:String='se dohodly na vzájemném započtení pohledávek ve výši:' T5:String='Smluvní strana' T6:String='Rozdíl ve výši ' T7:String='uhradí' T8:String='pod variabilním symbolem' T9:String='na bankovní účet, uvedený na této faktuře.' T10:String='za smluvní stranu' T11:String='za smluvní stranu' T12:String='..................................' ;{ostatni promenne} DeclareRec('Program') SledICO:LongInt DeclareRec('Adresar') DeclareRec('KeyAdresar1') DeclareRec('Pohledavka') DeclareRec('KeyPohledavka3') DeclareRec('Zavazek') DeclareRec('KeyZavazek3') VetaA:LongInt VetaP:LongInt VetaZ:LongInt Beru:Boolean=False x:Boolean ;Aspon1:LongInt=0 SumaP:Real=0 SumaZ:Real=0 CelkemP:Real CelkemZ:Real Zapocteno:Real VSPoslP:String VSPoslZ:String ;{definice uvodniho dialogu, zadání období} ;DlgFollowMouse(True) DefDialog('Zápočet',462,224) DlgShade(-1,'',4,27,453,124) DlgStatic(-1,'Vytvoření vzájemného zápočtu a odeslání mailem',16,4,326) DlgStatic(-1,'IČ:',10,34,32) DlgEditICO(103,SledICO,50,32,,,104,105) DlgOnLineHelp(103,'IČ firmy, pro kterou chcete zápočet sestavit (F7)') DlgStatic(104,'',132,34,324) DlgStatic(105,'',132,52,324) DlgButton(id_OK,'OK',166+120,156); DlgOnLineHelp(id_OK,'Pokračuje ve zpracování') DlgButton(id_Cancel,'Zpět',373,156); DlgOnLineHelp(id_Cancel,'Ukončí bez zpracování') ;DlgButton(id_Help,'Help',33,156); ;DlgOnLineHelp(id_Help,'Help') ;DlgSetHelp(help_Context,1040) IF(DlgExecute(True)<>ID_OK) Halt IF(SledICO=0) ; není vyplněno IČO begin Halt('Nevyplnili jste IČ'+#13+'Zpracování bylo ukončeno') end ;{vyhledani adresy} KeyAdresar1.Length=4 KeyAdresar1.Ico=SwapL(SledIco) if(FindKey(KeyAdresar1,VetaA)) begin ReadRec(Adresar,VetaA) end else begin ClearRec(Adresar) Halt('K zadanému IČ není v adresáři adresa'+#13+'Zpracování bylo ukončeno') end ;{test, zda je co zapocitat} KeyPohledavka3.Length=4 KeyPohledavka3.Ico=SwapL(SledIco) if(SearchKey(KeyPohledavka3,VetaP)) begin ReadRec(Pohledavka,VetaP) While((Pohledavka.ICO=SledICO)and(VetaP<>0)) begin if(not(Pohledavka.Uhrazena)) begin SumaP=SumaP+Pohledavka.Castka-Pohledavka.Uhrazeno end x=NextKey(KeyPohledavka3,VetaP) ReadRec(Pohledavka,VetaP) end end if(SumaP<>0) begin KeyZavazek3.Length=4 KeyZavazek3.Ico=SwapL(SledIco) if(SearchKey(KeyZavazek3,VetaZ)) begin ReadRec(Zavazek,VetaZ) While((Zavazek.ICO=SledIco)and(VetaZ<>0)) begin if(not(Zavazek.Uhrazena)) begin SumaZ=SumaZ+Zavazek.Castka-Zavazek.Uhrazeno end x=NextKey(KeyZavazek3,VetaZ) ReadRec(Zavazek,VetaZ) end end end if((SumaP=0)or(SumaZ=0)) begin Halt('Pro firmu: IČ='+NULL(SledICO,8,True)+' '+Adresar.Nazev+' není co započítat') end else begin ; vypocet a tisk započtu: HTMLFileName:String HTMLFile :TextFile if(Length(HTMLFileName)=0) begin HTMLFileName=WorkPath()+'Zapocet.htm'; end; Rewrite(HTMLFile,HTMLFileName,True) ; otevreni souboru Writeln(HTMLFile,'') Writeln(HTMLFile,'
') Writeln(HTMLFile,'') Writeln(HTMLFile,'| ') Writeln(HTMLFile,' | ')
;{tisk hlavicky - nase adresa}
Writeln(HTMLFile,Program.Firma+' ') if(Length(Program.Rozsireni)>0) Writeln(HTMLFile,Program.Rozsireni+' ') Writeln(HTMLFile,Program.Ulice+' ') Writeln(HTMLFile,Program.PSC+' '+Program.Mesto+' ') Writeln(HTMLFile,' | ')
Writeln(HTMLFile,'')
;{tisk hlavicky - adresa partnera}
Writeln(HTMLFile,Adresar.Nazev+' ') if(Length(Adresar.Rozsireni)>0) Writeln(HTMLFile,Adresar.Rozsireni+' ') Writeln(HTMLFile,Adresar.Ulice+' ') Writeln(HTMLFile,Adresar.PSC+' '+Adresar.Mesto+' ') Writeln(HTMLFile,' |
| ') Writeln(HTMLFile,' | ')
Writeln(HTMLFile,T2+' ') ;{tisk nasi adresy} Writeln(HTMLFile,' ') T2=Program.PSC+' '+Program.Mesto+', '+Program.Ulice Writeln(HTMLFile,T2+' ') Writeln(HTMLFile,' ') ;{tisk adresy partnera} Writeln(HTMLFile,' ') T2=Adresar.PSC+' '+Adresar.Mesto+', '+Adresar.Ulice Writeln(HTMLFile,' ') ;{tisk 4. casti textu} Writeln(HTMLFile,T4+' ') IF(SumaP ') Writeln(HTMLFile,' ') end ;{tisk prehledove tabulky} Writeln(HTMLFile,'
') Writeln(HTMLFile,' |
| ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,T6+StrFinanc(SumaZ-SumaP,2,True)+' '+Program.Mena+' '+T7+' '+Program.Firma+' '+Program.Rozsireni) Writeln(HTMLFile,' | ') Writeln(HTMLFile,'||||
| ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,T8+' '+VSPoslZ+' '+T9) Writeln(HTMLFile,' | ') end end end IF(SumaP>SumaZ) begin ;vypíše pohl. jen do výše "započteno" a všechny závazky ;výpis pohledávek KeyPohledavka3.Length=4 KeyPohledavka3.Ico=SwapL(SledIco) SumaP=0 if(SearchKey(KeyPohledavka3,VetaP)) begin ReadRec(Pohledavka,VetaP) While((Pohledavka.ICO=SledICO)and(VetaP<>0)and(SumaP'+StrDate(Pohledavka.DatSpl)+' | ') Writeln(HTMLFile,''+StrFinanc(Pohledavka.Castka,2,True)+' | ') Writeln(HTMLFile,''+StrFinanc(Pohledavka.Uhrazeno,2,True)+' | ') Writeln(HTMLFile,''+StrFinanc(Pohledavka.Castka-Pohledavka.Uhrazeno,2,True)+' | ') Writeln(HTMLFile,'
| ') Writeln(HTMLFile,'Celkem') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'') Writeln(HTMLFile,' | ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,''+StrFinanc(SumaP,2,True)+'') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'|
| ') Writeln(HTMLFile,' | '+T5+' | ') Writeln(HTMLFile,''+Adresar.Nazev+':') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'|||
| '+Zavazek.VSymb+' | ') Writeln(HTMLFile,''+StrDate(Zavazek.DatSpl)+' | ') Writeln(HTMLFile,''+StrFinanc(Zavazek.Castka,2,True)+' | ') Writeln(HTMLFile,''+StrFinanc(Zavazek.Uhrazeno,2,True)+' | ') Writeln(HTMLFile,''+StrFinanc(Zavazek.Castka-Zavazek.Uhrazeno,2,True)+' | ') Writeln(HTMLFile,'|
| ') Writeln(HTMLFile,'Celkem') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'') Writeln(HTMLFile,' | ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,''+StrFinanc(SumaZ,2,True)+'') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'|
| ') Writeln(HTMLFile,' | |||||
| ') Writeln(HTMLFile,'Rozdíl') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'') Writeln(HTMLFile,' | ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,''+StrFinanc(SumaP-SumaZ,2,True)+'') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'
| ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,T6+StrFinanc(SumaP-SumaZ,2,True)+' '+Program.Mena+' '+T7+' '+Adresar.Nazev+' '+Adresar.Rozsireni) Writeln(HTMLFile,' | ') Writeln(HTMLFile,'|
| ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,T8+' '+VSPoslZ+' '+T9) Writeln(HTMLFile,' | ') end end end ;{tisk podpisu} Writeln(HTMLFile,'|
| ') Writeln(HTMLFile,' | ||
| ') Writeln(HTMLFile,' | ') Writeln(HTMLFile,'Datum: '+StrDate(GetDate())) Writeln(HTMLFile,' | ') Writeln(HTMLFile,'|
| ') Writeln(HTMLFile,' | ||
| ') Writeln(HTMLFile,' | ||
| ') Writeln(HTMLFile,' | ||
| ') Writeln(HTMLFile,' | ||
| ') Writeln(HTMLFile,' | '+T12+' | ') Writeln(HTMLFile,''+T12+' | ') Writeln(HTMLFile,'
| ') Writeln(HTMLFile,' | '+T10+' | ') Writeln(HTMLFile,''+T11+' | ') Writeln(HTMLFile,'
| ') Writeln(HTMLFile,' | '+Program.Firma+' | ') Writeln(HTMLFile,''+Adresar.Nazev+' | ') Writeln(HTMLFile,'
| ') Writeln(HTMLFile,' | '+Program.Rozsireni+' | ') Writeln(HTMLFile,''+Adresar.Rozsireni+' | ') Writeln(HTMLFile,'