TSearchKey (MM)
Introduction
Cette classe gère la description d'une clé de recherche.
Propriétés :
Weight | string | Défini le poids de la clé. |
limits | integer | Défini le nombre d'objets retournés par la clé. |
Title | string | Défini le libellé de la clé de recherche |
AClassName | string | Défini la classe de base de la clé de recherche |
SearchNames | string | Défini la liste des attributs sur lesquels portent la recherche
Ces attributs seront inclus dans le critère de recherche et retournés par la recherche. |
ExtraNames | string | Défini une liste d'attributs supplémentaires qui seront ajouté au résultat de la requêtes
Ces attributs ne seront pas inclus dans le critère de recherche mais retournés par la recherche. |
ExtraColumns | string | Défini une liste de colonnes supplémentaires qui seront ajouté au résultat de la requêtes
Ces colonnes ne seront pas incluses dans le critère de recherche mais retournées par la recherche. |
FormatCaption | string | Défini le format du libellé du résultat de la clé de recherche |
FormatValue | string | Défini le format du détail du résultat de la clé de recherche
Utilisez @propName@ pour substituer une valeur retournée par la recherche |
FormName | string | Défini l'écran(s) associé(s) à la clé de recherche
Pour définir plusieurs écrans en fonction de la classe utilisez "className:formName;className:formName;..." |
FormPropName | string | Défini une colonne contenant le nom de l'écran associé à la clé de recherche |
FormPropOid | string | Défini la colonne contenant l'identifiant principale de la clé de recherche |
OrderBy | string | Défini l'ordre de tri de la clé de recherche |
Filter | string | Défini un terme de filtre supplémentaire ajouté à la requête de la clé de recherche. |
IsPersonalData | string | Défini si la clé porte sur des données personnelles |
AfterCode | string | Défini le code exécuté sur un résultat de recherche |
![]() |
Tip : AfterCode peut être utilisé pour enregistrer des actions associées au résultat de la recherche |
![]() |
Tip : A partir de la version 2024 r1 il est possible d'ajouter des actions simplement en dérivant de la classe TSearchAction |
Exemple:
<source lang="delphi"> //procedure Initialize; var sk:TSearchKey; AStr:string;
function _FormOfClass(const iClass:string):string; begin Result := iClass+':'+TFacadeModel.FindFormOfClass(iClass)+';'; end;
begin
sk := ModelManager.RegisterSearchKey(10,'TRoleTiers', 'Caption,Tiers.code,Tiers.caption,Tiers.noSiren,Tiers.raisonsociale,SitePrivilegie.Adresse.codePostal,SitePrivilegie.Adresse.ville,SitePrivilegie.Adresse.telephone1', _FormOfClass('TClient')+ _FormOfClass('TFournisseur')+ _FormOfClass('TSalarie')+ _FormOfClass('TTiersDivers')+ _FormOfClass('TTransporteur')+ _FormOfClass('TIntraGroupe') ); sk.Limits := 20; sk.ExtraNames := 'SitePrivilegie.Adresse.nomRueVoie,oidTiers'; sk.FormatValue := _TP('@Tiers.noSiren@ @Tiers.code@ @Tiers.RaisonSociale@ @SitePrivilegie.Adresse.nomRueVoie@ @SitePrivilegie.Adresse.codePostal@ @SitePrivilegie.Adresse.ville@ @SitePrivilegie.Adresse.telephone1@'); sk.OrderBy := 'Tiers.code'; // AStr := 'begin ';
if True then begin AStr := AStr+ 'if Values[Tiers.noSiren]=' then' ' begin' ' AddAction(sapRight,satOpenPanel,_TP(Rechercher le siren),search,actionQualifyTiers);'+ ' end' ' else' ' begin' ' AddAction(sapRight,satOpenPanel,_TP(Qualifier le tiers),search,actionQualifyTiers);'+ ' end;' end;
if True then begin AStr := AStr+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les sites),search,actionTiersSites);' end;
if TFacadeModel.hasAccounting() then begin AStr := AStr+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les pièces comptables),search,actionTiersPieces);'+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les soldes par période),search,actionTiersSolds);'; end; if TFacadeModel.hasSales() then begin AStr := AStr+ ' if ClassName=TClient then'+ ' begin '+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les factures de vente),search,actionCustomerInvoices);'+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les commandes de vente),search,actionCustomerOrders);'+ ' end; '; end; if TFacadeModel.hasPurchases() then begin AStr := AStr+ ' if ClassName=TFournisseur then'+ ' begin '+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les factures d'achat),search,actionCustomerInvoices);'+ ' AddAction(sapRight,satOpenPanel,_TP(Voir les commandes d'achat),search,actionSupplierOrders);'+ ' end; '; end; AStr := AStr+' end;'; // sk.AfterCode := AStr;
end; </source>
Voir aussi :
{{#if:Code métier|
{{#if:Code métier|— Code métier |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}