;{ DDT TISKOVÁ SESTAVA } ;{ Soupis zboží z objednávek } ;{ Verze: 09.09.2009 } ;{ Autor: WinDUO Team (BRM) } Name('Soupis zboží') Designed('Objp_man') Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') Descr('Soupis zboží z objednávek','Změna třídění - Ne','Filtr - Ano') ;{******************************************************************************************************************} ;{verze} DatumZmeny :Word=ValDate('4.8.2011') ;{Datum vytvoření (změny)} Verze :String='1.1.' ;{Vytvoření sestavy} ;{******************************************************************************************************************} ;{proměnné} WNSType(1) NewWNS('tobpszbo.wns') DeclareRec('ObjednavkaPrijata') DeclareRec('KeyObjednavkaPrijata2') DeclareRec('Objednavka') DeclareRec('KeyObjednavka2') DeclareRec('Program') Record DataKlic Delka :Byte Nazev :Array[1..30] of Char Material :Array[1..14] of Char end Record Data Mnozs :Double MJ :String[7] Pocet :LongInt Popis :String[30] end MakeTempFile(Data, DataKlic, False) VetaOP :LongInt VetaO :LongInt ExisO :Boolean VetaS :LongInt VetaD :LongInt Stav :LongInt ;{******************************************************************************************************************} ;{příprava dat} Stav=0 ClearKey(KeyObjednavkaPrijata2) InitStatus(UsedKeys(KeyObjednavkaPrijata2),'Procházení objednávek') while(NextKey(KeyObjednavkaPrijata2,VetaOP)) begin ReadRec(ObjednavkaPrijata,VetaOP) if(InFilter(ObjednavkaPrijata)) begin KeyObjednavka2.Length=4 KeyObjednavka2.Objednavka=SwapL(ObjednavkaPrijata.Cislo) ExisO=SearchKey(KeyObjednavka2,VetaO) while((ExisO)and(KeyObjednavka2.Objednavka=SwapL(ObjednavkaPrijata.Cislo))) begin ReadRec(Objednavka,VetaO) if(Objednavka.Typ=1) begin DataKlic.Delka =SizeOf(DataKlic)-1 StrToChars(DataKlic.Nazev,UpCase(Objednavka.Nazev),' ') StrToChars(DataKlic.Material,Objednavka.Material,' ') if(FindKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) Data.Mnozs =Data.Mnozs+Objednavka.Mnozstvi Data.Pocet =Data.Pocet+1 ModifyRec(Data,VetaD) end else begin ClearRec(Data) Data.Mnozs =Objednavka.Mnozstvi Data.Pocet =1 Data.MJ =Objednavka.MJ Data.Popis =Objednavka.Nazev AddKey(DataKlic,AddRec(Data)) end end ;if(Objednavka.Typ=1) ExisO=NextKey(KeyObjednavka2,VetaO) end ;while((ExisO)and(KeyObjednavka2.Objednavka=SwapL(ObjednavkaPrijata.Cislo))) end ;if(InFilter(ObjednavkaPrijata)) Inc(Stav) SetStatus(Stav) end ;while(NextKey(KeyObjednavkaPrijata2,VetaOP)) ;{******************************************************************************************************************} ;{tisk dat} SetColumn(0,TA_Left,14,0) ;{Material} 1 SetColumn(1,TA_Left,30,0) ;{Název} 2 SetColumn(2,TA_Right,17,0) ;{Množství} 4 SetColumn(3,TA_Left,7,0) ;{Jednotka} 8 SetColumn(4,TA_Right,5,0) ;{Počet} 16 SetHead('Materiál\tNázev\tObjednáno\tMJ\tPočet') SetDescr(0,0,TA_Center,'Soupis zboží z objednávek') SetDescr(1,1,TA_Left,'Firma: '+Program.Firma+' '+Program.Rozsireni); Stav=0 ClearKey(DataKlic) InitStatus(UsedKeys(DataKlic), 'Tisk') while(NextKey(DataKlic,VetaD)) begin ReadRec(Data,VetaD) AddLine(CharsToStr(DataKlic.Material),Data.Popis,Str(Data.Mnozs,,5),Data.MJ,Data.Pocet) Inc(Stav) SetStatus(Stav) end END