U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Simulatie van automatische klantenleveringen

0000001674     -      16-06-2022

In Mercator 7.2 of later kan men de automatische klantenleveringen in een "simulatie"-modus uitvoeren. Daartoe hoeft u enkel het vakje "Simul." in het eerste dialoogvenster van de functionaliteit "Beheer / Klantenleveringen" aan te vinken. Het proces dat dan start, is volledig gelijk aan het proces dat wordt uitgevoerd bij de effectieve levering aan de klant. Het enige verschil is dat de leveringen niet worden gegenereerd en dat er een rapport wordt opgesteld dat deze leveringen in detail weergeeft.

Dit rapport is OrdersDeliveryAutomaticV.repx. Het wordt automatisch geïnstalleerd na het eerste gebruik en kan vervolgens worden gewijzigd. Het bevat de volgende gegevens :

  • PIEDS_V
  • LIGNES_V
  • CLI

Het is mogelijk om het event SimulationDone van de statische klasse MercatorUi.Forms.Gescom.GescomProcedures.Procedures te gebruiken. Dit event verloopt via een MercatorUi.Forms.Gescom.GescomProcedures.Procedures.SimulationDoneEventArgs, waarvan de eigenschap CancelPrint op true kan worden geplaatst om het proces voor de afdruk van het standaardverslag niet verder te zetten. Zo is het mogelijk om de finalisatie van deze simulatie helemaal te personaliseren door iets anders te doen dan het verslag af te printen. (bijvoorbeeld. export naar Excel)

Voorbeeld van customizer:

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
                MercatorUi.Forms.Gescom.GescomProcedures.Procedures.SimulationDone += new MercatorUi.Forms.Gescom.GescomProcedures.Procedures.SimulationDoneEventHandler(Procedures_SimulationDone);
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
                MercatorUi.Forms.Gescom.GescomProcedures.Procedures.SimulationDone -= new MercatorUi.Forms.Gescom.GescomProcedures.Procedures.SimulationDoneEventHandler(Procedures_SimulationDone);
        }

        private void Procedures_SimulationDone(MercatorUi.Forms.Gescom.GescomProcedures.Procedures.SimulationDoneEventArgs e)
        {
            Dialogs.Stop("Nombre de livraisons g?n?r?es : " + e.ParamsForReport["OrdersDeliveryGeneratedDeliveries"].ToString());
            MercatorUi._Divers.ExportDataTableToFile(e.DsForReport.Tables["LIGNES_V"]); // de lijnentabel naar Excel exporteren
            e.CancelPrint = true; // niet verder gaan met printen
        }
    }
}