AddWhere (objectlist)
De Wiki1000
function AddWhere(const iWhereSQL: string; const iWhereObject: string; const iOrderBy : string; iDescendants: Boolean; iMaxInstances: Integer; iArgs :Variant):Integer;
Cette fonction ajoute des objets dans la liste vérifiant une expression.
Result | Le nombre d'objets ajoutés. |
iWhereSQL | Expression objet vérifiée par les objets. |
iWhereObject | Expression objet appliquée sur les objets vérifiant la première expression. |
iOrderBy | Ordre de tri. |
iDescendants | Inclure les objets descendants. |
iMaxInstances | Nombre maximum d'objet à ajouter.
-1 indique pas de limitation. |
iArgs | Paramètres des expressions objets. |
Note : iWhereObject n'est pas appliquée en SQL et peut contenir des clauses faisant référence à des attributs non persistant. |
Exemple:
procedure TExercice.doPeriodes; var vListePeriode :TPeriodeList; begin // Liste des périodes d'un exercice ordonnée par date de début de période. vlistePeriode := TPeriodeList.CreateList; vlistePeriode.AddWhere('oidExercice=%1','','dateDebut',FALSE,1000,[instanceOid]); ... end; procedure TMyProcessus.doEcritures; var EcritureList:TEcritureList; idx:Integer; begin // Liste des 1000 premières écritures au débit d'une tranche de compte trié par libellé. // // Utilise un filtre objet pour estDebit qui est un attribut dérivé de la classe TEcriture // EcritureList := ClassManager.CreateObjectList('TEcriture'); EcritureList.AddWhere('(CompteGeneral.Code >= %1) and (CompteGeneral.Code <= %2)','(estDebit = %3)', 'Caption',TRUE,1000, [borne_inferieure,borne_superieure,True]); // for idx :=0 to EcritureList.Count-1 do ProgressMessage(EcritureList.Refs[idx].Caption) end;
Voir aussi: