Créer une action par code dans un autre dossier Mercator

0000003394     -      14/11/2025

Mercator permet de créer une action par code, dans un autre dossier, donc dans une autre base de données qui doit toutefois se trouver sur le même serveur SQL.

Pour cela, il faut utiliser les signatures des méthodes d'initialisation d'un ActionEngine avec le paramètre externalDb. Dans l'exemple ci-dessous, externalDb vaut "MERCATORDEMO".

Zoom
MercatorUi.Engine.Crm.ActionEngine actionEngine = MercatorUi.Engine.Crm.ActionEngine.InitNew(MercatorUi.Sig._SigEnum.CLI, "JEANJEAN", ".A12345678", "MERCATORDEMO");
MercatorUi.Engine.Crm.ActionEngine actionEngine = MercatorUi.Engine.Crm.ActionEngine.InitExisting("N84A8FWQ1B", MercatorUi.Sig._SigEnum.CLI, "JEANJEAN", "MERCATORDEMO"))

 

Il est nécessaire d'exporter les droits d'accès via le menu "Outils / Outils Avancés / Base de données SQL / Exporter droits d'accès" du Mercator dans lequel ce code sera exécuté. (Donc, pas le Mercator dont la base de données est mentionnée dans externalDb).

⚠️ Il faut aussi prendre garde à la gestion des droits de l'action. En effet, l'action va être attribuée à des utilisateurs qui n'existent pas dans le Mercator qui exécute ce code. Il faut donc

  • soit fixer la source de droits dans le modèle d'action et cocher "Action pour" depuis modèle,
  • soit gérer ces droits par code dans le customizer.

⚠️ Si la notation MercatorDatabase est utilisée dans un customizer lié à ce modèle d'action, il faut prendre en compte que la compilation du code aura lieu dans le dossier externe, alors que l'exécution de ce code se passera dans l'autre dossier. On parle donc de deux MercatorDatabase.dll différentes. Il faut donc que les colonnes de la table ACTIONS utilisées dans cette notation soient présentes dans les deux dossiers ou simplement utiliser la notation qui adresse directement la DataRow.



Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)