ShareGroupMode (CM)

De Wiki1000
(Différences entre les versions)
 
(3 révisions intermédiaires par 2 utilisateurs sont masquées)
Ligne 1 : Ligne 1 :
 
<source lang='delphi'>property ShareGroupMode:Boolean;</source>
 
<source lang='delphi'>property ShareGroupMode:Boolean;</source>
  
Propriété en '''lecture seule'''.
+
Propriété en '''lecture/écriture'''.
 +
 
 +
{{tip|Cette information est positionable sur une écran (AccessRoles:farAdminfolder) et [[Mode_de_partage_d%27importation_(import)|dans le contexte d'importation (ismAdminMode)]].}}
  
 
Retourne True si l'application est gérée en [[Mode de partage (partage)|mode de partage groupe]].
 
Retourne True si l'application est gérée en [[Mode de partage (partage)|mode de partage groupe]].
  
'''Exemple :'''
+
'''Exemple : Création de société par le code'''
 +
 
 
<source lang='delphi'>
 
<source lang='delphi'>
 +
//Procedure CreateSocieties(const iRoot:string; iCount:Integer);
 +
var site:TSite; inst:TTiersSociete; idx,idp:Integer; pd:TdbfPerimetreDomaine; dm:TdbfDomaineMetier;
 
begin
 
begin
 +
  ClassManager.PushShareContext;
 +
  try
 +
  ClassManager.ShareGroupMode := True;
 +
  WithP Transaction do
 +
  begin
 +
    for idx:=1 to Count do
 +
    begin
 +
 +
    site := TSite.Create;
 +
    site.Code := iRoot+Format('%.4d',[idx]);
 +
    site.Caption := site.Code;
 +
    site.Adresse := TAdresse.Create;
 +
    site.Adresse.Pays := TPays.Find('(CodeISO=%1)','',True,['FRA']);
 +
    //
 +
    inst := TTiersSociete.Create;
 +
    inst.Code := Site.Code;
 +
    inst.Caption := inst.Code;
 +
    inst.raisonSociale := inst.Code;
 +
    inst.sitesList.AddRef(site);
 +
    inst.Devise := TdbfCurrency.Find('CodeISO=%1','',True,['EUR']);
 +
 +
    dm := TdbfDomaineMetier.Find('Code=%1','',True,['DomaineComptaGenerale']); 
 +
    pd := TdbfPerimetreDomaine.Find('(oidPerimetrePartage=%1) and (oidDomaineMetier=%2)','',True,[inst.oidPerimetreSociete,dm.InstanceOID]); 
 +
    pd.PerimetreAutorise := TdbfPerimetrePartage.Find('Caption=%1','',True,['plan gen']);
 +
 +
    dm := TdbfDomaineMetier.Find('Code=%1','',True,['DomaineTiers']); 
 +
    pd := TdbfPerimetreDomaine.Find('(oidPerimetrePartage=%1) and (oidDomaineMetier=%2)','',True,[inst.oidPerimetreSociete,dm.InstanceOID]); 
 +
    pd.PerimetreAutorise := inst.PerimetreSociete;
 +
 +
    dm := TdbfDomaineMetier.Find('Code=%1','',True,['DomaineProduitsTarifs']); 
 +
    pd := TdbfPerimetreDomaine.Find('(oidPerimetrePartage=%1) and (oidDomaineMetier=%2)','',True,[inst.oidPerimetreSociete,dm.InstanceOID]); 
 +
    pd.PerimetreAutorise := inst.PerimetreSociete;
 +
 +
    end;
 +
  end;
 +
  finally
 +
  ClassManager.PopShareContext;
 +
  end;
 
end;
 
end;
 
</source>
 
</source>

Version actuelle en date du 18 octobre 2019 à 15:09

property ShareGroupMode:Boolean;

Propriété en lecture/écriture.

Tip-20px.png Tip : Cette information est positionable sur une écran (AccessRoles:farAdminfolder) et dans le contexte d'importation (ismAdminMode).

Retourne True si l'application est gérée en mode de partage groupe.

Exemple : Création de société par le code

//Procedure CreateSocieties(const iRoot:string; iCount:Integer);
var site:TSite; inst:TTiersSociete; idx,idp:Integer; pd:TdbfPerimetreDomaine; dm:TdbfDomaineMetier;
begin
  ClassManager.PushShareContext;
  try 
  ClassManager.ShareGroupMode := True; 
  WithP Transaction do
   begin
     for idx:=1 to Count do
     begin 
 
     site := TSite.Create;
     site.Code := iRoot+Format('%.4d',[idx]);
     site.Caption := site.Code; 
     site.Adresse := TAdresse.Create;
     site.Adresse.Pays := TPays.Find('(CodeISO=%1)','',True,['FRA']); 
     // 
     inst := TTiersSociete.Create; 
     inst.Code := Site.Code; 
     inst.Caption := inst.Code; 
     inst.raisonSociale := inst.Code;
     inst.sitesList.AddRef(site); 
     inst.Devise := TdbfCurrency.Find('CodeISO=%1','',True,['EUR']); 
 
     dm := TdbfDomaineMetier.Find('Code=%1','',True,['DomaineComptaGenerale']);  
     pd := TdbfPerimetreDomaine.Find('(oidPerimetrePartage=%1) and (oidDomaineMetier=%2)','',True,[inst.oidPerimetreSociete,dm.InstanceOID]);  
     pd.PerimetreAutorise := TdbfPerimetrePartage.Find('Caption=%1','',True,['plan gen']); 
 
     dm := TdbfDomaineMetier.Find('Code=%1','',True,['DomaineTiers']);  
     pd := TdbfPerimetreDomaine.Find('(oidPerimetrePartage=%1) and (oidDomaineMetier=%2)','',True,[inst.oidPerimetreSociete,dm.InstanceOID]);  
     pd.PerimetreAutorise := inst.PerimetreSociete;
 
     dm := TdbfDomaineMetier.Find('Code=%1','',True,['DomaineProduitsTarifs']);  
     pd := TdbfPerimetreDomaine.Find('(oidPerimetrePartage=%1) and (oidDomaineMetier=%2)','',True,[inst.oidPerimetreSociete,dm.InstanceOID]);  
     pd.PerimetreAutorise := inst.PerimetreSociete;
 
     end; 
   end; 
  finally
  ClassManager.PopShareContext; 
  end; 
end;

Gestion du contexte de partage (CM)Développement DSM

Outils personnels