Proxy-klasse voor een Offerte BL.Sys.FOP.Common,BL.Flow.Doc.Common,vhLib.Macro 1 %RegisteredObject,pxOrderAbstract,%XML.Adaptor right ORDER Datum van creatie van het document %Library.String Steeds "Offerte" %Library.String %Library.String %Library.String Type van de offerte: Detail,PrijsLijst,Contract,Klantgebonden,Afroep,WebShop %Library.String %Library.String %Library.String %Library.String %Library.String %Library.String %Library.String %Integer %String Enkel bij "Contract" ingevuld %Library.String Bijzondere geldigheid. Overrulet de standaard GeldigVan/Tot ! %Library.String %Library.Integer BL.FOP.Derde.pxKlantAdres BL.FOP.Derde.pxLevAdres %String %String %String %String GoedVoorOrder=1 "W" : Wachtend op verwerking door de binnendienst "A" : Verwerkt tot bestelling !ALLEEN VOOR WEBSHOP!]]> %String Referentie naar ORDNr, als OfferteStatus="A" (i.e. verwerkt tot bestelling) !ALLEEN VOOR WEBSHOP! %String %Integer %Integer Door Klant Gevraagde leverdatum !ALLEEN VOOR WEBSHOP! %String %String list BL.Flow.Proxy.pxHoutCertificaat list BL.FOP.Basis.pxTekstHTML list BL.Flow.Proxy.pxPPODfields Aanmaken van een Offerte-proxy object 1 pxOrder Aanmaken van een Offerte-proxy object 1 pxOrder OFFNr:%String,lbPPODKeywords:%List,Opties:%String %Status ; OMS . . Set $P(tmpRec,"\",9)=$P($G(arTotals(SortKey)),"\",1) ; BEDRAG . . Set $P(tmpRec,"\",3)="" ; AANTAL . . Set $P(tmpRec,"\",6)="" ; EHPRIJS . . Set $P(tmpRec,"\",20)="" ; IdentNr . . Set pxLijn=##class(pxManueleLijn).BuildFromRec("A",tmpRec,KLNr,Taal,0,,$LB(OFFNr)) . . Do ..AppendLijn(pxLijn) . Else Do ; nothing . . Set pxLijn="" . ; Next LijnNr Do fofOfferteEnd ; (KLNr,OFFNr,OffType,Taal) Do fofPPODFields() // Lock terug afzetten Lock -^OF("SORT",OFFNr) Quit $$$OK fofAlgemeen ; (KLNr,KLID,Taal,OFFNr) #dim Rec As %String = $G(^KOFKL(KLNr,"F",OFFNr,1)) #dim OffType As %String = $P(Rec,"\",25) #dim blnBruto As %Boolean = ''($P(Rec,"\",27)) Set ..DOCDATUM=$$EXTDATE^vhLib.DataTypes($H) Set ..ORDERNR=OFFNr Set ..ORDERDATUM=$P(Rec,"\",2) Set ..ORDERREF=$P(Rec,"\",3) Set ..OFFTYPE=OffType Set ..BTWNR=##class(BL.FOP.Derde.pxAdres).BtwNrTekst($P(^KKL(KLID,0),"\",16)) Set ..TAAL=Taal Set ..ISORGALUX=IsOrgalux Set ..BRUTONETTO=$S(blnBruto:"B",1:"N") Set ..KLORDREF="" Set ..MUNT=$P(Rec,"\",18) If OffType?1(1"A",1"C",1"K") { Set ..VoorAkkoord=''$G(Prefs("OrdBev"),1) } Else { Set ..GoedVoorOrder=''($P(Rec,"\",10)) ; Bevestig voor order } If OffType '= ##class(DOM.VKP.enu.OfferteType).Contract() { Set ..GeldigVan=$TR($P(Rec,"\",2),".","-") Set ..GeldigTot=$TR($P(Rec,"\",16),".","-") Set ..ExclBtw=($$LAND^vhRtn1(KLNr,"K",1,2)="B") Do ..ControleerMunt() } Set pxFAdr=##class(BL.FOP.Derde.pxKlantAdres).%New() Do pxFAdr.FillViaKLNr(KLNr,"") Set ..FACTADRES=pxFAdr Quit SortOrder(KLNr,FactSoort,OFFNr,Sort) ; Sort via .Local Kill Sort Set OLNr=99 For Set OLNr=$O(^KOFKL(KLNr,FactSoort,OFFNr,OLNr)) Quit:'OLNr Do . Set RecL=^KOFKL(KLNr,FactSoort,OFFNr,OLNr) . Set Sort(OLNr)=RecL Quit fofCalcGroepTotalen(KLNr,FactSoort,OFFNr,Rec,arTotals) ; arTotals via .Local #define WithTotals $P(Rec,"\",12)+$P(Rec,"\",13) Kill arTotals Quit:('$$$WithTotals) Set D="\" Set OLNr=100,(SubTot,AlgTot)=0 For Set OLNr=$O(^KOFKL(KLNr,"F",OFFNr,OLNr)) Quit:OLNr="" Do . Set R=^KOFKL(KLNr,"F",OFFNr,OLNr),(SubBedr,AlgBedr)=$P(R,D,9),Munt=$P(R,D,22) . If $L(Munt) Do . . Set SubTot=SubTot+SubBedr . . Set AlgTot=AlgTot+AlgBedr . Quit:$P($P(R,D,17),"#")'="KOFGRP" . If $P($P(R,D,17),"#",2) Set arTotals(OLNr)=SubTot_D,SubTot=0 . Else Set arTotals(OLNr)=AlgTot_D,(SubTot,AlgTot)=0 Quit fofPPODFields() Quit:($G(lbPPODKeywords)=$LB()) Set Ref="OFF;"_OFFNr Set pxPPOD=##class(BL.Flow.Proxy.pxPPODfields).Create($$$ppodtOfferte, $G(Regio," "), $G(Taal," "), $G(KLNr," "), Ref, " ", $G(Bijlage," "), $G(DocSort," "), $G(EnvelopKey," "), ) Do:($LL($G(lbPPODKeywords))) pxPPOD.FillFromLB(lbPPODKeywords) Set ..PPODFIELDS=pxPPOD Quit fofOfferteEnd ; (KLNr,OFFNr,OffType,Taal) Set ..HoutCertificaten=##class(BL.Flow.Proxy.pxHoutCertificaat).BepaalHoutCertificatenViaOfferte(OFFNr,Taal) Do fofVoorWaarden ; (KLNr,OFFNr,OffType,Taal) Quit fofVoorWaarden ; (KLNr,OFFNr,OffType,Taal) Do ..BuildVoorWaarden(KLNr,OFFNr,OffType,Taal) Quit ]]> 1 Offerte Voorwaarden ProcedureBlock doesn't allow use of $NAME(...) function KLNr:%String,OFFNr:%String,OffType:%String,Taal:%String 0 1 %Boolean KLNr 1 Is een Orgalux offerte ? 1 OFFNr:%String 0 %Boolean oOfferte:Flow.Offerte.Hoofding,lbPPODKeywords:%List,Opties:%String %Status 0) Do . Set RecAdres=$G($$$KLRec("L"_$J(oOfferte.LeveringsAdres.NrLeveringsAdres,3))) . Quit:(RecAdres="") . Set pxLAdr=##class(BL.FOP.Derde.pxLevAdres).%New() . Do pxLAdr.FillViaKLNr(KLNr,RecAdres,Taal) . Set ..LEVADRES=pxLAdr Do:($L(oOfferte.Commentaar)) ..Opmerkingen.Insert(oOfferte.Commentaar) Quit ffoPPODFields() Quit:($G(lbPPODKeywords)=$LB()) Set Ref="OFFWS;"_OFFNr Set pxPPOD=##class(BL.Flow.Proxy.pxPPODfields).Create($$$ppodtOfferte, $G(Regio," "), $G(Taal," "), $G(KLNr," "), Ref, " ", $G(Bijlage," "), $G(DocSort," "), $G(EnvelopKey," "), ) Do:($LL($G(lbPPODKeywords))) pxPPOD.FillFromLB(lbPPODKeywords) Set ..PPODFIELDS=pxPPOD Quit ffoVoorWaarden ; (KLNr,oOfferte,Taal) Do ..BuildVoorWaardenFlowOff(KLNr,oOfferte,Taal) Quit ]]> Offerte Voorwaarden ProcedureBlock doesn't allow use of $NAME(...) function KLNr:%String,oOfferte:%String,Taal:%String 0