Index: PRDUPLI.mac.rou =================================================================== diff -u -r1777 -r1826 --- PRDUPLI.mac.rou (.../PRDUPLI.mac.rou) (revision 1777) +++ PRDUPLI.mac.rou (.../PRDUPLI.mac.rou) (revision 1826) @@ -160,22 +160,36 @@ . . Do ##class(BL.Prod.OptiBox.BoxData).%New().Copy("PR",PRNr,"PR",NewPRNr) ;Copieren van kenmerken Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() - Set ProductKenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr,"OL") - If (ProductKenmerkenSets.GeefAantalSets()>0){ ; Heeft kenmerken + Set ProductKenmerken = ProductAPI.GeefProductKenmerken(PRNr) + If (ProductKenmerken.GeefKenmerkenSetsIterator().HasNext()){ ; Heeft kenmerken Set X=$$^vhTXTPOP("PRDUPLI","COPYKENMERK","",$P(^KPR(PRNr,0),D,1)) If (X) { ;Copieren + + Set KenmerkenSetsIterator = ProductKenmerken.GeefKenmerkenSetsIterator() + While (KenmerkenSetsIterator.HasNext()) + { + Set ProductKenmerkenSets = KenmerkenSetsIterator.Next() + Set ProductKenmerkenSetsIterator = ProductKenmerkenSets.GeefProductKenmerkenSetIterator() + While (ProductKenmerkenSetsIterator.HasNext()) { + Set KenmerkenSet = ProductKenmerkenSetsIterator.Next() + Set NewUnID = KenmerkenSet.GeefUnID() + Set $Piece(NewUnID,".") = NewPRNr + Do ##class(Prod.Kenmerk.DataDefinitie).CopyViaPRNr(KenmerkenSet.GeefUnID(),NewUnID,$LB(KenmerkenSet.GeefGroep()),0,,$LB("OEI")) ; exclude OEI kenmerken + } + } + Set lbClearKenmerken= $LB("GeneratieType","MasterVoorBreedtes","MasterVoorDieptes","MasterVoorKleuren","MasterVoorWandDiktes") Set lbClearKenmerken = lbClearKenmerken_$LB("SleutelVarFotoB","SleutelVarFotoD","SleutelVarFotoKlr","SleutelVarFotoWD","SleutelVarTekstB","SleutelVarTekstD","SleutelVarTekstKlr","SleutelVarTekstWD") - Set KenmerkenSetsIterator = ProductKenmerkenSets.GeefKenmerkenSets() - While (KenmerkenSetsIterator.HasNext()) { - Set KenmerkenSet = KenmerkenSetsIterator.Next() + Set ProductKenmerkenSetsIterator = ProductKenmerken.GeefProductKenmerkenSets("OL").GeefProductKenmerkenSetIterator() + While (ProductKenmerkenSetsIterator.HasNext()) { + Set KenmerkenSet = ProductKenmerkenSetsIterator.Next() Set NewUnID = KenmerkenSet.GeefUnID() - Set $Piece(NewUnID,".") = NewPRNr - Do ##class(Prod.Kenmerk.DataDefinitie).CopyViaPRNr(KenmerkenSet.GeefUnID(),NewUnID,,0,,$LB("OEI")) ; exclude OEI kenmerken + Set $Piece(NewUnID,".") = NewPRNr For i = 1 : 1 : $LL(lbClearKenmerken) { - Do ##class(Prod.Kenmerk.DataDefinitie).DeleteKM("OL",NewUnID,$LI(lbClearKenmerken,i)) - } + Do ##class(Prod.Kenmerk.DataDefinitie).DeleteKM("OL",NewUnID,$LI(lbClearKenmerken,i)) + } } + } }