Mercator laat toe om via code een actie aan te maken in een ander dossier, dus in een andere database die zich echter op dezelfde SQL-server moet bevinden.
Hiervoor moet men gebruikmaken van de methodesignatures voor het initialiseren van een ActionEngine met de parameter externalDb. In onderstaand voorbeeld is externalDb gelijk aan "MERCATORDEMO".
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"))
Het is noodzakelijk om de toegangsrechten te exporteren via het menu "Tools / Geavanceerde Tools / SQL Database / Toegangsrechten Exporteren" van de Mercator waarin deze code zal worden uitgevoerd. (Dus, niet van de Mercator waarvan de database in externalDb is vermeld).
⚠️ Er moet ook rekening worden gehouden met het beheer van de rechten van de actie. De actie zal immers worden toegewezen aan gebruikers die niet bestaan in de Mercator dat deze code uitvoert. U moet dus
- ofwel de bron van de rechten vastleggen in het actiemodel en "Actie tav" aanvinken vanuit het model,
- ofwel deze rechten via code beheren in de customizer.
⚠️ Als de notatie MercatorDatabase wordt gebruikt in een customizer die aan dit actiemodel is gekoppeld, moet men er rekening mee houden dat de compilatie van de code plaatsvindt in het externe dossier, terwijl de uitvoering van de code gebeurt in het andere dossier. Er is dus sprake van twee verschillende MercatorDatabase.dll-bestanden. Daarom moeten de kolommen van de tabel ACTIONS die in deze notatie worden gebruikt, aanwezig zijn in beide dossiers, of men kan eenvoudig de notatie gebruiken die rechtstreeks naar de DataRow verwijst.