« ShareGroupMode (CM) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
Aucun résumé des modifications
 
(3 versions intermédiaires par 2 utilisateurs non affiché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>

Dernière version du 18 octobre 2019 à 14:09

property ShareGroupMode:Boolean;

Propriété en lecture/écriture.

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