Index: zTryout/WV/PM/Test.cls.xml =================================================================== diff -u -r57306 -r57310 --- zTryout/WV/PM/Test.cls.xml (.../Test.cls.xml) (revision 57306) +++ zTryout/WV/PM/Test.cls.xml (.../Test.cls.xml) (revision 57310) @@ -20,6 +20,7 @@ #dim ErrorLijst,Familie,Variant,Status,ParsedStatus #dim ProductSpecificatie As DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie = "" #dim Product As DOM.PM.TBXProduct.TBXLade = "" + #dim Verschil As %String = "" #dim Teller = 0 Set PRNr = $Order(^KPR(""), -1) @@ -39,16 +40,18 @@ Set ProductSpecificatie = "" Set ProductSpecificatieID = $Piece($Get(^KPR(Product.GeefPRNr(),15)),"\",13) + #dim InitialKM As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = "" + #dim InitialCanonischeWaarde As %String = "" + Set IngegevenKenmerken = "" - If ($$$HasLength(ProductSpecificatieID)) - { - Set ProductSpecificatie = Product.GeefProductSpecificatie() ;##class(DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie).%OpenId(ProductSpecificatieID) + If ($$$HasLength(ProductSpecificatieID)) && (##class(DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie).%ExistsId(ProductSpecificatieID)) { + Set ProductSpecificatie = Product.GeefProductSpecificatie() If ('$IsObject(ProductSpecificatie)) { Do ##class(TECH.Exceptions.GeneralErrorException).Throw("Kon ProductSpecificatie met ID "_ProductSpecificatieID_" niet openen voor product "_PRNr) } - #dim InitialKM As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = Product.GeefIngegevenKenmerken() - #dim InitialCanonischeWaarde As %String = IngegevenKenmerkenAPI.GeefCanonischeWaarde(InitialKM) + Set InitialKM = Product.GeefIngegevenKenmerken() + Set InitialCanonischeWaarde = IngegevenKenmerkenAPI.GeefCanonischeWaarde(InitialKM) } Set IngegevenKenmerken = Convertor.Converteer(Product, .ErrorLijst) @@ -69,9 +72,9 @@ } Else { /* * / - - #dim Verschil As %String = ..VergelijkObjecten(InitialKM, IngegevenKenmerken) - Set ^WV.KenmerkConvert(PRNr, "TEST", ProductSpecificatieID) = $LB(Verschil) + Set:($IsObject(InitialKM)) Verschil = ..VergelijkObjecten(InitialKM, IngegevenKenmerken) + Set:(Verschil = "") Verschil = "-" + Set ^WV.KenmerkConvert(PRNr, "TEST", $$$If($$$HasLength(ProductSpecificatieID),ProductSpecificatieID,"-")) = $LB(Verschil) Set ^WV.KenmerkConvert("IdxVerschil", Verschil) = $G(^WV.KenmerkConvert("IdxVerschil", Verschil)) _ $LB(PRNr) Set Teller = $Increment(^WV.KenmerkConvert) @@ -89,6 +92,8 @@ If ($$$Not($IsObject(ProductSpecificatie))) { Set ProductSpecificatie = ##class(DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie).%New(Familie, Variant, IngegevenKenmerken) + Set %ProdSpecInitialIkid = "-" + Set %ProdSpecNewIkid = "NewIKID" } Else { Do ProductSpecificatie.ZetIngegevenKenmerkenWV(IngegevenKenmerken) @@ -98,7 +103,12 @@ Set Teller = $Increment(^WV.KenmerkConvert) Set ^WV.KenmerkConvert(PRNr, (%ProdSpecNewIkid = %ProdSpecInitialIkid) , ProductSpecificatie.%Id()) = $LB(%ProdSpecInitialIkid, %ProdSpecNewIkid) - #dim Verschil As %String = Vergelijker.VergelijkTbxKenmerken(PRNr) + If %ProdSpecNewIkid = "NewIKID" { + Set Verschil = "NewProductSpecificatie" + } + Else { + Set Verschil = Vergelijker.VergelijkTbxKenmerken(PRNr) + } Set $LI(^WV.KenmerkConvert(PRNr, (%ProdSpecNewIkid = %ProdSpecInitialIkid) , ProductSpecificatie.%Id()),3) = Verschil Set ^WV.KenmerkConvert("IdxVerschil", Verschil) = $G(^WV.KenmerkConvert("IdxVerschil", Verschil)) _ $LB(PRNr)