Pour installer cette action :
Le fichier reprend les paramètres de l'action suivante : envoyer une facture client par mail si l'adresse mail du client est définie. Dans le cas contraire, la facture est imprimée.
Dans la séquence concernée, sur l'onglet "Evénements", il faut :
- sélectionner "E-mail" dans la zone "Impression"
- sélectionner l'action "Email Facture Client" dans la zone "Action mail".
- cocher "Invisible" afin que le mail soit envoyé sans que la fenêtre correspondant à l'action n'apparaisse (conseillé).
Pour que la facture s'imprime si le client n'a pas d'adresse mail définie, ll faut également compléter le customizer de la séquence avec le code ci-dessous :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.SendingMail += BillingEngine_SendingMail;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.SendingMail -= BillingEngine_SendingMail;
}
void BillingEngine_SendingMail(object sender, MercatorUi.Engine.Gescom.BillingEngine.SendingMailEventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
switch (billingEngine.Type)
{
case 1:
e.Recipients.Clear();
if (billingEngine.CLI["c_email"].ToString().Trim() != "")
e.Recipients.Rows.Add(new object[2] { billingEngine.CLI["c_email"], billingEngine.CLI["c_email"] });
else
e.Recipients.Rows.Add(new object[2] { "no-mail@mail.eu", "no-mail@mail.eu" });
break;
}
}
}
}
Pour une impression entièrement automatique, il faut alors sauver l'imprimante par défaut dans le rapport. De ce fait, Mercator ne demandera pas l'imprimante à utiliser.
Le customizer fourni dans l'action tient compte de la présence du module de gestion des contacts. Si celui-ci n'est pas présent, il y a lieu de le modifier.
A télécharger :
0000002694.zip (20 Kb - 18/12/2023)