Procédure de synchronisation de paquet (MM)

De Wiki1000
(Différences entre les versions)
(Nouvelle page : Après synchronisation du modèle relationnel de l'application le framework exécute une procédure de synchronisation <source lang='delphi'>procedure TRegister<Nom_du_paquet>.Synch...)
 
 
Ligne 1 : Ligne 1 :
Après synchronisation du modèle relationnel de l'application le framework exécute une procédure de synchronisation
+
Après synchronisation du modèle relationnel de l'application, le framework exécute une procédure de synchronisation pour chaque paquet métier.
 +
 
 +
'''Si la base de données est en mode partage (multi sociétés)'''
 +
 
 +
La procédure de synchronisation execute les méthodes de synchronisation de chaque domaine métier :
 +
 
 +
<source lang='delphi'>procedure TRegister<Nom_du_paquet>.Code_du_domaine;</source>
 +
 
 +
'''Si la base de données n'est pas en mode partage'''
 +
 
 +
La procédure de synchronisation exécute la méthode :
  
 
<source lang='delphi'>procedure TRegister<Nom_du_paquet>.Synchronize;</source>
 
<source lang='delphi'>procedure TRegister<Nom_du_paquet>.Synchronize;</source>
  
pour chaque paquet.
 
  
 
{{tip|Le code de ces procédures doit être exécutable plusieurs fois, si vous créez des objets assurez vous avant qu'ils n'existent pas déjà.}}
 
{{tip|Le code de ces procédures doit être exécutable plusieurs fois, si vous créez des objets assurez vous avant qu'ils n'existent pas déjà.}}
Ligne 38 : Ligne 47 :
 
{{Footer|ModelManager_(code)}}
 
{{Footer|ModelManager_(code)}}
 
[[category:ModelManager]]
 
[[category:ModelManager]]
 +
[[category:Initialisation d'une base de données]]

Version actuelle en date du 14 avril 2017 à 08:06

Après synchronisation du modèle relationnel de l'application, le framework exécute une procédure de synchronisation pour chaque paquet métier.

Si la base de données est en mode partage (multi sociétés)

La procédure de synchronisation execute les méthodes de synchronisation de chaque domaine métier :

procedure TRegister<Nom_du_paquet>.Code_du_domaine;

Si la base de données n'est pas en mode partage

La procédure de synchronisation exécute la méthode :

procedure TRegister<Nom_du_paquet>.Synchronize;


Tip-20px.png Tip : Le code de ces procédures doit être exécutable plusieurs fois, si vous créez des objets assurez vous avant qu'ils n'existent pas déjà.

Exemple

procedure TRegisterMyPackage.Synchronize; 
begin
var
  vContexte   :  TContextePoids;
begin
  ClassManager.BeginTran;
  try
    vContexte := ClassManager.FindSingleton('TContextePoids');
    if not Assigned(vContexte) then
    begin
      vContexte := ClassManager.CreateInstance('TContextePoids');
      vContexte.Caption := 'ContextePoids';
    end;
 
    ....
 
    ClassManager.Commit;
  except
    ClassManager.RollBack;
  end;
end;

Voir aussi :

ModelManager_(code)Développement DSM

Outils personnels