%RegisteredObject %ListOfDataTypes AantalDagen:%Integer,FilterGroepenIterator:TECH.Iterator,FilterNiveauIterator:TECH.Iterator,BijkomendeCondities:%ListOfDataTypes %String 0 { Do Conditie.VoegToeSubconditie(##class(TECH.Algo.SQL.QueryEngine.EnkelvoudigeConditie).%New("Datum > '"_$zd($Horolog-AantalDagen,1)_"'")) } If FilterGroepenIterator.HasNext() { Do Conditie.VoegToeSubconditie( ..GeefSubConditieVoorFilter(FilterGroepenIterator,"Groep") ) } If FilterNiveauIterator.HasNext() { Do Conditie.VoegToeSubconditie( ..GeefSubConditieVoorFilter(FilterNiveauIterator,"Niveau") ) } Set BijkomendeConditieIt = ##class(TECH.ListIterator).%New(BijkomendeCondities) While BijkomendeConditieIt.HasNext(){ #dim BijkomendeConditie As %String = BijkomendeConditieIt.Next() #dim VeldNaam As %String = $Piece(BijkomendeConditie,"=",1) #dim Waarde As %String = $Piece(BijkomendeConditie,"=",2) Do Conditie.VoegToeSubconditie(##class(TECH.Algo.SQL.QueryEngine.EnkelvoudigeConditie).%New(VeldNaam_" = '"_Waarde_"'")) Do QueryBuilder.SelecteerVeldVanTabel(VeldNaam,Tabel) } Do QueryBuilder.ZetWhereConditie(Conditie) #dim Veld As %String For Veld="Datum", "Tijd", "Groep", "Niveau", "Actie", "JobID", "Gebruiker", "DetailTrunc As Detail" { Do QueryBuilder.SelecteerVeldVanTabel(Veld,Tabel) } #dim SqlStatement As %String = QueryBuilder.GeefQueryString() _ " ORDER BY Datum DESC, Tijd DESC, SubID DESC" Quit SqlStatement ]]> FilterItemsIterator:TECH.Iterator,SqlField:%String 1 TECH.Algo.SQL.QueryEngine.IWhereConditie