Index: AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter.cls.xml =================================================================== diff -u -r47632 -r47635 --- AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter.cls.xml (.../ReceptieAfmeldenConverter.cls.xml) (revision 47632) +++ AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter.cls.xml (.../ReceptieAfmeldenConverter.cls.xml) (revision 47635) @@ -62,53 +62,43 @@ Set DoorTeGevenLijnen = ##class(%ListOfDataTypes).%New() Set DoorTeGevenIDsLijst = ##class(%ListOfDataTypes).%New() - #dim ToeleveringLijn As DOM.AKP.ToeleveringLijn = ..ToeleveringApi.GeefToeleveringLijn($Piece(Request.SubjectId,"_",1),$Piece(Request.SubjectId,"_",2)) + Set ProdRaf = ##class(AXif.Dynamics.Inventory.MessageParts.AxdEntityProdRAF).%New() + Set ProdRaf.class = "entity" + Set ProdRaf.ProdId = $Extract(Request.Message.ToeleveringID_"_"_Request.Message.ToeleveringLijnCode_"_"_$Translate(Request.Message.ReceptieTijdstip,",-: ",""),1,20) + Set ProdRaf.Qty = Request.Message.Aantal + Set ProdRaf.InventTransId = Request.Message.AxInventTransId - If ..DataMOrderApi.BestaatOrder(ToeleveringLijn.GeefOrderID()) { - #dim Order As DOM.VKP.Order = ..DataMOrderApi.GeefOrder(ToeleveringLijn.GeefOrderID()) - - #dim OrderLijn As DOM.VKP.ProductOrderlijn = Order.GeefOrderLijn(ToeleveringLijn.GeefOrderLijnID()) - If OrderLijn.GeefType()=##class(DOM.VKP.enu.OrderLijnType).Product(){ - Set ProdRaf = ##class(AXif.Dynamics.Inventory.MessageParts.AxdEntityProdRAF).%New() - Set ProdRaf.class = "entity" - Set ProdRaf.ProdId = $Extract(OrderLijn.GeefID()_"_"_OrderLijn.GeefID()_"_"_$Translate(OrderLijn.GeefReceptieTijdstip(),",-: ",""),1,20) - Set ProdRaf.Qty = OrderLijn.GeefAantal() - Set ProdRaf.InventTransId = OrderLijn.GeefAxInventTransId() - - Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() - Set AXids.AxConfigId = OrderLijn.GeefAxConfigId() - Set AXids.AxInventTransId = OrderLijn.GeefAxInventTransId() - Set AXids.AxMaatwerkGenerischItemId = OrderLijn.GeefAxMaatwerkGenerischItemId() - Set AXids.ProductId = OrderLijn.GeefProductID() - Do DoorTeGevenIDsLijst.Insert(AXids) - - Do ..AxdEntityHeader.ProdRAF.Insert(ProdRaf) - - Set ..BouwsteenIterator = ..BouwsteenIteratorFactory.Maak(OrderLijn.GeefProductID()) - - While ..BouwsteenIterator.HasNext(){ - #dim Bouwsteen As AXimpl.Admin.DOM.PM.Bouwsteen = ..BouwsteenIterator.Next() - Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() - Set AXids.ProductId = Bouwsteen.ProductId - Do DoorTeGevenLijnen.Insert(Bouwsteen.ProductId) - } - } - - Try { - #dim InventSyncItems As AXif.Dynamics.Inventory.MessageParts = ..InventoryOutConverter.Convert(##class(AXimpl.Request).%New("Inventory/Update",##class(TECH.ListUtils).ListToPieces(DoorTeGevenLijnen,","),DoorTeGevenIDsLijst)) - - Set Iterator = ##class(TECH.ListIterator).%New(InventSyncItems.MessagePart.Header.GetAt(1).InventSync) - While Iterator.HasNext() { - Do ..AxdEntityHeader.InventSync.Insert(Iterator.Next()) - } - } Catch { - #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() - } - } Else { - Do ##class(TECH.ExceptionHandler).Throw(##class(AXimpl.NoConversionNeededException).%New(##this.%ClassName(),Request.SubjectId)) + Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() + Set AXids.AxConfigId = Request.Message.AxConfigId + Set AXids.AxInventTransId = Request.Message.AxInventTransId + Set AXids.AxMaatwerkGenerischItemId = Request.Message.AxMaatwerkGenerischItemId + Set AXids.ProductId = Request.Message.ProductID + Do DoorTeGevenIDsLijst.Insert(AXids) + + Do ..AxdEntityHeader.ProdRAF.Insert(ProdRaf) + + Set ..BouwsteenIterator = ..BouwsteenIteratorFactory.Maak(Request.Message.ProductID) + + While ..BouwsteenIterator.HasNext(){ + #dim Bouwsteen As AXimpl.Admin.DOM.PM.Bouwsteen = ..BouwsteenIterator.Next() + Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() + Set AXids.ProductId = Bouwsteen.ProductId + Do DoorTeGevenLijnen.Insert(Bouwsteen.ProductId) } + Try { + #dim InventSyncItems As AXif.Dynamics.Inventory.MessageParts = ..InventoryOutConverter.Convert(##class(AXimpl.Request).%New("Inventory/Update",##class(TECH.ListUtils).ListToPieces(DoorTeGevenLijnen,","),DoorTeGevenIDsLijst)) + + Set Iterator = ##class(TECH.ListIterator).%New(InventSyncItems.MessagePart.Header.GetAt(1).InventSync) + While Iterator.HasNext() { + Do ..AxdEntityHeader.InventSync.Insert(Iterator.Next()) + } + } Catch { + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + } + + Set ADUMsgOutboundInQuery = ##class(AXif.Dynamics.Inventory.MessageParts.AxdADUMsgOutboundInQuery).%New() Set MessageParts.MessagePart = ADUMsgOutboundInQuery