Index: vhUnitTest/APPS/PM/TestProductService.cls.xml =================================================================== diff -u -r1407 -r1409 --- vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1407) +++ vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1409) @@ -187,14 +187,14 @@ While (ProductIt.HasNext()){ Set ProductID = ProductIt.Next() Set UnID = ##class(BL.Kenm.ProdMulti).GetFullID(ProductID.PRNr, ProductID.MultipleNr) - Set DataDefID= ##class(Prod.Kenmerk.DataDefinitie).BuildDataDefinitionID($$$KenmerkGroepID,UnID,"GeneratieType") ; [Review WV JBL MasterZoek] Zelfde opmerking als in APPS : classmethod Get() kan gebruikt worden + Set DataDefID= ##class(Prod.Kenmerk.DataDefinitie).BuildDataDefinitionID($$$KenmerkGroepID,UnID,"GeneratieType") If ##class(Prod.Kenmerk.DataDefinitie).%ExistsId(DataDefID) { - Set DataDef=##class(Prod.Kenmerk.DataDefinitie).%OpenId(DataDefID) + Set GeneratieTypeDataDef=$LG(##class(Prod.Kenmerk.DataDefinitie).Get($$$KenmerkGroepID,UnID,"GeneratieType"),1) Set JuistType = 0 For i = 1 : 1 : GeneratieTypes.Count() { - If (GeneratieTypes.Find(##class(APPS.PM.enu.GeneratieType).Onbepaald()) || (DataDef.Waarden.GetAt(1) = GeneratieTypes.GetAt(i))){ + If (GeneratieTypes.Find(##class(APPS.PM.enu.GeneratieType).Onbepaald()) || (GeneratieTypeDataDef = GeneratieTypes.GetAt(i))){ Set JuistType = 1 } } Index: APPS/PM/ProductService.cls.xml =================================================================== diff -u -r1407 -r1409 --- APPS/PM/ProductService.cls.xml (.../ProductService.cls.xml) (revision 1407) +++ APPS/PM/ProductService.cls.xml (.../ProductService.cls.xml) (revision 1409) @@ -53,7 +53,11 @@ Set pxSearchFormat = ##class(BL.Prod.sub.pxSearchFormat).%New() Set pxSearchFormat.FormatCompact = "IdentNr;KortTekst" Set pxSearchFormat.FormatExpand = "" - Set pxSearchFormat.LijnMax = Criteria.MaxAantalResultaten + If (Criteria.MaxAantalResultaten = ""){ + Set pxSearchFormat.LijnMax = 99999999 + }Else{ + Set pxSearchFormat.LijnMax = Criteria.MaxAantalResultaten + } If ($IsObject(Criteria.Classificaties)){ Set pxCriteria.Klassificaties = Criteria.Classificaties @@ -65,18 +69,16 @@ Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() Set KenmerkenService = ##class(APPS.PM.KenmerkenService).%New() - // [ Review CSC -> JBL ] Array gebruiken om sneller te zoeken in de lijst van PRNr's - // Je kan ook vooraf beter een array opbouwen met als sleutel de korttekst en eentje met de geopendna datum - // Hierdoor moet je niet per resultset rij telkens over alle producten lopen. - // Om een range te vinden van alle producten die na een bepaalde datum geopend zijn kan je in die array met GetNext(datum) direct de goede subset vinden. Set PRNrArray = ##class(%ArrayOfDataTypes).%New() Set PRNrIt = ##class(TECH.ListIterator).%New(Criteria.PRNrs) + While (PRNrIt.HasNext()){ Do PRNrArray.SetAt(1,PRNrIt.Next()) } Set AantalToegevoegde = 0 Set rs = rsSearch + While(rs.Next() && ((Criteria.MaxAantalResultaten = "") || (AantalToegevoegde < Criteria.MaxAantalResultaten))) { Set PRNr = rs.GetData(1) If ((PRNrArray.Count() = 0) || (PRNrArray.IsDefined(PRNr) = 1 )){ @@ -97,20 +99,17 @@ Set Toevoegen = 0 } /// Als generatietype is opgegeven hierop filteren - If (Criteria.GeneratieType && (Criteria.GeneratieType '= "") && (Criteria.GeneratieType.Count() > 0) && ('Criteria.GeneratieType.Find(##class(APPS.PM.enu.GeneratieType).Onbepaald()))){ ; [Review WV JBL MasterZoek] Conditie 1 en 2 vervangen door : $IsObject(Criteria.GeneratieType) !!! + If ($IsObject(Criteria.GeneratieType) && (Criteria.GeneratieType.Count() > 0) && ('Criteria.GeneratieType.Find(##class(APPS.PM.enu.GeneratieType).Onbepaald()))){ Set UnID = ##class(BL.Kenm.ProdMulti).GetFullID(ProductID.PRNr, ProductID.MultipleNr) - ; [Review WV JBL MasterZoek] rechtstreeks opvragen via : - ; Set GeneratieTypeDataDef=$LG(##class(Prod.Kenmerk.DataDefinitie).Get($$$KenmerkGroepID,UnID,"GeneratieType"),1) - Set DataDefID= ##class(Prod.Kenmerk.DataDefinitie).BuildDataDefinitionID($$$KenmerkGroepID,UnID,"GeneratieType") + Set GeneratieTypeDataDef=$LG(##class(Prod.Kenmerk.DataDefinitie).Get($$$KenmerkGroepID,UnID,"GeneratieType"),1) If ##class(Prod.Kenmerk.DataDefinitie).%ExistsId(DataDefID) { Set GeneratieTypeIt = ##class(TECH.ListIterator).%New(Criteria.GeneratieType) While (GeneratieTypeIt.HasNext()){ - Set GeneratieType = GeneratieTypeIt.Next() - Set DataDef=##class(Prod.Kenmerk.DataDefinitie).%OpenId(DataDefID) - If ((GeneratieType) '= (DataDef.Waarden.GetAt(1))){ + Set GeneratieType = GeneratieTypeIt.Next() + If (GeneratieType '= GeneratieTypeDataDef){ Set Toevoegen = 0 } } @@ -126,8 +125,8 @@ } } } - } - $$$TECHErrorTrapOff + } + $$$TECHErrorTrapOff Quit ProductenLijst ]]>