Index: APPS/AKP/AankoopControle/BLUM/impl/ToeleveringInfoVerzamelaarV2.cls.xml =================================================================== diff -u -r38553 -r39732 --- APPS/AKP/AankoopControle/BLUM/impl/ToeleveringInfoVerzamelaarV2.cls.xml (.../ToeleveringInfoVerzamelaarV2.cls.xml) (revision 38553) +++ APPS/AKP/AankoopControle/BLUM/impl/ToeleveringInfoVerzamelaarV2.cls.xml (.../ToeleveringInfoVerzamelaarV2.cls.xml) (revision 39732) @@ -42,11 +42,14 @@ set ToeleveringLijnID = ToeleveringLijnNr * 100 + count quit:Toelevering.BestaatToeleveringLijn(ToeleveringLijnID) } - //haa linfo van toelevering, blum kan iets anders leveren dan we verwachten (vervang product) + //haal info van toelevering, blum kan iets anders leveren dan we verwachten (vervang product) if Toelevering.BestaatToeleveringLijn(ToeleveringLijnID){ #Dim ToeleveringLijn As DOM.AKP.impl.DataM.DataMProductToeleveringLijn = Toelevering.GeefToeleveringLijn(ToeleveringLijnID) set CSBSO41.ProductNrCustomer = ToeleveringLijn.GeefProductID() } else { + if ProductNr = "" { + set ProductNr = ..GeefProductNummer(CSBSO41.IdentNr,Toelevering.GeefKlantNummerBijLeverancier()) + } #Dim Error As %String = "" if ToeleveringLijnNr = "" { set Error = "Geen lijnnr gespecifieerd voor lijn van toelevering " _ ToeleveringNr _" in xml bestand" @@ -58,45 +61,23 @@ // daar door is de lijn uit KTO en moeten we product gegevens op andere manier ophalen dan uit KTO. // we gaan er vanuit da Blum hetzelfde product levert als we gevraagd hebben : productnr zit mee in xml bericht. set CSBSO41.ProductNrCustomer = ProductNr - //TODO : mail nog te sturen do ..StuurMailNietGesplitsteToeleveringLijn(ToeleveringNr,CSBSO41.IdentNr,CSBSO41.ProductNrCustomer) } } - #Dim Product as DOM.PM.Product = ..BlumProductAPI.GeefProduct(CSBSO41.ProductNrCustomer) ;is de prijs die we verwachten -> dummy factuur, prijs die blum gaat rekenen zit niet in despatch bericht. set CSBSO41.Value = CSBSO41.QuantityInvoiced * ..GeefVHProductPrijs(CSBSO41.ProductNrCustomer) - } else { - if (ToeleveringLijnNr=""){ ;manual order - set:(CSBSO41.KundeStamNummer="") CSBSO41.KundeStamNummer = CSBSO31.InvoicingCustomerNr ;geen toelevering om kundestamnummer op te halen, we gebruiken de shipto - set CSBSO41.ProductNrCustomer = ..BlumProductAPI.GeefProductIdVolgensIdentNummer(CSBSO41.KundeStamNummer,CSBSO41.IdentNr) + ; het interesseert ons niet of het een manuele toelevering is (lijnnr = "") of de echte toelevering niet meer bestaat (om welke reden dan ook) + ; we processen de lijn als of het een manuele lijn is, de lijn komt dan bij de niet overgedragen vervoerslijnen, en prob kan in admin opgelost worden. + set:(CSBSO41.KundeStamNummer="") CSBSO41.KundeStamNummer = CSBSO31.InvoicingCustomerNr ;geen toelevering om kundestamnummer op te halen, we gebruiken de shipto + set CSBSO41.ProductNrCustomer = ..BlumProductAPI.GeefProductIdVolgensIdentNummer(CSBSO41.KundeStamNummer,CSBSO41.IdentNr) - if ##class(Blum.Product).%ExistsId(CSBSO41.IdentNr) { - ;Theorische prijs volgens product - #Dim BlumProduct as Blum.Product = ##class(Blum.Product).%OpenId(CSBSO41.IdentNr) - #Dim ProductPrijs as Blum.ProductPrijs = ##class(Blum.ProductPrijs).%OpenId(CSBSO41.IdentNr_"||"_ $Select(CSBSO31.InvoicingCustomerNr="212250":"E12",1:"E24")) - #Dim Rabat as Blum.Rabat = ##class(Blum.Rabat).%OpenId(CSBSO31.InvoicingCustomerNr) - - set CSBSO41.Value = CSBSO41.QuantityInvoiced * ProductPrijs.Prijs / $Select(ProductPrijs.PrijsDimensie="M":1000,ProductPrijs.PrijsDimensie="H":100,1:1 ) - set CSBSO41.Value = CSBSO41.Value * (1- Rabat.KortingsPercentageDefault) - } else { - ;Product niet gevonden, dan zetten we er prijs 0 op. (bvb marketing materiaal zit niet onze producten. - set CSBSO41.Value = 0 - ; alternatief is exception throwen, maar helpt niet echt aan de verwerking. - /* - set Error = "Product in xml bestand gespecifieerd niet gevonden in Admin" - set Error = Error _ $$$CRLF _ "ident nummer "_ CSBSO41.IdentNr - set Error = Error _ $$$CRLF _ "productnummer "_ CSBSO41.ProductNrCustomer - set Error = Error _ $$$CRLF _ "toelevering " _ ToeleveringNr - set Exception = ##class(TECH.Exceptions.GeneralErrorException).%New(Error) - do ##class(TECH.ExceptionHandler).Throw(Exception) - */ - } - } else { - ;voor manuele bestellingen is de toelevering nr opgegegeven als een referentie en lijn nr is leeg, als die dus ingevuld is is er iets fout... - set Error = "Toelevering " _ ToeleveringNr _" in xml bestand gespecifieerd niet gevonden in Admin" - set Exception = ##class(TECH.Exceptions.GeneralErrorException).%New(Error) - do ##class(TECH.ExceptionHandler).Throw(Exception) + if $Length(CSBSO41.ProductNrCustomer) { + ;Theorische prijs volgens product + set CSBSO41.Value = CSBSO41.QuantityInvoiced * ..GeefVHProductPrijs(CSBSO41.ProductNrCustomer) + } else { + ;Product niet gevonden, dan zetten we er prijs 0 op. (bvb marketing materiaal zit niet onze producten. + set CSBSO41.Value = 0 } } ]]>