BL.EC.Common 1 %RegisteredObject BL.Flow.Offerte.MailOverzicht.HTMLOfferteVerkoop 1 vhLib.Logger 1 1 1 %Status 1 1 vhLib.Logger 1 D ##class(BL.Flow.Offerte.MailOverzicht).%New().MailToVTW() 0 KLNr,OFFNr,VanDatum,TotDatum OffDatum 0 ; Te oud Quit 1 ]]> 0 =:VanDatum and Datum<=:TotDatum and isnull(OverzichtVerstuurd,0)<>1 ORDER BY Klant,Datum asc) &sql(OPEN OffPrep) For &sql(FETCH OffPrep) Quit:SQLCODE Do . Quit:'$G(KLNr) . Quit:'$D(^KK1(KLNr)) . Set User=$$EXTVW^KLOPV(KLNr) . Quit:User'?1.N . Set Cache(User,KLNr,"N",OfferteID)="" &sql(Close OffPrep) ]]> OfferteID KLNr,OFFNr User,strmBody:%Stream "_$G(^vhUSER("D",User,"M"))) Quit $$SendMiniMail^vhLib("VHisie@vanhoecke.be",$LB(EmailAdres),"Offerte overzicht "_$$EXTDATE^vhLib.DataTypes($H,"DK"),strmBody,1,1) ]]> %Stream " #define fmtBeginKlant(%KLNr,%KLNaam) $C(10,13)_"
"_%KLNr_" - "_%KLNaam_"" #define fmtEndKlant "

" #define fmtEndHtml "" Set strmBody=##class(%GlobalCharacterStream).%New() Do strmBody.Write($$$fmtBeginHtml) Set KLNr="" For Set KLNr=$O(Cache(User,KLNr)) Quit:KLNr="" Do . Do strmBody.Write($$$fmtBeginKlant(KLNr,$P(^KKL(^KK1(KLNr),0),"\",2))) . Set OffSoort="" . For Set OffSoort=$O(Cache(User,KLNr,OffSoort)) Quit:OffSoort="" Do . . Set OfferteID="" . . For Set OfferteID=$O(Cache(User,KLNr,OffSoort,OfferteID)) Quit:OfferteID="" Do . . . If OffSoort="N" Do ..GetHTMLOfferte(OfferteID,strmBody) . . . If OffSoort="O" Do ..GetHTMLOfferteKOFKL(KLNr,OfferteID,strmBody) . . . If OffSoort="V" Do ..HTMLOfferteVerkoop.VoegToeBody(OfferteID, strmBody) . Do strmBody.Write($$$fmtEndKlant) Do strmBody.Write($$$fmtEndHtml) Quit strmBody ]]>
KLNr,OFFNr,strmBody Offerte : "_%OffNr_" - "_%Datum_"
ref : "_%Ref_"" #define fmtGrp(%Groep,%Tot) $C(10,13)_""_%Groep_""_%Tot_"" #define fmtLijn(%Product,%Aantal,%Prijs) $C(10,13)_""_%Product_""_%Aantal_""_%Prijs_"" Set Txt="" Set LNr=100 Set FirstTime=0 Set (GroepSom,TotaalSom)=0 For Set LNr=$O(^KOFKL(KLNr,"F",OFFNr,LNr)) Quit:LNr="" Do . Set LRec=$G(^KOFKL(KLNr,"F",OFFNr,LNr)) . If $P($P(LRec,"\",17),"#")="KOFGRP" Do . . Do HoofdingKOFKL . . Do strmBody.Write($$$fmtGrp($P(LRec,"\",5),$FN($S($P($P(LRec,"\",17),"#",2):GroepSom,1:TotaalSom),".",2))) . . Set GroepSom=0 . Else Do . . Set PRNr=$P(LRec,"\",2) . . Quit:PRNr'?4.7N . . Set KortTxt=$P($G(^KPR(PRNr,0)),"\") . . Quit:KortTxt="" . . Set Qty=$P(LRec,"\",3) . . Set Prijs=$FN($P(LRec,"\",6),".",2)_$S($P(LRec,"\",21)["H":"%",1:" ") . . Set TotaalSom=TotaalSom+$P(LRec,"\",16) . . Set GroepSom=GroepSom++$P(LRec,"\",16) . . Do HoofdingKOFKL . . Do strmBody.Write($$$fmtLijn(KortTxt,Qty,Prijs)) Quit HoofdingKOFKL Quit:FirstTime Set FirstTime=1 Set HRec=^KOFKL(KLNr,"F",OFFNr,1) Do strmBody.Write($C(10,13)_$$$fmtHfd(OFFNr,$P(HRec,"\",2),$P(HRec,"\",3))) Quit ]]>
OfferteID,strmBody Winkelkar : "_%OffNr_" - "_%Datum_" - "_%Status_"
"_$S(%Ref="":"",1:"ref : "_%Ref)_$S((%CommRef'="")&&(%Ref'=""):" - ",1:"")_$S(%CommRef="":"",1:"commisie ref : "_%CommRef)_"" #define fmtLijn(%Product,%Aantal,%Prijs) $C(10,13)_""_%Product_""_%Aantal_""_%Prijs_"" $$$blFlowOfferte Do %blFlowOfferte.Open(OfferteID) Set Key=0 Set FirstTime=0 Set Txt="" For Set oLijn=%blFlowOfferte.oOfferte.Lijnen.GetNext(.Key) Quit:Key="" Do . Quit:oLijn.%ClassName()'["Product" . Quit:'$isObject(oLijn.Product) . Set KortTxt=oLijn.Product.KortTekst . Set Prijs=$FN($S(+oLijn.NettoEPrijs=0:oLijn.VerwachteEPrijs,1:oLijn.NettoEPrijs)*$S(oLijn.GrootteOrde="H":100,1:1),".",2)_$S(oLijn.GrootteOrde="H":"%",1:" ") ; Bij TBX staat de VerwachteEPRijs ingevuld . Set Qty=oLijn.Aantal . Do Hoofding . Do strmBody.Write($$$fmtLijn(KortTxt,Qty,Prijs)) Quit Hoofding Quit:FirstTime Set FirstTime=1 Set Datum=%blFlowOfferte.oOfferte.Datum Set Datum=$S(Datum:$$EXTDATE^vhLib.DataTypes(Datum,"DK"),1:"") Set Ref=%blFlowOfferte.oOfferte.Referentie Set CommRef=%blFlowOfferte.oOfferte.CommReferentie Set Status=%blFlowOfferte.oOfferte.Status Set Status=$CASE(Status,"A":"Afgehandeld in order "_%blFlowOfferte.oOfferte.OrderNrGetObjectId(),"V":"Verwijderd","I":"InVerwerking door OV","W":"Wachten op verwerking door OV",:"OpenStaand") Do strmBody.Write($C(10,13)_$$$fmtHfd(OfferteID,Datum,Status,Ref,CommRef)) Quit ]]>