AddWhere (objectlist)
De Wiki1000
(Différences entre les versions)
Ligne 44 : | Ligne 44 : | ||
vlistePeriode.AddWhere('oidExercice=%1','','dateDebut',FALSE,1000,[instanceOid]); | 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; | end; | ||
</source> | </source> | ||
+ | |||
+ | |||
Voir aussi: | Voir aussi: |
Version actuelle en date du 18 août 2009 à 16:12
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: