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 | + | 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 : 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;