; sestava DDT ze skladu - vypíše složení výrobků ; verze z 9.10.2000 ; Autor: WinDUO Team Name('Opis složení výrobků - HTML') ; pod tímto názvem bude sestava v menu Designed('Skl_Man#1','Skl_Man#2','Skl_Man') Author('Winduo Team','EMail: winduo@winduo.mine.nu','http://www.winduo.com','http://winduo.mine.nu') Descr('Vypíše skladové karty výrobků','s detailem složení ve formátu HTML','Změna třídění - Ne','Filtr - Ano') HTML:TextFile ; definuje proměnnou textového souboru NazevSouboru:String=WorkPath+'Vyrobky.htm' WNSType(-1); ; definuje že DDT nedefinuje žádný standartní výstup Rewrite(HTML,NazevSouboru) ; otevře textový soubor Writeln(HTML,'') Writeln(HTML,'') Veta:LongInt ; definuje proměnnou Strana:Word ; definuje číslo stránky SavedPos:Word DelkaStranky:Word ; delka stranky v mm Strana=1 ; úvodní hodnoty = aktuální číslo strany DelkaStranky=280 DeclareRec('Sklad') DeclareRec('Vyrobek') DeclareRec('KeySklad1') DeclareRec('KeySklad10') DeclareRec('KeyVyrobek3') ;Hlavicka ClearKey(KeySklad1) ; resetuje ukazatel aktuální věry v souboru PocetRadku:Word PrvniVeta :LongInt PrvniKlic :KeyVyrobek3 Sklad2 :Sklad While(NextKey(KeySklad1,Veta)) ; začátek cyklu přes celý soubor begin ; začátek příkazu pro zpracování jedné věty ReadRec(Sklad,Veta) ; přečte větu ze souboru if(Sklad.TypKarty=2) ; dotaz, zda se jedná o výrobek begin if(InFilter(Sklad)) ; dotaz, zda věta prošla filtrem begin ; začátek příkazu pro operace s těmi, které prošly filtrem PrvniKlic.Length=4 PrvniKlic.CisloVyrobku=SwapL(Sklad.Cislo) PocetRadku=0 if(SearchKey(PrvniKlic,PrvniVeta)) begin if(PrvniKlic.CisloVyrobku=SwapL(Sklad.Cislo))) begin Znova: Inc(PocetRadku) if(NextKey(KeyVyrobek3,Veta)) begin if(KeyVyrobek3.CisloVyrobku=SwapL(Sklad.Cislo)) GoTo(Znova); end; end; end if((PocetRadku<>0)and(FindKeyAndRef(PrvniKlic,PrvniVeta))) begin Writeln(HTML,'

') Writeln(HTML,'') Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,'
Číslo VýrobkuSkladNázev výrobku
'+Sklad.Material+''+Sklad.Sklad+''+Sklad.Nazev+'
') Writeln(HTML,'') Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); While(PrvniKlic.CisloVyrobku=SwapL(Sklad.Cislo)) begin ReadRec(Vyrobek,PrvniVeta) KeySklad10.Length=4 KeySklad10.Cislo=SwapL(Vyrobek.CisloMat) if(FindKey(KeySklad10,Veta)) ReadRec(Sklad2,Veta) else ClearRec(Sklad2) Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); Writeln(HTML,''); if(not NextKey(PrvniKlic,PrvniVeta)) PrvniKlic.CisloVyrobku=0 end Writeln(HTML,'
Číslo materiáluSkladNázevMnožstvíMJ
'+Vyrobek.Material+''+Sklad2.Sklad+''+Sklad2.Nazev+''+Str(Vyrobek.Mnozstvi,,3)+''+Sklad2.MJ+'
') end end ; konec příkazu pro věty, které prošly filtrem end ; konec příkazu pro věty výrobků end ; konec příkazu pro zpracování jedné věty Writeln(HTML,'
Generováno programem WinDUO - '+StrDate(GetDate())+' '+StrTime(GetTime())+'
') Writeln(HTML,'') Writeln(HTML,'') Message('HTML soubor'+#13+#13+NazevSouboru+#13+#13+'byl úspěšně vytvořen.',mb_IconInformation); END ; konec programu