AddWhere (objectlist)

De Wiki1000
(Différences entre les versions)
 
(Une révision intermédiaire par un utilisateur est masquée)
Ligne 37 : Ligne 37 :
 
Exemple:
 
Exemple:
 
<source lang='delphi'>
 
<source lang='delphi'>
 +
procedure TExercice.doPeriodes;
 +
var vListePeriode :TPeriodeList;
 
begin
 
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;
 
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.
Info-20px.png 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:

Listes d'objets (tech)Développement DSM

Outils personnels