Index: KPRIJS.mac.rou =================================================================== diff -u -r50958 -r51318 --- KPRIJS.mac.rou (.../KPRIJS.mac.rou) (revision 50958) +++ KPRIJS.mac.rou (.../KPRIJS.mac.rou) (revision 51318) @@ -103,28 +103,23 @@ Set PriceUnit=$LI(lb,4) Set InclBTW=$LI(lb,5) } Else { - Try { - New SalesPriceService, Result, ResultLine - - #dim SalesPriceService As AXimpl.Admin.VKP.SalesPriceService = ##class(AXimpl.Admin.VKP.SalesPriceService).%New() - #dim Result As AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceHeaderOutputDC = SalesPriceService.GeefPrijs(KLNr, PRNr, $select($Get(SimPPL):SimPPL, 1:""), .Aantal) - #dim ResultLine As AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceLineOutputDC = Result.Lines.GetAt(1) - - Set VkpEURAX = ResultLine.Price - Set LijstEURAX = ResultLine.GrossPrice - Set PriceUnit = +ResultLine.PriceUnit - Set InclBTW = Result.InclVAT - + Try + { + New SalesPriceService, Result + Set SalesPriceService = ##class(AXimpl.Admin.VKP.SalesPriceService).%New() + #Dim Result as AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceLineOutputDC + Set Result = SalesPriceService.GeefPrijs(KLNr, PRNr, $S($G(SimPPL):SimPPL,1:""),.Aantal) + Set VkpEURAX = Result.Price + Set LijstEURAX = Result.GrossPrice + Set PriceUnit=+Result.PriceUnit + Set InclBTW=SalesPriceService.PrijzenInclBTW() Set ^AXPrijsCache(KLNr,PRNr,+CachePPL,$S($G(Aantal):Aantal,1:"*"))=$LB($$GeefMinuten($H),VkpEURAX,LijstEURAX,PriceUnit,InclBTW) } Catch { - New Exception - Set (VkpEURAX,LijstEURAX)=99999 Set PriceUnit=1 - Set InclBTW = $$$False - + Set InclBTW=0 #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() - Do ##class(vhLib.Logger).LogExceptie(Exception) + do ##class(vhLib.Logger).LogExceptie(Exception) } } @@ -145,14 +140,15 @@ } Set GrOrde=$Case(PriceUnit,100:"H",:"E") Set GrOrdNum=$Case(GrOrde,"H":100,:1) + Set Korting2=0 If +LijstEUR=0 { Set Korting1=0 - } Else { + } else { Set Korting1=(1-(VkpEUR/LijstEUR))*100 } - } Else { - Do:(+VkpEUR>0)||(+VkpEURAX>0) ##class(vhLib.Logger).%New().Warning("Prijsberekening AX Fallback","Klant : '"_KLNr_"' Product : '"_PRNr_"' SimPPL : '"_$G(SimPPL)_"' -> Prijs : "_VkpEURAX_" -> fallback naar cache berekening '"_VkpEUR_"'") + } else { + Do:(+VkpEUR>0)||(+VkpEURAX>0)&&'($P(^KPR(PRNr,1),"\",25)) ##class(vhLib.Logger).%New().Warning("Prijsberekening AX Fallback","Klant : '"_KLNr_"' Product : '"_PRNr_"' SimPPL : '"_$G(SimPPL)_"' -> Prijs : "_VkpEURAX_" -> fallback naar cache berekening '"_VkpEUR_"'") } } Quit $$BUILD @@ -308,40 +304,36 @@ Quit R GeefLijstPrijsInAX(PRNr,SimCifPPL,AdminLijstPr) - New CachePPL,VkpEURAX, VkpEUR,LijstEURAX,PriceUnit,IncBTW,KLNr - + New Result,CachePPL,VkpEURAX, VkpEUR,LijstEURAX,PriceUnit,IncBTW,KLNr + #Dim Result as AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceLineOutputDC Quit:$$ProdViaAdmin(PRNr) AdminLijstPr Set KLNr=$$$CKlantL Set CachePPL=$S($G(SimPPL):SimPPL,1:$$CifPPL(PRNr)) Set CacheMinuten = $ListGet($Get(^AXPrijsCache(KLNr,PRNr,+CachePPL,"*")),1) - If (($$GeefMinuten($Horolog)-600) < CacheMinuten) { Set lb=^AXPrijsCache(KLNr,PRNr,+CachePPL,"*") Set VkpEURAX=$LI(lb,2) Set PriceUnit=$LI(lb,4) Set InclBTW=$LI(lb,5) } Else { - Try { - New SalesPriceService, Result, ResultLine - - #dim SalesPriceService As AXimpl.Admin.VKP.SalesPriceService = ##class(AXimpl.Admin.VKP.SalesPriceService).%New() - #dim Result As AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceHeaderOutputDC = SalesPriceService.GeefPrijs(KLNr, PRNr, $select($get(SimPPL):SimPPL,1:""),.Aantal) - #dim ResultLine As AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceLineOutputDC = Result.Lines.GetAt(1) - - Set VkpEURAX = ResultLine.Price - Set LijstEURAX = ResultLine.GrossPrice - Set PriceUnit = +ResultLine.PriceUnit - Set InclBTW = Result.InclVAT - + Try + { + New SalesPriceService, Result + Set SalesPriceService = ##class(AXimpl.Admin.VKP.SalesPriceService).%New() + #Dim Result as AXif.Dynamics.SalesPriceIn.MessageParts.ADUSalesPriceLineOutputDC + Set Result = SalesPriceService.GeefPrijs(KLNr, PRNr, $S($G(SimPPL):SimPPL,1:""),.Aantal) + Set VkpEURAX = Result.Price + Set LijstEURAX = Result.GrossPrice + Set PriceUnit=+Result.PriceUnit + Set InclBTW=SalesPriceService.PrijzenInclBTW() Set ^AXPrijsCache(KLNr,PRNr,+CachePPL,"*")=$LB($$GeefMinuten($H),VkpEURAX,LijstEURAX,PriceUnit,InclBTW,"LP") } Catch { Set (VkpEURAX)=99999 Set PriceUnit=1 - Set InclBTW = $$$False - + Set InclBTW=0 #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() - Do ##class(vhLib.Logger).LogExceptie(Exception) + do ##class(vhLib.Logger).LogExceptie(Exception) } } @@ -356,9 +348,10 @@ { Set VkpEUR=VkpEUR/PriceUnit } - } Else { + + } else { Set VkpEUR=AdminLijstPr - Do:(+VkpEUR>0)||(+VkpEURAX>0) ##class(vhLib.Logger).%New().Warning("Prijsberekening AX Fallback","LIJSTPRIJS Klant : '"_KLNr_"' Product : '"_PRNr_"' SimPPL : '"_$G(SimPPL)_"' -> Prijs : "_VkpEURAX_" -> fallback naar cache berekening '"_$G(AdminLijstPr)_"'") + do:(+VkpEUR>0)||(+VkpEURAX>0)&&'($P(^KPR(PRNr,1),"\",25)) ##class(vhLib.Logger).%New().Warning("Prijsberekening AX Fallback","LIJSTPRIJS Klant : '"_KLNr_"' Product : '"_PRNr_"' SimPPL : '"_$G(SimPPL)_"' -> Prijs : "_VkpEURAX_" -> fallback naar cache berekening '"_$G(AdminLijstPr)_"'") } Quit VkpEUR @@ -650,4 +643,3 @@ . Set J=$O(^KPR(PRNr,"J")),R=^(J),PPL=$P(R,D,19) . Set:+PPL=+SchaduwPPL SchaduwPPL="" Quit SchaduwPPL -