Automatisch een actie genereren in de CRM-module per code

0000002090     -      26-08-2017

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:

Zoom
if (actionEngine.ActionForm != null )
{
}

De onderstaande code voegt een actie van het type "SMTP-mail verzenden" toe bij de klant met C_ID = "2002".

Zoom
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).