1
BL.Sys.FOP.TaskMgr
62073,34502.285872
0
klantficheNotStapled_01.01
klantficheStapled_01.01
klantficheNotStapled_01.01
DocType voor task-keywords : FACTUUR, LEVBON, OFFERTE, ORDER, TOELEV, PRIJSLIJST, RAPPEL, TRANSPORTLIJST (zie ook BL.Sys.FOP.Common.INC)
KLANTFICHE
KlantFiche
?
BrotherBoekH
This parameter should be overridden if the BuildProxy() method is in a different BL-class
BL.Derde.KlantInfoXML
Print with stapling : split up the list lbKLNrs into separate docs, but keep them in one task.
The "RenderAndPrintDoc()" method creates a new Task when NumDocs exceeds the MaxDocsPerTask
20
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
lbKLNrs mag ook een ";"-delimited-list zijn, dus lbKLNrs = 4682;1000;4645 wordt omgezet naar $LB(4682,1000,4645)
Oproepen via :
s sc=##class(BL.Derde.KlantInfoDoc).RenderAndFileDoc($LB(4682,1239),0,"PERS;ADR;UITZ;FIN;INTERN;EC;POT","\\Cache02\c$\Temp\KlantFicheTest.pdf")
1
%Status
1:"_multi", 1:"")
Set blKF=..Instantiate()
Do blKF.Init(DocRef,)
Set blKF.ADBTemplate=..#ADBTemplateNotStapled
Set blKF.lbDocs=$LB(lbKLNrs,SkipMainAddress,Options)
Set blKF.TransformType="PDF"
Set blKF.lbPPODKeywords=$LB()
Do blKF.XsltParams.SetAt($G(pWithLogo,1),"pWithLogo")
Do blKF.XsltParams.SetAt(pFicheIntern,"pFicheIntern")
Set blKF.Options=$G(objSettings)
If blnFileWWW Do
. Set sc=blKF.BuildTaskRenderAndFileWWW(.FilePath,.FileURL) ; returns mod FileURL
Else Do
. Set sc=blKF.BuildTaskRenderAndFile(.FilePath,)
Set Task=blKF.FopTask
Do blKF.Close()
Set blKF=""
Set:($$$ISOK(sc)) sc=##class(BL.Sys.FOP.CommonTasks).RunFopTask(Task,$$$rmInLine) ; $$$rmBatch ; $$$rmSync
Quit sc
]]>
Slechts één KLNr meegeven, dus geen $LB() of ";"-delimited list
1
KLNr:%List,SkipMainAddress:%String,Options:%String,pFicheIntern:%Boolean=0,MailTo:%String,Subject:%String,Body:%String,FileName:%String,MailFrom:%String
%Status
Test method (by WimV
Oproepen via :
s sc=##class(BL.Derde.KlantInfoDoc).TestPrint() w sc,!
1
%Status
lbKLNrs moet een $LB() zijn! bvb. $LB(4682,1000,4645)
Het aantal elementen van de $LB() mag groter zijn dan ..#MaxDocsPerTask (class parameter)
Deze method splitst grote lijst op in blokken
1
lbKLNrs:%List,SkipMainAddress:%String,Options:%String,pFicheIntern:%Boolean=0,PrinterName:%String,blnStapling:%Boolean=0,PapierSoort:%String="GEEL",pWithLogo:%Boolean=1
%Status
BEHALVE BIJ blnStapling=1 !!! dan moet de $LB() opgesplitst worden via de method ..RenderAndPrintDocMulti()
Oproepen via :
s sc=##class(BL.Derde.KlantInfoDoc).RenderAndPrintDoc($LB(1000,1239),0,OptSq,0,"LEVBON_ORGALUX",1,"GEEL",1) w sc,!]]>
1
lbKLNrs:%List,SkipMainAddress:%String,Options:%String,pFicheIntern:%Boolean=0,PrinterName:%String,blnStapling:%Boolean=0,PapierSoort:%String="GEEL",pWithLogo:%Boolean=1
%Status
1:"_multi", 1:"")
// OPGELET bij blnStapling=1 :
// als $LL(lbKLNrs) > MaxDocsPerTask , dan moet de $LB() eerst opgesplitst worden in verschillende chunks --> gebruik hiervoor de method ..RenderAndPrintDocMulti()
Set blKF=..Instantiate()
Do blKF.Init(DocRef,)
Set blKF.lbDocs=$LB(lbKLNrs,SkipMainAddress,Options)
Set blKF.TransformType="PS"
Set blKF.lbPPODKeywords=$LB()
Do blKF.XsltParams.SetAt(pWithLogo,"pWithLogo")
Do blKF.XsltParams.SetAt(pFicheIntern,"pFicheIntern")
Set blKF.Options=$G(objSettings)
Set:($L($G(PrinterName))) blKF.Printer=PrinterName
Set NumCopies=1 ; $G(NumCopies,1)
// Tray select
Set pTraySelect=##class(BL.Sys.FOP.CommonTasks).GetPrinterTray(blKF.Printer,PapierSoort,"TRAY")
Do blKF.XsltParams.SetAt(pTraySelect,"pTraySelect")
// Stapling settings
Set StaplingMode=(''blnStapling)
Set pStaplingConfig=##class(BL.Sys.FOP.CommonTasks).GetStaplingConfig(blKF.Printer,.StaplingMode,"2")
Do blKF.XsltParams.SetAt(pStaplingConfig,"pStaplingConfig")
Set blKF.ADBTemplate=$S(StaplingMode="":..#ADBTemplateNotStapled, 1:..#ADBTemplateStapled)
If $L(StaplingMode) Do
. // Create Task and ActionPrint
. Set blKF.FopTask=blKF.CreateFopTask("DocRenderAndPrint",,)
. Set Task=blKF.FopTask
. Set sc=Task.AddActionPrint(blKF.Printer,NumCopies,,)
. Quit:($$$ISERR(sc))
. // Beperk aantal items in de $LB() tot MaxDocsPerTask, zodat het Task-object hieronder niet te groot wordt.
. Set MaxDocsPerTask=..#MaxDocsPerTask
. Set lbKLNrs=$LI(lbKLNrs,1,MaxDocsPerTask)
. // Opsplitsen in telkens 1 Doc per KLNr.
. For i=1:1:$LL(lbKLNrs) Do Quit:($$$ISERR(sc))
. . Set blKF.lbDocs=$LB($LB($LI(lbKLNrs,i)),SkipMainAddress,Options)
. . Set sc=blKF.DocSetRenderDefs(Task.AddDoc(), )
Else Do
. // Create Task (all-in-one)
. Set sc=blKF.BuildTaskRenderAndPrint(blKF.Printer,NumCopies)
. Set Task=blKF.FopTask
// Run FopTask
Do blKF.Close()
Set blKF=""
Set:($$$ISOK(sc)) sc=##class(BL.Sys.FOP.CommonTasks).RunFopTask(Task,$$$rmBatch) ; $$$rmBatch ; $$$rmSync
Quit sc
]]>
Slechts één KLNr meegeven, dus geen $LB() of ";"-delimited list
1
KLNr:%List,SkipMainAddress:%String,Options:%String,pFicheIntern:%Boolean=0,FtpServer:%String,DestDir:%String,DestFName:%String
%Status
Specifieke render-data invullen.
Deze method kan in de afgeleide klasse overschreven worden voor specifieke uitbreidingen.
%Status