Gebruik een ander afdrukmodel om een document van het Commercieel Beheer per e-mail te verzenden

0000002890     -      09-04-2020

Met de onderstaande code kunt u het afdrukmodel wijzigen wanneer u een document van het Commercieel Beheer per e-mail verzendt. Dit gebruikt het event PrintPrevPrepared van de BillingEngine. Merk op dat de eventArgs die aan de gedelegeerde is doorgegeven, een hele reeks informatie bevat die wordt doorgegeven aan de rapportgenerator :

  • DataSet : de gegevens van het rapport
  • Parameters : de parameters van het rapport
  • Layout : het printmodel (naam van de repx)
  • OutputDescriptors :de OutputDescriptors die het gedrag bepalen dat door de rapportgenerator zal worden overgenomen (print, export, ...). Let op : deze eigenschap is null bij het bewerken van het rapport in de rapporteditor.
  • PrintMode : Preview, Print, Send, eInvoice of _none

De code is als volgt :

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorExtensions;
using System.ComponentModel;
using System.Linq;


namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.PrintPrevPrepared += BillingEngine_PrintPrevPrepared;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.PrintPrevPrepared -= BillingEngine_PrintPrevPrepared;
        }

        void BillingEngine_PrintPrevPrepared(object sender, MercatorUi.Engine.Gescom.BillingEngine.PrintPrevPreparedEventArgs e)
        {
            if (e.PrintMode == MercatorUi.PrintPrevEnum.Send)
                e.Layout = @"<MainDir\piece_mail.repx";
        }
    }
}