Proxy-klasse voor een OrderBevestiging BL.Sys.FOP.Common,BL.Flow.Doc.Common,vhLib.Macro 1 %RegisteredObject,pxOrderAbstract,%XML.Adaptor 0 ORDER Datum van creatie van het document %Library.String Steeds "OrderBevestiging" %Library.String %Library.String %Library.String Type van het order: OrderBevestiging, Proforma, Monster, Afroep, ... %Library.String %Library.String %Library.String %Library.String %Library.String %Library.String %Library.Integer BL.FOP.Derde.pxKlantAdres BL.FOP.Derde.pxLevAdres %Library.String %Library.String %Library.String BL.Flow.Proxy.pxFSC BL.FOP.Basis.pxTekstHTML list BL.Flow.Proxy.pxPPODfields Aanmaken van een Order-proxy object 1 pxOrder ORDNr:%String,lbPPODKeywords:%List,Opties:%String %Status CW: Goederen is incl. port . Set GoederenMetPort=$P(OrdPrijsRec,"\",2) . Set Btw=$P(OrdPrijsRec,"\",4) . Set Port=$P(OrdPrijsRec,"\",5) . If IsConsument Do . . If BtwRegime Set TekstOrderTotaal="OrderTotaalB2CInclBTW",OrderTotaal=GoederenMetPort+Btw . . Else Set TekstOrderTotaal="OrderTotaalB2CExclBTW",OrderTotaal=GoederenMetPort . Else Set TekstOrderTotaal="OrderTotaalB2B",OrderTotaal=GoederenMetPort-Port . Set TekstOrderTotaal=##class(Res.Vertaling).GetVertaling($$$VertalingsGroep,TekstOrderTotaal,"L", Taal) . Set:(blnBruto) TekstOrderTotaal=TekstOrderTotaal_" ("_##class(Res.Vertaling).GetVertaling($$$VertalingsGroep,"OrderTotaal_inclKorting","L", Taal)_")" . . Set tmpRec="" . Set $P(tmpRec,"\",3)="" ; AANTAL . Set $P(tmpRec,"\",5)=TekstOrderTotaal ; OMS . Set $P(tmpRec,"\",6)="" ; EHPRIJS . Set $P(tmpRec,"\",9)=OrderTotaal ; BEDRAG . Set $P(tmpRec,"\",16)="" ; BEDRAG (BRUTO) . Set $P(tmpRec,"\",17)="KOFGRP##0" ; LijnSoort (GroepTotaal, 0:geen pagebreak) . Set $P(tmpRec,"\",20)="" ; IdentNr . Set LijnObj=##class(pxManueleLijn).BuildFromRec("O",tmpRec,KLNr,Taal,blnBruto) . Do ..AppendLijn(LijnObj) Do fobOrderEnd ; (KLNr,ORDNr,Taal) Do fobPPODFields() // Lock terug afzetten Lock -^OD("SORT",ORDNr) Quit $$$OK fobAlgemeen ; (KLNr,KLID,Taal,ORDNr) Set Rec=$G(^KOD(KLNr,"F",ORDNr,1)) Set blnBruto=''($P(Rec,"\",27)) Set ..DOCDATUM=$$EXTDATE^vhDTyp($H) Set ..ORDERNR=ORDNr Set ..ORDERDATUM=$P(Rec,"\",2) Set ..ORDERREF=$P(Rec,"\",3) Set ..BTWNR=##class(BL.FOP.Derde.pxAdres).BtwNrTekst($P(^KKL(KLID,0),"\",16)) Set ..TAAL=Taal Set ..REMBOURS=blnRembours Set ..ISORGALUX=IsOrgalux Set ..BRUTONETTO=$S(blnBruto:"B",1:"N") Set ..MUNT=$P(Rec,"\",18) Set ..KLORDREF=..KlantOrderRef($P(Rec,"\",19),$P(Rec,"\",40),$P(Rec,"\",9) ) ; (OrgalRef,EdiNummer,VHisieVwCust) Set ..ORDERTYPE=$P(Rec,"\",25) ; FACTADRES Set pxFAdr=##class(BL.FOP.Derde.pxKlantAdres).%New() Do pxFAdr.FillViaKLNr(KLNr,"") Set ..FACTADRES=pxFAdr ; LEVADRES Set Rec3=$G(^KOD(KLNr,"F",ORDNr,3)) If $L($P(Rec3,"\",2)) Do . Set pxLAdr=##class(BL.FOP.Derde.pxLevAdres).%New() . Do pxLAdr.FillViaKLNr(KLNr,Rec3) . Set ..LEVADRES=pxLAdr Quit SortOrder(KLNr,FactSoort,ORDNr,Sort) ; Sort via .Local Kill Sort Set OLNr=99,GroepCnt=$A("A"),(TempKlOL,TextBlock)="",(OrdNet,OrdBrut)=0 For Set OLNr=$O(^KOD(KLNr,FactSoort,ORDNr,OLNr)) Quit:'OLNr Do . Set RecL=^KOD(KLNr,FactSoort,ORDNr,OLNr) . If KLNr=12486 Set OrdNet=OrdNet+$P(RecL,"\",9),OrdBrut=OrdBrut+$P(RecL,"\",16) ; Voor SFS het ordertotaal afdrukken . If KLNr=1239 Do . . Set KlOLNr=$P(RecL,"\",35) Set:$P(RecL,"\",17)="KF5" GroepCnt=GroepCnt+1 . . Do:KlOLNr="" . . . If $P($P(RecL,"\",17),"#")="KF11" Set:TextBlock="" TextBlock=$P($P(RecL,"\",18),";") . . . Else If $P(RecL,"\",17)="KF5" Set KlOLNr=" " . . . Else If $P($P(RecL,"\",17),"#")="KF1925" Set KlOLNr=TempKlOL . . Set $P(KlOLNr,".")=$J($P(KlOLNr,"."),3) . . Set SortKey=$C(GroepCnt)_"~"_KlOLNr_"~"_OLNr,Sort(SortKey)=RecL . . Set TempKlOL=KlOLNr . . If $P($P(RecL,"\",17),"#")="KF11",TextBlock'=$P($P(RecL,"\",18),";") Set GroepCnt=GroepCnt+1 . Else Do ; Alle andere klanten . . Set Sort(OLNr)=RecL Do:OrdNet . Set RecL="",$P(RecL,"\",5)=##class(Res.Vertaling).GetVertalingPlus("DOC","OrderTotaal",,Taal) . Set ($P(RecL,"\",9),$P(RecL,"\",10))=OrdNet,$P(RecL,"\",16)=OrdBrut,$P(RecL,"\",17)="KF1925###" . Set OLNr=$O(Sort(""),-1)+1,Sort(OLNr)=RecL Quit fobOrderEnd ; (KLNr,ORDNr,Taal) Set ..FSCData=##class(BL.Flow.Proxy.pxFSC).%New() Do ..FSCData.FSCViaOrder(ORDNr) Do fobVoorWaarden ; (KLNr,ORDNr,Taal) Quit fobVoorWaarden ; (KLNr,ORDNr,Taal) Do ..BuildVoorWaarden(KLNr,ORDNr,Taal) Quit fobPPODFields() Quit:($G(lbPPODKeywords)=$LB()) Set Ref="ORD;"_ORDNr Set pxPPOD=##class(BL.Flow.Proxy.pxPPODfields).Create($$$ppodtOrder, $G(Regio," "), $G(Taal," "), $G(KLNr," "), Ref, " ", $G(Bijlage," "), $G(DocSort," "), $G(EnvelopKey," "), ) Do:($LL($G(lbPPODKeywords))) pxPPOD.FillFromLB(lbPPODKeywords) Set ..PPODFIELDS=pxPPOD Quit ]]> Order Voorwaarden ProcedureBlock doesn't allow use of $NAME(...) function KLNr:%String,ORDNr:%String,Taal:%String 0 Is een Orgalux order ? 1 ORDNr:%String 0 %Boolean