vhLib.Macro 1 %RegisteredObject 0 WS.TBX.OrderAbstract WS.TBX.Order 1 WS.TBX.GroepOrder 1 BL.Prod.GAData.TBXLadeXML.pxEDIOrder 1 Settings voor BuildProxyDoc %String %Boolean %Boolean %Boolean %String %String Munt voor de Aankoopprijzen (EUR) %String %Float 1 %Float 1 LijnNummer moet opeenvolgend zijn. %Integer Set blProxy=##class(BL.Sys.FOP.DataXML).Instantiate(...) 1 ParentBL:%RegisteredObject BL.Prod.GAData.TBXLadeXML Parameters: Indien sDomVERW = "", dan wordt dit afgeleid uit het WSOrder Taal:%String,Munt:%String="EUR",sDomVERW:%String="",blnShowAKP:%Boolean,blnShowVKP:%Boolean,blnBeursUser:%Boolean=0 Aanmaken van het proxy-object pxOrder. OutputType = "PRINT" / "EDI" %RegisteredObject Proxy-Doc voor EDI BL.Prod.GAData.TBXLadeXML.pxEDIOrder BL.Prod.GAData.TBXLadeXML.pxEDIOrder BL.Prod.GAData.TBXLadeXML.pxEDIOrder 1 BL.Prod.GAData.TBXLadeXML.pxEDIOrder 1 1 1 Om verwarring te vermijden i.v.m. Kleur inschuifelement indien dit onderdeel niet aanwezig is. pxLijn:BL.Prod.GAData.TBXLadeXML.pxEDIOrderLijn 1 1 1 1 pxLijn:BL.Prod.GAData.TBXLadeXML.pxEDIOrderLijn 1 1 1) LevTOms=$$$Trim($P(LevTOms," (",1))_" ("_$P(LevTOms," (",2,99) Set LevTOms=$$$Replace(LevTOms,"Semaine","Sem.") Set ..pxOrder.LeverTijd=LevTOms } Else { Set ..pxOrder.LeverTijd=LeverTijdOms } ]]> Naam GeefNietMeeleverenOmsVanWebOrder() is langer dan 31 tekens; afgekort tot ...WO() 1 NietMeeKey:%String %String pxLijn:BL.Prod.GAData.TBXLadeXML.pxEDIOrderLijn,NietMeeleverenOms:%String 1 1 0) ..pxOrder.SubmitToVHTS=$$FormatDateTime^vhLib("yyyy-mm-dd hh:nn:ss", $LG($LG(WSOrd.SubmitToVHLog,1),1), ..Taal) ]]> 1 WSLn:BL.Prod.GAData.TBXLadeXML.pxEDIOrderLijn %Integer Proxy-Lijn voor EDI BL.Prod.GAData.TBXLadeXML.pxEDIOrderLijn Proxy-Doc voor PrintPage BL.Prod.GAData.TBXLadeXML.pxPrintOrder m.a.w. pxOrder.Munt moet correct ingevuld worden (EUR of CHF); prijzen van WSOrd niet meer omrekenen, dus Munt="EUR" . Set ..Munt=$S(..blnShowAKP:..MuntAK, 1:..Munt) Set sc=$$$OK // Create Proxy Set pxOrder=##class(BL.Prod.GAData.TBXLadeXML.pxPrintOrder).%New() // Copy Properties Set pxOrder.OrderNr=WSOrd.OrderNr ; Set pxOrder.mID=WSOrd.mID Set pxOrder.Taal=WSOrd.Taal Set pxOrder.Commissie=WSOrd.Commissie Set pxOrder.KLNaam=WSOrd.KLNaam Set pxOrder.KLNummer=WSOrd.KLNummer Set pxOrder.KLStraatNrBus=WSOrd.KLStraatNrBus Set pxOrder.KLPostNr=WSOrd.KLPostNr Set pxOrder.KLWoonPlaats=WSOrd.KLWoonPlaats Set pxOrder.KLTelefoon=WSOrd.KLTelefoon Set pxOrder.KLFax=WSOrd.KLFax Set pxOrder.KLEMail=WSOrd.KLEMail Set pxOrder.KLBTWNr=WSOrd.KLBTWNr Set pxOrder.TotAantal=WSOrd.TotAantal Set pxOrder.ExtraTekst=WSOrd.ExtraTekst Set pxOrder.Opmerking1=WSOrd.Opmerking1 Set pxOrder.BonType=WSOrd.BonType If ..blnShowAKP Do . Set pxOrder.BonType=WSOrd.BonType_"-AK" Else Do . Set:(WSOrd.BonType="INKP") pxOrder.BonType="BBON" // Levertijd Set pxOrder.LeverTijdID=WSOrd.LeverTijdID If WSOrd.LeverTijdID="ASAP" Do . Set LevTOms=WSOrd.LeverTijd . Set:(LevTOms[" (") $P(LevTOms," (",1)="ASAP" . Set pxOrder.LeverTijd=LevTOms Else If pxWSOrd.LeverTijdID="LATER" Do . Set pxOrder.LeverTijd=WSOrd.LeverTijd_$$$CRLF_">>"_$C(160)_WSOrd.Opmerking1 Else If $L(WSOrd.LeverTijdID) Do . Set LevTOms=$TR(WSOrd.LeverTijd,$C(160)," ") . Set LevTOms=$$$Replace(LevTOms," - ","-") . Set:($L(LevTOms," (")>1) LevTOms=$$$Trim($P(LevTOms," (",1))_" ("_$P(LevTOms," (",2,99) . Set LevTOms=$$$Replace(LevTOms,"Semaine","Sem.") . Set pxOrder.LeverTijd=LevTOms Else Do . Set pxOrder.LeverTijd=WSOrd.LeverTijd // Niet Meeleveren Do ; If $L(WSOrd.NietMeeleveren) Do . Set str="" . For i=1:1:$L(WSOrd.NietMeeleveren,";") Do . . Set NietMeeKey=($P(WSOrd.NietMeeleveren,";",i)) . . Set:($E(NietMeeKey,1,2)="NM")&&($E(NietMeeKey,3)'="_") $E(NietMeeKey,1,2)="NM_" . . Set:($L(NietMeeKey)) str=str_$S($L(str):", ", 1:"")_$$$LCase($$$GetVertaling(NietMeeKey,Taal,"L")) . Set WSOrd.NietMeeleverenOms=str Set pxOrder.NietMeeleveren=WSOrd.NietMeeleveren Set pxOrder.NietMeeleverenOms=WSOrd.NietMeeleverenOms Set:($L(WSOrd.IngaveTijdStip)) pxOrder.IngaveTijdStip=$$FormatDateTime^vhLib($$$DateH(WSOrd.IngaveTijdStip)) Set:($L(WSOrd.SubmitTS)) pxOrder.SubmitTS=$$FormatDateTime^vhLib($$$DateH(WSOrd.SubmitTS)) Set:($LG($LG(WSOrd.SubmitToVHLog,1),1)>0) pxOrder.SubmitToVHTS=$$FormatDateTime^vhLib("yyyy-mm-dd hh:nn:ss", $LG($LG(WSOrd.SubmitToVHLog,1),1), .Taal) ;Set pxOrder.KLKorting=WSOrd.KLKorting ;Set pxOrder.KLPrijsKlasse=WSOrd.KLPrijsKlasse ;Set pxOrder.TransferLog=WSOrd.TransferLog ;Set pxOrder.WebDomain=WSOrd.WebDomain ;Set pxOrder.WebQSData=WSOrd.WebQSData ;Set pxOrder.WebURL=WSOrd.WebURL ;Set pxOrder.ShowInHist=WSOrd.ShowInHist Set blnContainsGlas=0 Set i="" For Set WSLn=pxOrder.Lijnen.GetNext(.i) Quit:(i="") Set blnContainsGlas=(blnContainsGlas)||(WSLn.LadeBevatGlasOfInschuifElement()) // Fill Order Lijnen Set i="" For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do Quit:($$$ISERR(sc)) . Set pxLijn=..BuildLijnPrint(WSLn, .sc) . Quit:($$$ISERR(sc))||('$IsObject(pxLijn)) . Do pxOrder.Lijnen.Insert(pxLijn) . Set:(blnContainsGlas) pxLijn.ItemKVOms="-" /// Prijzen invullen Set (TotPrijsVK,TotPrijsAK)=0 Set i="" For Set WSLn=pxWSOrd.Lijnen.GetNext(.i) Quit:(i="") Do . Set TotPrijsVK=TotPrijsVK+(WSLn.KostPrijs*WSLn.Qty) . Set TotPrijsAK=TotPrijsAK+(WSLn.AKPrijs*WSLn.Qty) Set pxOrder.TotPrijs=$S(..blnShowVKP:TotPrijsVK, ..blnShowAKP:TotPrijsAK, 1:"") ; =..PrijsConvert(MuntCalc,TotPrijs) Set pxOrder.Munt=..Munt Quit pxOrder ]]> Proxy-Lijn voor Print BL.Prod.GAData.TBXLadeXML.pxPrintOrderLijn Berekende waarden voor de Omschrijving van Kleurkeuzes e.d. pxLijn:%RegisteredObject,WSLn:%RegisteredObject Omzetten van prijs naar andere munt-eenheden 1 Munt:%String,Val:%String %String %Status TestMethod Create XMLSchema for EDI Oproepen via s sc=##class(BL.Prod.GAData.TBXLadeXML).CreateEDISchema() w sc,! 1 %Status TestMethod Oproepen via s sc=##class(BL.Prod.GAData.TBXLadeXML).TestEDI() w sc,! 1 wsID:%String,OutputType:%String="EDI" %Status 1 %String 1 %String