;{ DDT SESTAVA - STANDARD } ;{ Soupis majetku, vhodné i pro inventarizaci } ;{ Verze: 24.11.2008 } ;{ Autor: WinDUO Team } Name('Aktivní / Neaktivní') Designed('ADRMAN') Author('Winduo Team','e-mail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Výpis aktivních/neaktivních odběratelů a dodavatelů') ;{******************************************************************************************************************************************************} WnsType(1) DeclareRec('Program') DeclareRec('Adresar') DeclareRec('KeyAdresar1') DeclareRec('ObjednavkaPrijata') DeclareRec('KeyObjednavkaPrijata1') DeclareRec('ObjednavkaVydana') DeclareRec('KeyObjednavkaVydana1') DeclareRec('Pohledavka') DeclareRec('KeyPohledavka1') DeclareRec('Zavazek') DeclareRec('KeyZavazek1') DeclareRec('Pokladna') DeclareRec('KeyPokladna1') DeclareRec('Banka') DeclareRec('KeyBanka1') sirka :Integer=220 vyska :Integer=415 cover :Integer=0 pozice :Integer veta :LongInt vetad :LongInt status :LongInt Radek :String cislo :LongInt xdatod :Word=ValDate('1.1.'+Rok(4)) xdatdo :Word=GetDate() xobjp :Boolean=True xobjv :Boolean=True xpoh :Boolean=True xzav :Boolean=True xpok :Boolean=True xban :Boolean=True xakt :Boolean=False xneakt :Boolean=True ;{struktura pro jednotlivé záznamy} Record DataKlic Delka :Byte nazev :Array[1..35] of char IC :LongInt end; Record Data firma :String ano :Boolean objednavkap :LongInt objednavkav :LongInt pohledavka :LongInt zavazek :LongInt pokladna :LongInt banka :LongInt end; MakeTempFile(Data, DataKlic, True) ;{******************************************************************************************************************************************************} ;{formular} DefDialog('Aktivní / Neaktivní (v.1.1.)',sirka-1,vyska,True) DlgShade(-1,'',5,5,sirka-10,vyska-50) pozice=15 DlgStatic(-1,'Datumové omezení',15,pozice+2,150,,,,$FF0000) Inc(pozice,25) DlgEditDate(,xdatod,15,pozice,,,10,ES_Right,'0123456789.') DlgStatic(-1,'-',107,pozice+2,5) DlgEditDate(,xdatdo,120,pozice,,,10,ES_Right,'0123456789.') Inc(pozice,50) DlgStatic(-1,'Procházet knihovnu',15,pozice+2,150,,,,$FF0000) Inc(pozice,25) DlgCheckBox(,xobjp,15,pozice,150,,'Objednávky přijaté') Inc(pozice,25) DlgCheckBox(,xobjv,15,pozice,150,,'Objednávky vydané') Inc(pozice,25) DlgCheckBox(,xpoh,15,pozice,150,,'Pohledávky') Inc(pozice,25) DlgCheckBox(,xzav,15,pozice,150,,'Závazky') Inc(pozice,25) DlgCheckBox(,xpok,15,pozice,150,,'Pokladna') Inc(pozice,25) DlgCheckBox(,xban,15,pozice,150,,'Banka') Inc(pozice,50) DlgStatic(-1,'Označit aktivních/neaktivních',15,pozice+2,190,,,,$FF0000) Inc(pozice,25) DlgCheckBox(,xakt,15,pozice,150,,'Aktivní') Inc(pozice,25) DlgCheckBox(,xneakt,15,pozice,150,,'Neaktivní') DlgButton(id_OK,'OK',sirka-140,vyska-40) DlgButton(id_Cancel,'Zpět',sirka-70,vyska-40) Result:Integer=DlgExecute() if(Result=ID_Cancel) Halt ;{******************************************************************************************************************************************************} ;{načtení adresáře} ClearKey(KeyAdresar1) InitStatus(UsedKeys(KeyAdresar1), 'Načtení adresáře') status=0 while(NextKey(KeyAdresar1,Veta)) begin ReadRec(Adresar,Veta) if(InFilter(Adresar)) begin DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(Adresar.ICO) ClearRec(Data) Data.firma =Adresar.Nazev Data.ano =false Data.objednavkap =0 Data.objednavkav =0 Data.pohledavka =0 Data.zavazek =0 Data.pokladna =0 Data.banka =0 AddKey(DataKlic,AddRec(Data)) end Inc(status) SetStatus(status) end ;{******************************************************************************************************************************************************} ;{objednávky přijaté} if(xobjp) begin ClearKey(KeyObjednavkaPrijata1) InitStatus(UsedKeys(KeyObjednavkaPrijata1), 'Načtení objednávek přijatých') status=0 while(NextKey(KeyObjednavkaPrijata1,Veta)) begin ReadRec(ObjednavkaPrijata,Veta) DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(ObjednavkaPrijata.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.ano=true Data.objednavkap=Data.objednavkap+1 ModifyRec(Data,VetaD) end Inc(status) SetStatus(status) end end ;{******************************************************************************************************************************************************} ;{objednávky vydané} if(xobjv) begin ClearKey(KeyObjednavkaVydana1) InitStatus(UsedKeys(KeyObjednavkaVydana1), 'Načtení objednávek vydaných') status=0 while(NextKey(KeyObjednavkaVydana1,Veta)) begin ReadRec(ObjednavkaVydana,Veta) DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(ObjednavkaVydana.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.ano=true Data.objednavkav=Data.objednavkav+1 ModifyRec(Data,VetaD) end Inc(status) SetStatus(status) end end ;{******************************************************************************************************************************************************} ;{pohledávky} if(xobjv) begin ClearKey(KeyPohledavka1) InitStatus(UsedKeys(KeyPohledavka1), 'Načtení pohledávek') status=0 while(NextKey(KeyPohledavka1,Veta)) begin ReadRec(Pohledavka,Veta) DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(Pohledavka.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.ano=true Data.pohledavka=Data.pohledavka+1 ModifyRec(Data,VetaD) end Inc(status) SetStatus(status) end end ;{******************************************************************************************************************************************************} ;{závazky} if(xobjv) begin ClearKey(KeyZavazek1) InitStatus(UsedKeys(KeyZavazek1), 'Načtení závazků') status=0 while(NextKey(KeyZavazek1,Veta)) begin ReadRec(Zavazek,Veta) DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(Zavazek.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.ano=true Data.zavazek=Data.zavazek+1 ModifyRec(Data,VetaD) end Inc(status) SetStatus(status) end end ;{******************************************************************************************************************************************************} ;{pokladna} if(xobjv) begin ClearKey(KeyPokladna1) InitStatus(UsedKeys(KeyPokladna1), 'Načtení pokladny') status=0 while(NextKey(KeyPokladna1,Veta)) begin ReadRec(Pokladna,Veta) DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(Pokladna.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.ano=true Data.pokladna=Data.pokladna+1 ModifyRec(Data,VetaD) end Inc(status) SetStatus(status) end end ;{******************************************************************************************************************************************************} ;{banka} if(xobjv) begin ClearKey(KeyBanka1) InitStatus(UsedKeys(KeyBanka1), 'Načtení banky') status=0 while(NextKey(KeyBanka1,Veta)) begin ReadRec(Banka,Veta) DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(Banka.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.ano=true Data.banka=Data.banka+1 ModifyRec(Data,VetaD) end Inc(status) SetStatus(status) end end ;{******************************************************************************************************************************************************} ;{označení adresáře} ClearKey(KeyAdresar1) InitStatus(UsedKeys(KeyAdresar1), 'Načtení adresáře') status=0 while(NextKey(KeyAdresar1,Veta)) begin ReadRec(Adresar,Veta) if(InFilter(Adresar)) begin DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.nazev,'a',' ') DataKlic.IC =SwapL(Adresar.ICO) if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) StrToChars(DataKlic.nazev,Adresar.nazev,' ') ModifyRec(Data,VetaD) end if((xakt)and(Data.ano)) SignRec(Adresar) if((xneakt)and(not Data.ano)) SignRec(Adresar) end Inc(status) SetStatus(status) end ;{******************************************************************************************************************************************************} ;{tisk} NewWNS('tadrpouz.wns','Aktivní / Neaktivní') SetDescr(0,0,TA_Center,'Výpis aktivních/neaktivních odběratelů a dodavatelů'); SetDescr(1,1,TA_Left,'Firma: '+Program.Firma+' '+Program.Rozsireni); SetDescr(2,1,TA_Right|descr_Date,'Datum tisku: '); SetDescr(3,2,TA_Left|descr_UserDescr,''); SetColumn(0,TA_Right,7,0) SetColumn(1,TA_Right,10,0) SetColumn(2,TA_Left,35,0) SetColumn(3,TA_Right,7,0) SetColumn(4,TA_Right,7,0) SetColumn(5,TA_Right,7,0) SetColumn(6,TA_Right,7,0) SetColumn(7,TA_Right,7,0) SetColumn(8,TA_Right,7,0) SetHead('č.\tIČ\tFirma\tObj.přijatá\tObj.vydaná\tPohledávka\tZávazek\tPokladna\tBanka'); ;{******************************************************************************************************************************************************} ;{aktivní} ClearKey(DataKlic) InitStatus(UsedKeys(DataKlic), 'Tisk aktivních') status=0 while(NextKey(DataKlic,Veta)) begin ReadRec(Data,Veta) if(Data.ano) begin Inc(cislo) Radek='' Radek=Radek+cislo+'.\t' Radek=Radek+SwapL(DataKlic.IC)+'\t' Radek=Radek+Data.firma+'\t' Radek=Radek+StrFinanc(Data.objednavkap,0,True)+'\t' Radek=Radek+StrFinanc(Data.objednavkav,0,True)+'\t' Radek=Radek+StrFinanc(Data.pohledavka,0,True)+'\t' Radek=Radek+StrFinanc(Data.zavazek,0,True)+'\t' Radek=Radek+StrFinanc(Data.pokladna,0,True)+'\t' Radek=Radek+StrFinanc(Data.banka,0,True)+'\t' AddLine(Radek) end Inc(status) SetStatus(status) end ;{******************************************************************************************************************************************************} ;{neaktivní} NextPageWNS; ClearKey(DataKlic) InitStatus(UsedKeys(DataKlic), 'Tisk neaktivních') status=0 while(NextKey(DataKlic,Veta)) begin ReadRec(Data,Veta) if(not Data.ano) begin Inc(cislo) Radek='' Radek=Radek+status+'.\t' Radek=Radek+SwapL(DataKlic.IC)+'\t' Radek=Radek+Data.firma+'\t' Radek=Radek+StrFinanc(Data.objednavkap,0,True)+'\t' Radek=Radek+StrFinanc(Data.objednavkav,0,True)+'\t' Radek=Radek+StrFinanc(Data.pohledavka,0,True)+'\t' Radek=Radek+StrFinanc(Data.zavazek,0,True)+'\t' Radek=Radek+StrFinanc(Data.pokladna,0,True)+'\t' Radek=Radek+StrFinanc(Data.banka,0,True)+'\t' AddLine(Radek) end Inc(status) SetStatus(status) end END