De hier beschreven programmering laat zien hoe u in de CRM-module een actie creëert per code. Daarbij wordt hoofdzakelijk gebruik gemaakt van een ActionEngine-object, dat de abstracte weergave is (los van de gebruikersinterface) van een actie en een hele reeks methodes omvat die het object verheffen tot de status van actiemotor van de CRM-module.
We moeten erop wijzen dat als het gebruikte actiemodel voorzien is van een customizer, deze ook geactiveerd en door de motor in deze code gebruikt zal worden. Ter informatie: wilt u niet dat er een customizercode wordt uitgevoerd terwijl u in de gebruikersinterface bezig bent, dan moet u deze test toevoegen:
if (actionEngine.ActionForm != null )
{
}
De onderstaande code voegt een actie van het type "SMTP-mail verzenden" toe bij de klant met C_ID = "2002".
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
namespace MyNameSpace
{
public class Class1 : MercatorUi.Interfaces.IExec
{
public void Main()
{
using (MercatorUi.Engine.Crm.ActionEngine actionEngine = MercatorUi.Engine.Crm.ActionEngine.InitNew(MercatorUi.Sig._SigEnum.CLI, "2002", ".A-6C412D0")) // te gebruiken informatiebestand, ID van de fiche in dit informatiebestand, ID van het actiemodel in ACTTEMPL
{
if (!string.IsNullOrEmpty(actionEngine.LastError))
{
Dialogs.Stop("Init ActionEngine : " + actionEngine.LastError);
return;
}
actionEngine.ActionsRecord.EMAIL = "info@mercator.eu";
actionEngine.ActionsRecord.OBJET = "Automatisch gegenereerde mailtest";
actionEngine.ActionsRecord.NOTE = "Deze mail werd automatisch gegenereerd met behulp van MercatorUi.Engine.Crm.ActionEngine.";
// Opslag
if (!actionEngine.Save())
{
Dialogs.Stop("Save : " + actionEngine.LastError);
return;
}
Dialogs.Stop(string.Format("De actie {0} is opgeslagen.", actionEngine.ActtemplRecord.LIB_N));
}
}
}
}
Opmerking: deze module werkt enkel als u beschikt over de optie ENGA (Engine op Actions).