Développement de modèle de processus métiers (FAQ)

De Wiki1000

Sommaire

Comment ajouter un modèle de processus métiers

Un modèle de processus métier est une structure json enregistrée dans la class AutomationManager.

La solution préconisée pour ajouter un modèle de processus est d'utiliser la méthode Initialize de la classe TRegisterXXX d'un paquet métier.

  • Créez un paquet métier
  • Ajoutez une classe TRegister<Nom du paquet métier>
  • Ajoutez une méthode Initialize
  • Dans la méthode Initialize enregistrez le modèle de processus
  • Pour la définition du modèle s'inspirez d'un modèle existant.
//procedure TRegisterMyPackage;
 
 procedure _RegisterTemplateGenerationMyProcess;
 begin
   AutomationManager.RegisterTemplate(RegClass.Domain,
    '{'
      structure json définissant le processus
    '}'
   ); 
 end; 
 
begin
  _RegisterTemplateMyProcess;
end;

Comment ajouter un modèle de mail

Les modèles de mail sont liés à une classe métier

Pour ajouter un modèle de mail :

  • En tant qu'administrateur, dans le menu Administration
Menu Personnalisation / Gestion des modèles de mail

Comment définir les attributs signifiants d'une classe

Les attributs signifiants d'une classe, quand ils sont définis, permettent :

de définir les attributs contenant les adresses mail des destinataires
d'alimenter les champs paramètres proposés dans l'éditeur de mail.

Pour définir ces attributs il faut ajouter une méthode de classe GetMailProperties qui retourne une structure json.

Cette méthode peut être ajouter dans une extension de la classe.

Exemple : Voir TRelance

//class function GetMailProperties:TJson;
begin
  Result := TJson.Create('{emails:[],props:[],templates:[]}');
  //  
  Result.emails.AddStruct('{title:"Adresse du tiers facturé", name:"emailTiersFacture", value:"roleTiers.sitePrivilegie.interlocuteurPrivilegie.email"}'); 
  Result.emails.AddStruct('{title:"Adresse du tiers payeurs", name:"emailTiersPayeur", value:"roleTiers.roleTiersPayeur.sitePrivilegie.interlocuteurPrivilegie.email"}');
  // 
  Result.props.AddStruct('{title:"Raison sociale du tiers facturé", name:"raisonSocialeTiersFacture", value:"roleTiers.tiers.raisonSociale"}'); 
  Result.props.AddStruct('{title:"Interlocuteur du tiers facturé", name:"interlocuteurTiersFacture", value:"roleTiers.sitePrivilegie.interlocuteurPrivilegie.nomPrenom"}'); 
  Result.props.AddStruct('{title:"Adresse principale du tiers facturé", name:"adresseTiersFacture", value:"roleTiers.sitePrivilegie.Adresse.adresseNormalisee"}'); 
 
  Result.props.AddStruct('{title:"Raison sociale du tiers payeur", name:"raisonSocialeTiersPayeur", value:"roleTiers.roleTiersPayeur.tiers.raisonSociale"}'); 
  Result.props.AddStruct('{title:"Interlocuteur du tiers payeur", name:"interlocuteurTiersPayeur", value:"roleTiers.roleTiersPayeur.sitePrivilegie.interlocuteurPrivilegie.nomPrenom"}'); 
  Result.props.AddStruct('{title:"Adresse principale du tiers payeur", name:"adresseTiersPayeur", value:"roleTiers.roleTiersPayeur.sitePrivilegie.Adresse.adresseNormalisee"}'); 
 
  Result.props.AddStruct('{title:"Date de relance", name:"date", value:"dateRelance"}'); 
  Result.props.AddStruct('{title:"Solde de relance", name:"solde", value:"solde"}');
  Result.props.AddStruct('{title:"Devise de relance", name:"devise", value:"devise.codeISO"}');
  Result.props.AddStruct('{title:"Numéro d''édition", name:"numeroEdition", value:"numeroEdition"}'); 
  Result.props.AddStruct('{title:"Numéro de relance", name:"numeroRelance", value:"numeroRelance"}'); 
  Result.props.AddStruct('{title:"Liste des échéances", name:"echeanceList", value:"detailEcheances"}'); 
end;
Outils personnels