Index: AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml =================================================================== diff -u -r72639 -r72678 --- AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72639) +++ AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72678) @@ -128,8 +128,18 @@ 1 + +DOM.PM.impl.DataM.DataMProductRepository +1 + + + +WSimpl.AX.CalculatedProduct.ProductService +1 + + -OrderAPI:DOM.VKP.OrderAPI,OrderLevenCyclusService:APPS.VKP.OrderLevenCyclusService,DateTimeAPI:TECH.DateTime.DateTimeAPI="",ProductBepaler:AXimpl.Admin.Common.ProductBepaler,DocumentReferentiesRepository:DOM.VKP.DocumentReferentiesRepository,OrderlijnenSorteerder:AXimpl.Dynamics.SalesOrderIn.Converter.OrderlijnenSorteerder,OrderSluiter:CHUI.VKP.OrderIngave.BevestigdAXOrderSluiterv01,ToeleveringService:AXimpl.Dynamics.SalesOrderIn.Converter.ToeleveringService,OrderIngaveService:APPS.VKP.OrderIngaveService,OfferteRepository:APPS.VKP.Offerte.OfferteRepository,SalesOrderLineStatusRepository:AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository,VerkoopApi:DOM.VKP.VerkoopAPI,Mailer:AXimpl.Dynamics.SalesOrderIn.Converter.Mailer,LeverAdresMaker:AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.LeverAdresMaker,LandRepository:DOM.common.Locatie.impl.LandRepository,ProductRepository:Prod.ProductRepository="",ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl="" +OrderAPI:DOM.VKP.OrderAPI,OrderLevenCyclusService:APPS.VKP.OrderLevenCyclusService,DateTimeAPI:TECH.DateTime.DateTimeAPI="",ProductBepaler:AXimpl.Admin.Common.ProductBepaler,DocumentReferentiesRepository:DOM.VKP.DocumentReferentiesRepository,OrderlijnenSorteerder:AXimpl.Dynamics.SalesOrderIn.Converter.OrderlijnenSorteerder,OrderSluiter:CHUI.VKP.OrderIngave.BevestigdAXOrderSluiterv01,ToeleveringService:AXimpl.Dynamics.SalesOrderIn.Converter.ToeleveringService,OrderIngaveService:APPS.VKP.OrderIngaveService,OfferteRepository:APPS.VKP.Offerte.OfferteRepository,SalesOrderLineStatusRepository:AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository,VerkoopApi:DOM.VKP.VerkoopAPI,Mailer:AXimpl.Dynamics.SalesOrderIn.Converter.Mailer,LeverAdresMaker:AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.LeverAdresMaker,LandRepository:DOM.common.Locatie.impl.LandRepository,ProductRepository:Prod.ProductRepository="",ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl="",DataMProductRepository:DOM.PM.impl.DataM.DataMProductRepository="",ProductService:WSimpl.AX.CalculatedProduct.ProductService="" 1 1 %Status @@ -151,6 +161,8 @@ Set ..LandRepository = $$$Inject(LandRepository,##class(DOM.common.Locatie.impl.LandRepository).%New()) Set ..ProductRepository = $$$Inject(ProductRepository,##class(Prod.ProductRepository).%New()) Set ..ProductTypeAPI = $$$Inject(ProductTypeAPI,##class(DOM.DomeinContext).Instance().GeefProductTypeAPI()) + Set ..DataMProductRepository = $$$Inject(DataMProductRepository, ##class(DOM.PM.impl.DataM.DataMProductRepository).%New()) + Set ..ProductService = $$$Inject(ProductService, ##class(WSimpl.AX.CalculatedProduct.ProductService).%New()) Set ..VerkoopApi = $$$Inject(VerkoopApi, ##class(DOM.VKP.impl.VerkoopAPI).%New()) Set ..VhConfigHelper = ##class(DOM.PM.Maatwerk.Calc.Common.VhConfigHelper).%New() @@ -233,7 +245,7 @@ Do ..Logger.Warning("SalesOrderIn - Orderlijn is reeds geproduceerd", "OrderLijn met InventTransId '" _OrderLine.InventTransId _"' is reeds geproduceerd. Er wordt geen update uitgevoerd.") Continue } - + If $$$Not(..MagOrderLijnUpdaten(OrderLine)) { Do ..Mailer.ZetMeldingGeblokkeerdeOrderLijn(Order, OrderLine.InventTransId) Do ..Logger.Warning("SalesOrderIn - Orderlijn is geblokkeerd", "OrderLijn met InventTransId '" _OrderLine.InventTransId _"' is in verwerking. Er wordt geen update uitgevoerd.") @@ -528,35 +540,26 @@ 0) { - Set ProductData = ##class(DOM.PM.dto.ProductData).%New() - Set ProductData.PRNr = ReedsGekendeProductId - Set ProductData.DossierNummer = ConfiguratieData.DossierCode - Set MaatwerkProduct = BerekeningServiceProduct.MaakProductVanKenmerken(..VhConfigHelper.GeefIngegevenKenmerken(), ..KlantID, ProductData, ConfiguratieData.VhConfig) - Set ProductId = MaatwerkProduct.GeefID() Do PrijsOrderLijn.ZetProductID(ProductId, $$$True) - } Else { - Set MaatwerkProduct = BerekeningServiceProduct.MaakProductVanKenmerken(..VhConfigHelper.GeefIngegevenKenmerken(), ..KlantID, , ConfiguratieData.VhConfig) - Set ProductId = MaatwerkProduct.GeefID() - Do PrijsOrderLijn.ZetProductID(ProductId, $$$False) } } ElseIf (IsEenMaatwerkLijn && IsAdminProductNummerMeegegeven) { Do PrijsOrderLijn.ZetProductID(..GeefAttributeValue(OrderLine.Attribute,"AdminProductNummer"), $$$True) @@ -574,6 +577,97 @@ ]]> + + +1 +%String + 0) { + Do ..VerwijderOrderLijn(Order, OrderLine) + Do ..BewaarOrder(Order) + Do ..LogLijn(Order.GeefID(), OrderLine, "Verwijder OrderLijn") + + If $$$Not(..ProductService.HeeftBezwaarVoorProductDelete(ReedsGekendeProductId)) { + Set ProductData.PRNr = ReedsGekendeProductId + Do ..NeemLockOpProduct(ReedsGekendeProductId) + Do ..VerwijderProduct(ReedsGekendeProductId) + } + } + + #dim MaatwerkProduct As DOM.PM.MaatwerkProduct = BerekeningServiceProduct.MaakProductVanKenmerken(..VhConfigHelper.GeefIngegevenKenmerken(), ..KlantID, 1, ProductData, VhConfig) + + If (ReedsGekendeProductId > 0) { + Do ..Logger.Warning("SalesOrderIn - ProductCreatie", "Product '"_ReedsGekendeProductId_"' opnieuw gemaakt in Cache! DossierNummer = '"_OrderLine.DossierCode_"'") + Do ..UnlockProduct(ReedsGekendeProductId) + } + + Quit MaatwerkProduct.GeefID() +]]> + + + +ProductId:%String +1 + + + + +ProductId:%String +1 + + + + +ProductId:%String +1 + + + + +ProductId:%String +1 + + + + +ProductId:%String +1 + + + Order:DOM.VKP.Order,OrderHeader:AXif.Dynamics.SalesOrderIn.MessageParts.AxdEntityOrderHeader 1 @@ -668,7 +762,7 @@ OrderLine:AXif.Dynamics.SalesOrderIn.MessageParts.AxdEntityOrderLine 1 %Boolean -