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")