BL.Sys.FOP.Common 1 BL.Flow.Docs.Basis,BL.Flow.Basis.DocNew 0 prijslijst_01.01 DocType voor task-keywords (zie ook BL.Sys.FOP.Common.INC) PRIJSLIJST PrijsLijst PL KyoceraFS4000 1 Klanten:%List %String 1 KLNr:%String %Status Geeft DocDatum in $H formaat terug SubID als .local doorgeven, bevat "DFL" wanneer GeldigVan niet ingevuld is. Dan wordt tevens $H als DocDatum teruggegeven. 1 %String 1 KLNr:%String,DocDatum:%String,SubID:%String="" %String func. arg "DocDatum As %String" behouden ]]> 1 DocDatum:%String %String 1 DocDatum:%String %String geeft het pad van de ge-archiveerde xml. s lbFiles=##class(BL.Flow.PrijsLijst.Doc).ArchiveFullPathUser(1239) w $$LCVTSimple^vhLib(lbFiles,$C(13,10)) 1 KLNr:%String,SubID:%String="" %List Ophalen van de gearchiveerde prijslijsten voor KLNr. De lijst van FileNames (*.xml) wordt in lbFiles teruggegeven. De ArchiveDir moet gespecifieerd worden als Netwerk-pad. 1 NetworkDir:%String,KLNr:%String,SubID:%String="" %List De PrijsLijst genereren en als XML file opslaan. Volledig path van file opgeven (t.o.v. Caché-server) Oproepen via : s sc=##class(BL.Flow.PrijsLijst.Doc).SaveXmlToArchive(1239,) w sc,! 1 KLNr:%String,oPLSettings:BL.Flow.Proxy.pxPrijsLijstSettings,FilePath:%String 1 %Status Archive Only: De PrijsLijst XML genereren en in Archief opslaan Oproepen via : s sc=##class(BL.Flow.PrijsLijst.Doc).SaveXmlToArchive(1239,) w sc,! 1 KLNr:%String,oPLSettings:BL.Flow.Proxy.pxPrijsLijstSettings %Status De PrijsLijst XML genereren en converteren naar "XML-voor-Excel" versie. De tijdelijke (uitgebreide) XML wordt in TempDir op Fop gezet. Moet achteraf opgeruimd worden. Voor FilePath: zie method TransformToCsvFromXML() Oproepen via : s sc=##class(BL.Flow.PrijsLijst.Doc).TransformToXML(1239,,.fp) w sc,!,$G(fp),! 1 %Status XmlPath t.o.v. FOP-server definiëren FilePath voor csv-output: mag "" (leeg) zijn mag Dir+FName zijn mag Dir zijn (eindigen met "\" !!!), FName from XmlPath s sc=##class(BL.Flow.PrijsLijst.Doc).TransformToXMLFromXML("\\Notes01\Archive\PrijsLijst\PrijsLijst_1239_20081001.xml",.fp) w sc,!,$G(fp),! 1 %Status XmlPath t.o.v. FOP-server definiëren FileURL : als .local doorgeven enkel de FileName doorgeven indien gewenst, anders wordt deze ge-default. het volledige pad (server+dir+filename) wordt in URL-vorm teruggegeven 1 %Status XmlPath t.o.v. FOP-server definiëren FilePath voor pdf-output: mag "" (leeg) zijn mag Dir+FName zijn mag Dir zijn (eindigen met "\" !!!), FName from XmlPath s sc=##class(BL.Flow.PrijsLijst.Doc).RenderAndFileFromXML("\\fop\e$\PDFTest\PLijst\PrijsLijst\PrijsLijst_1239_20080902.xml","E:\FOP\PDFTest\") w sc,! s fxml="\\fop\e$\FOP\Data\PrijsLijst_4682_20090119_DFL.xml" s sc=##class(BL.Flow.PrijsLijst.Doc).RenderAndFileFromXML(fxml,.fp) w sc,!,$G(fp),! 1 %Status XmlPath t.o.v. FOP-server definiëren FileName is voor de attached pdf, indien leeg dan FName from XmlPath s sc=##class(BL.Flow.PrijsLijst.Doc).RenderAndMailFromXML("\\fop\e$\PDFTest\PLijst\PrijsLijst\PrijsLijst_1239_20080901.xml","wv@vanhoecke.be","Test PL from XML","See attached PDF: ", .fn) w sc,! s sc=##class(BL.Flow.PrijsLijst.Doc).RenderAndMailFromXML("\\Notes01\Archive\PrijsLijst\PrijsLijst_1239_20081001.xml","wv@vanhoecke.be","Test PL from XML","See attached PDF: ", .fn) w sc,! 1 XmlPath:%String,MailTo:%String,Subject:%String,Body:%String,FileName:%String,MailFrom:%String %Status De PrijsLijst genereren (render PS) + Save to PostProcOutData Oproepen via : s sc=##class(BL.Flow.PrijsLijst.Doc).RenderToPPOD(1239,,) w sc,! 1 KLNr:%String,oPLSettings:BL.Flow.Proxy.pxPrijsLijstSettings,blnArchiveXML:%Boolean=0 %Status FileURL : als .local doorgeven enkel de FileName doorgeven indien gewenst, anders wordt deze ge-default. het volledige pad (server+dir+filename) wordt in URL-vorm teruggegeven 1 %Status s sc=##class(BL.Flow.PrijsLijst.Doc).RenderAndFileDoc(1239,,.fp) w sc,!,"File: "_$G(fp) 1 %Status s sc=##class(BL.Flow.PrijsLijst.Doc).RenderAndPrintDoc(4682,,"KYOCERAFS4000") w sc,! 1 KLNr:%String,oPLSettings:BL.Flow.Proxy.pxPrijsLijstSettings,PrinterName:%String %Status 1 KLNr:%String,oPLSettings:BL.Flow.Proxy.pxPrijsLijstSettings,MailTo:%String,Subject:%String,Body:%String,FileName:%String,MailFrom:%String %Status s sc=##class(BL.Flow.PrijsLijst.Doc).TestPrintImages(,) w sc,! 1 PrinterName:%String,MaxPerChunk:%Integer=5,lbPRNrs:%List="" %Status TestMethod om tijdens de Development fase eenvoudig PrijsLijstSettings te creëren. 1 lbOptions:%List BL.Flow.Proxy.pxPrijsLijstSettings 1 %Status initiator ;Set sc=pxDoc.XMLExportToStream(.DataStream,"DOCS","literal,indent") Quit sc ]]> Debug Tool Genereert de XML voor de prijslijst in lbDocs en bewaart deze in de opgegeven file (path/dir moet reeds bestaan) Oproepen via : s FP="\\Cache02\c$\Temp\PrijsLijst_" s sc=##class(BL.Flow.PrijsLijst.Doc).FopXMLToFile(FP_$P($H,",",2)_".xml", $LB(1239)) w sc,! s sc=##class(BL.Flow.PrijsLijst.Doc).FopXMLToFile("\\notes01\shared\p v\kellerpl.xml", $LB(1239)) w sc,! 1 FileName:%String,lbDocs:%List %Status Aanmaken van het proxy-object dat de proxy-prijslijst bevat. lbKlanten is een $LB() van de vorm $LB(KLNr,...). 1 BL.Flow.Proxy.pxFlowDocs 1 lbKlanten:%List,KLNr:%String %Status Wordt opgeroepen vanuit de method Fill...() van het Proxy-object. 1 Regio:%String,SpecialPrintGroep:%String="" %String Geeft de standaard Keywords terug op basis van de opgegeven AnalyseRoutine. Deze method kan in de afgeleide klasse overschreven worden voor specifieke uitbreidingen. DocType:%String,AnalyseRoutine:%String %String 1 KLNr:%String,Extension:%String="pdf" %String DocRef kan ofwel KLNr zijn, ofwel lbDocs (list) Target: File, FileWWW, FileWWWUrl, TempFTP, Mail, TempMail 1