; 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,'| Číslo Výrobku | ');
Writeln(HTML,'Sklad | ');
Writeln(HTML,'Název výrobku | ');
Writeln(HTML,'
');
Writeln(HTML,'');
Writeln(HTML,'| '+Sklad.Material+' | ');
Writeln(HTML,''+Sklad.Sklad+' | ');
Writeln(HTML,''+Sklad.Nazev+' | ');
Writeln(HTML,'
');
Writeln(HTML,'
')
Writeln(HTML,'')
Writeln(HTML,'');
Writeln(HTML,'| Číslo materiálu | ');
Writeln(HTML,'Sklad | ');
Writeln(HTML,'Název | ');
Writeln(HTML,'Množství | ');
Writeln(HTML,'MJ | ');
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,'| '+Vyrobek.Material+' | ');
Writeln(HTML,''+Sklad2.Sklad+' | ');
Writeln(HTML,''+Sklad2.Nazev+' | ');
Writeln(HTML,''+Str(Vyrobek.Mnozstvi,,3)+' | ');
Writeln(HTML,''+Sklad2.MJ+' | ');
Writeln(HTML,'
');
if(not NextKey(PrvniKlic,PrvniVeta))
PrvniKlic.CisloVyrobku=0
end
Writeln(HTML,'
')
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