; opis objednávek vydaných ; verze z 10.7.2003 ; Autor: WinDUO Team Name('Opis objednávek') ; pod tímto názvem bude sestava v menu FileName('OpisObjP.WNS') ; pod tímto názvem bude sestava uložena na disku Designed('Objv_man','Obj_vyd') ; sestava bude dostupná z okna Adrman Author('Winduo Team','EMail: winduo@winduo.cz','http://www.winduo.com','http://www.winduo.cz') ;informace o autorovi Descr('Opíše objednávky','Změna třídění - Ne','Filtr - Ano') NewWns('ObjV1.WNS') WNSType(1); DeclareRec('ObjednavkaVydana') DeclareRec('KeyObjednavkaVydana2') DeclareRec('Objednavka') DeclareRec('KeyObjednavka2') Veta:LongInt Retezec1:String Retezec2:String StrStav:String StrZpusobU:String Vypis2radky:Boolean VypisDetail:Boolean LocBo:Boolean VetaO1:LongInt VetaO2:LongInt Beru:Boolean CenaCelk:Real Zbyva:Real SledObj:String if(GetCountBindRec(ObjednavkaVydana)>0) ;jsem-li v jedné objednávce begin GetBindRec('ObjednavkaVydana') SledObj=ObjednavkaVydana.Doklad end INI:String=DataPath+'NASTAV1.INI' TypVypisu1:Boolean=True TypVypisu2:Boolean=False TypVypisu3:Boolean=False TypVypisu4:Boolean=False TypVypisu:Word=VAL(GetFromIni('OpisObjP','TypVypisu',INI)) if(TypVypisu=2) begin TypVypisu1=False TypVypisu2=True end if(TypVypisu=3) begin TypVypisu1=False TypVypisu3=True end if(TypVypisu=4) begin TypVypisu1=False TypVypisu4=True end RozsahVyp:Byte ;DlgFollowMouse(True) ;{definice uvodniho dialogu} DefDialog('Zadání údajů',462,224) DlgShade(-1,'',4,27,453,124) DlgStatic(-1,' Volba údajů',3,5,84) DlgStatic(-1,'&Podrobnost výpisu:',10,30,125) DlgRadioButton(120,TypVypisu1,68,45,170,,'stručný - jednořádkový',120,123) DlgOnLineHelp(120,'Budou vypsány stručné informace o objednávce') DlgRadioButton(121,TypVypisu2,68,65,220,,'základní údaje - dvouřádkový',120,123) DlgOnLineHelp(121,'Budou vypsány základní informace o objednávce') DlgRadioButton(122,TypVypisu3,68,85,260,,'stručný jednořádkový + detailní opis',120,123) DlgOnLineHelp(122,'Bude vypsána objednávka i s detailním rozpisem') DlgRadioButton(123,TypVypisu4,68,105,220,,'dvouřádkový + detailní opis',120,123) DlgOnLineHelp(123,'Bude vypsána objednávka i s detailním rozpisem') if(Length(SledObj)=0) begin DlgStatic(-1,'&Výběr objednávek',10,129,143) DlgCombo(102,RozsahVyp,135,125,240,200,30,CBS_DropDownList,'Všechny','Nevyřízené','Částečně vyřízené','Nevyřízené a částečně vyřízené','Vyřízené','Nelze vyřídit','Stornované','V řízení') DlgOnLineHelp(102,'Rozsah tisku objednávek') end DlgButton(id_OK,'OK',290,156); DlgOnLineHelp(id_OK,'Pokračuje ve zpracování') DlgButton(id_Cancel,'Zpět',373,156); DlgOnLineHelp(id_Cancel,'Ukončí bez zpracování') if(DlgExecute()<>ID_OK) Halt if(TypVypisu1) TypVypisu=1 if(TypVypisu2) TypVypisu=2 if(TypVypisu3) TypVypisu=3 if(TypVypisu4) TypVypisu=4 SetToIni('OpisObjP','TypVypisu',Str(TypVypisu,1,0),INI) if(TypVypisu1) begin Vypis2Radky=False VypisDetail=False end if(TypVypisu2) begin Vypis2Radky=True VypisDetail=False end if(TypVypisu3) begin Vypis2Radky=False VypisDetail=True end if(TypVypisu4) begin Vypis2Radky=True VypisDetail=True end if(not Vypis2radky) begin SetHeadColumn(0,TA_LEFT,10); SetHeadColumn(1,TA_Right,10); SetHeadColumn(2,TA_Right,10); SetHeadColumn(3,TA_LEFT,8); SetHeadColumn(4,TA_LEFT,35); SetHeadColumn(5,TA_Right,13); SetHeadColumn(6,TA_LEFT,17); SetHeadColumn(7,TA_Right,10); SetHeadColumn(8,TA_LEFT,15); SetHeadOfHead('Číslo obj.'+#9+'Datum'+#9+'k vyřízení'+#9+'IČ'+#9+'Název'+#9+'Cena'+#9+'Stav'+#9+'Dat.vyřízení'+#9+'Zák.č.obj.'); end else begin SetHeadColumn(0,TA_LEFT,30); SetHeadColumn(1,TA_Right,10); SetHeadColumn(2,TA_Right,10); SetHeadColumn(3,TA_LEFT,8); SetHeadColumn(4,TA_LEFT,35); SetHeadColumn(5,TA_Right,18); SetHeadColumn(6,TA_LEFT,17); SetHeadColumn(7,TA_Right,10); SetHeadColumn(8,TA_LEFT,15); SetHeadOfHead('objednávka / popis'+#9+'Datum'+#9+'vyříz.od-do'+#9+'IČ'+#9+'Název'+#9+'Cena/úhrada'+#9+'Stav'+#9+'Dat.vyříz.'+#9+'Zák.č.obj'); end SetColumn(0,TA_Center,140); SetHead('') if(VypisDetail) begin SetColumn(0,TA_LEFT,30); SetColumn(1,TA_Right,14); SetColumn(2,TA_Right,10); SetColumn(3,TA_Right,8); SetColumn(4,TA_LEFT,12); ;SetColumn(5,TA_LEFT,4); ;SetColumn(6,TA_Right,12); SetHead('Popis'+#9+'Číslo'+#9+'Cena za MJ'+#9+'Objednáno'+#9+'Celkem') ;+#9+'DPH'+#9+'Celkem s DPH'); ;az bude naplnovano policko Uspokojeno: ;SetColumn(0,TA_LEFT,30); ;SetColumn(1,TA_Right,14); ;SetColumn(2,TA_Right,10); ;SetColumn(3,TA_Right,8); ;SetColumn(4,TA_Right,8); ;SetColumn(5,TA_LEFT,12); ;SetColumn(6,TA_LEFT,4); ;SetColumn(7,TA_Right,12); ;SetHead('Popis'+#9+'Číslo'+#9+'Cena za MJ'+#9+'Objednáno'+#9+'Zbývá dodat'+#9+'Celkem'+#9+'DPH'+#9+'Celkem s DPH'); end ;SetHeadOnData(True); ; jak nastavit SetHead?, když je prázdný? if(Length(SledObj)=0) SetDescr(0,0,TA_Center,'Opis vystavených objednávek'); else SetDescr(0,0,TA_Center,'Objednávka'); SetDescr(1,1,TA_Left|Descr_Date,'Datum: '); SetDescr(2,1,TA_Right|Descr_PageNum,'Strana: '); SetDescr(3,2,TA_Left|Descr_UserDescr); if((IsFilter(ObjednavkaVydana))and(Length(SledObj)=0)) begin SetDescr(4,2,TA_Right,'Aktívní filtr'); end InitStatus(UsedKeys(KeyObjednavkaVydana2)) ; inicializace stavoveho prouzku beru=False StrStav='' StrZpusobU='' if(Length(SledObj)=0) ClearKey(KeyObjednavkaVydana2) else GoTo(TiskObj) While((NextKey(KeyObjednavkaVydana2,Veta))and(Length(SledObj)=0)) begin ReadRec(ObjednavkaVydana,Veta) TiskObj: if(InFilter(ObjednavkaVydana)) begin beru=False ;if(IsFilter(ObjednavkaVydana)) ; begin ; DynTab('Aktivní filtr') ; end if(ObjednavkaVydana.Stav=0) begin StrStav='Nevyřízena' if((RozsahVyp=1)or(RozsahVyp=3)) beru=True end if(ObjednavkaVydana.Stav=1) begin StrStav='Částečně vyřízena' if((RozsahVyp=2)or(RozsahVyp=3)) beru=True end if(ObjednavkaVydana.Stav=2) begin StrStav='Vyřízena' if(RozsahVyp=4) beru=True end if(ObjednavkaVydana.Stav=3) begin StrStav='Nelze vyřídit' if(RozsahVyp=5) beru=True end if(ObjednavkaVydana.Stav=4) begin StrStav='Stornováno' if(RozsahVyp=6) beru=True end if(ObjednavkaVydana.Stav=5) begin StrStav='V řízení' if(RozsahVyp=7) beru=True end if(RozsahVyp=0) beru=True if(Length(SledObj)>0) beru=True if(beru) begin if(Vypis2radky) begin Retezec1=ObjednavkaVydana.Doklad+#9+StrDate(ObjednavkaVydana.Datum)+#9+StrDate(ObjednavkaVydana.TerminPo)+#9+Null(ObjednavkaVydana.Ico,8,True) Retezec2=ObjednavkaVydana.Odberatel+#9+StrFinanc(ObjednavkaVydana.Castka,2)+#9+StrStav+#9+StrDate(ObjednavkaVydana.Vyrizeno)+#9+ObjednavkaVydana.Objednavka end else begin Retezec1=ObjednavkaVydana.Doklad+#9+StrDate(ObjednavkaVydana.Datum)+#9+StrDate(ObjednavkaVydana.TerminDo)+#9+Null(ObjednavkaVydana.Ico,8,True) Retezec2=ObjednavkaVydana.Odberatel+#9+StrFinanc(ObjednavkaVydana.Castka,2)+#9+StrStav+#9+StrDate(ObjednavkaVydana.Vyrizeno)+#9+ObjednavkaVydana.Objednavka end ;SetSumLine(1) AddHeadLine(Retezec1+#9+Retezec2) if(Vypis2radky) begin if(ObjednavkaVydana.Platba=0) StrZpusobU='' if(ObjednavkaVydana.Platba=1) StrZpusobU='Hotově' if(ObjednavkaVydana.Platba=2) StrZpusobU='Převodním příkazem' if(ObjednavkaVydana.Platba=3) StrZpusobU='Složenkou' if(ObjednavkaVydana.Platba=4) StrZpusobU='Dobírkou' if(ObjednavkaVydana.Platba=5) StrZpusobU='Bez platby' if(ObjednavkaVydana.Platba=6) StrZpusobU='Inkasem' if(ObjednavkaVydana.Platba=7) StrZpusobU='Šekem' if(ObjednavkaVydana.Platba=8) StrZpusobU='Směnkou' if(ObjednavkaVydana.Platba=9) StrZpusobU='Vzájemným zápočtem' if(ObjednavkaVydana.Platba=10) StrZpusobU='Kreditní kartou' Retezec1=ObjednavkaVydana.Popis+#9+StrDate(ObjednavkaVydana.Vyrizeno)+#9+StrDate(ObjednavkaVydana.TerminDo)+#9+' ' Retezec2=ObjednavkaVydana.PrijemceNazev+#9+StrZpusobU+#9+ObjednavkaVydana.DodaniStr ;+#9+StrDate(ObjednavkaVydana.Odeslano)+#9+ObjednavkaVydana.FaktDokl AddHeadLine(Retezec1+#9+Retezec2) end if(VypisDetail) begin KeyObjednavka2.Length=4 KeyObjednavka2.Objednavka=SwapL(ObjednavkaVydana.Cislo) LocBo=SearchKey(KeyObjednavka2,VetaO2) While((LocBo) and (KeyObjednavka2.Objednavka=SwapL(ObjednavkaVydana.Cislo))) begin ReadRec(Objednavka,VetaO2); ;{tisk} if(Objednavka.Typ=0) begin AddComment(Objednavka.Text) end if(Objednavka.Typ=1) begin CenaCelk=(Objednavka.JednCena*Objednavka.Mnozstvi*(100+Objednavka.DPH))/100 AddLine(Objednavka.Nazev+#9+Objednavka.Material+#9+Str(Objednavka.JednCena,8,2)+#9+StrNative(Objednavka.Mnozstvi)+#9+StrFinanc(Objednavka.JednCena*Objednavka.Mnozstvi,2)+#9+Str(Objednavka.DPH)+#9+StrFinanc(CenaCelk,2)) ;az bude naplnovano policko Uspokojeno: ;Zbyva=Objednavka.Mnozstvi-Objednavka.Uspokojeno ;AddLine(Objednavka.Nazev+#9+Objednavka.Material+#9+Str(Objednavka.JednCena,8,2)+#9+StrNative(Objednavka.Mnozstvi)+#9+StrNative(Zbyva)+#9+StrFinanc(Objednavka.JednCena*Objednavka.Mnozstvi,2)+#9+Str(Objednavka.DPH)+#9+StrFinanc(CenaCelk,2)) end if(Objednavka.Typ=2) begin CenaCelk=(Objednavka.JednCena*Objednavka.Mnozstvi*(100+Objednavka.DPH))/100 AddLine(Objednavka.KatalogName+#9+Objednavka.KatalogID+#9+Str(Objednavka.VJednCena,8,2)+#9+StrNative(Objednavka.VMnozstvi)+#9+StrFinanc(Objednavka.VJednCena*Objednavka.VMnozstvi,2) ;není DPH ;+#9+Str(Objednavka.DPH)+#9+StrFinanc(CenaCelk,2)) ;az bude naplnovano policko Uspokojeno: ;Zbyva=Objednavka.Mnozstvi-Objednavka.Uspokojeno ;AddLine(Objednavka.Nazev+#9+Objednavka.Material+#9+Str(Objednavka.JednCena,8,2)+#9+StrNative(Objednavka.Mnozstvi)+#9+StrNative(Zbyva)+#9+StrFinanc(Objednavka.JednCena*Objednavka.Mnozstvi,2)+#9+Str(Objednavka.DPH)+#9+StrFinanc(CenaCelk,2)) end LocBo=NextKey(KeyObjednavka2,VetaO2); end; end if((Vypis2radky)or(VypisDetail)) begin AddHeadLine('') AddComment() end end end end END