Index: vhUnitTest/AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter/Test.cls.xml =================================================================== diff -u -r48374 -r48383 --- vhUnitTest/AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter/Test.cls.xml (.../Test.cls.xml) (revision 48374) +++ vhUnitTest/AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter/Test.cls.xml (.../Test.cls.xml) (revision 48383) @@ -63,7 +63,7 @@ Do KlasRepositoryMock.VerwachtMethodCall("ZoekViaGroepen","KB","KVD","SVD/BL").DanReturn(..GeefKlasIterator()) Set PakketServiceMock = ##class(vhTest.Mock.DOM.PM.impl.DataM.PakketService).%New() - Do PakketServiceMock.VerwachtMethodCall("GeefTypeEPakketNummersVoorKlantProduct","K||1000","ProductID").DanReturn(##class(%ListOfDataTypes).%New()) + Do PakketServiceMock.VerwachtMethodCall("GeefPakketNummersVoorKlantProduct","K||1000","ProductID").DanReturn(##class(%ListOfDataTypes).%New()) Do PakketServiceMock.VerwachtMethodCall("BestaatViaPakketnaam","K||1000","klantreferentie").DanReturn($$$False) Do PakketServiceMock.VerwachtMethodCall("MaakPakket","K||1000","klantreferentie").DanReturn("PakketNummer") Do PakketServiceMock.VerwachtMethodCall("ZetPakketType","PakketNummer","E").DanDoeNiks() @@ -113,7 +113,7 @@ Do KlasRepositoryMock.VerwachtMethodCall("ZoekViaGroepen","KB","KVD","SVD/BL").DanReturn(..GeefKlasIterator()) Set PakketServiceMock = ##class(vhTest.Mock.DOM.PM.impl.DataM.PakketService).%New() - Do PakketServiceMock.VerwachtMethodCall("GeefTypeEPakketNummersVoorKlantProduct","K||1000","ProductID").DanReturn(##class(%ListOfDataTypes).%New()) + Do PakketServiceMock.VerwachtMethodCall("GeefPakketNummersVoorKlantProduct","K||1000","ProductID").DanReturn(##class(%ListOfDataTypes).%New()) Do PakketServiceMock.VerwachtMethodCall("BestaatViaPakketnaam","K||1000","klantreferentie").DanReturn($$$False) Do PakketServiceMock.VerwachtMethodCall("MaakPakket","K||1000","klantreferentie").DanReturn("PakketNummer") Do PakketServiceMock.VerwachtMethodCall("ZetPakketType","PakketNummer","E").DanDoeNiks() @@ -138,6 +138,104 @@ ]]> + + + + + + + + 1 TECH.Iterator Index: AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter.cls.xml =================================================================== diff -u -r48372 -r48383 --- AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter.cls.xml (.../ProductItemConverter.cls.xml) (revision 48372) +++ AXimpl/Dynamics/ProductItemUpsertIn/Converter/ProductItemConverter.cls.xml (.../ProductItemConverter.cls.xml) (revision 48383) @@ -232,16 +232,21 @@ #dim KlantId as %String = ##class(AXimpl.AxToAdminUtils).ConvertCustomerID(Ext.CustVendRelation) - do ##class(TECH.ListUtils).AppendList(.TeVerwijderenPakketLijst, ..PakketService.GeefTypeEPakketNummersVoorKlantProduct(KlantId,Product.GeefID())) + do ##class(TECH.ListUtils).AppendList(.TeVerwijderenPakketLijst, ..PakketService.GeefPakketNummersVoorKlantProduct(KlantId,Product.GeefID())) if ..PakketService.BestaatViaPakketnaam(KlantId,Ext.ExternalItemId){ #dim Pakketnummer as %String = ..PakketService.GeefPakketNummerViaPakketnaam(KlantId,Ext.ExternalItemId) + if $$$Not(##class(TECH.StringUtils).Contains(..PakketService.GeefPakketType(Pakketnummer),"E","C")){ - ;exception indien type pakket <> E of C -> in 2A alleen nog 1 op 1 pakketten, 1-N zijn anders dummy product (shadow/ghost product in AX) - do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("ProductSynchronizatie probeert 1-N pakket met nummer '"_ Pakketnummer _"' te updaten als 1-1")) - } - Do ##class(TECH.ListUtils).RemoveItemFromList(Pakketnummer,TeVerwijderenPakketLijst) - ;verwijder pakket uit lijstteverwijderenpakketten + ;indien type pakket <> E of C -> in fase 2A alleen nog 1 op 1 pakketten, 1-N zijn anders dummy product (shadow/ghost product in AX) + ;pakket verwijderen : was een D pakket wijzend naar 1 of meerdere producten, maar moet nu E pakket worden wijzend naar AX phantom product + ;we laten het pakket in de lijst van te verwijderen pakketten staan, en maken een nieuw E pakket aan. + Set Pakketnummer = ..PakketService.MaakPakket(KlantId,Ext.ExternalItemId) + Do ..PakketService.ZetPakketType(Pakketnummer,"E") + } else { + ;verwijder pakket uit lijstteverwijderenpakketten + Do ##class(TECH.ListUtils).RemoveItemFromList(Pakketnummer,TeVerwijderenPakketLijst) + } } else { Set Pakketnummer = ..PakketService.MaakPakket(KlantId,Ext.ExternalItemId) Do ..PakketService.ZetPakketType(Pakketnummer,"E")