Personnaliser la reconnaissance des extraits de compte codifiés (CODA)

0000002323     -      17/11/2020

Il est possible de personnaliser la reconnaissance des extraits de compte codifiés (CODA) via l'évènement statique AfterCodaRecognition de MercatorUi.Forms.Accounting.AccountingBankCodaForm. Cet évènement est levé à la fin de la reconnaissance effectuée par Mercator selon les modes sélectionnés par l'utilisateur. L'eventArgs passé au délégué contient une propriété DataTable DtMouvements qui donne accès à la table de base des extraits de compte.

L'exemple ci-dessous reprend un point de départ pour mettre en place ce type de fonctionnalité. La ligne en commentaire permet de voir la structure de la dataTable DtMouvements.

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.Accounting.AccountingBankCodaForm.AfterCodaRecognition += new MercatorUi.Forms.Accounting.AccountingBankCodaForm.AfterCodaRecognitionEventHandler(AccountingBankCodaForm_AfterCodaRecognition);
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
                MercatorUi.Forms.Accounting.AccountingBankCodaForm.AfterCodaRecognition -= new MercatorUi.Forms.Accounting.AccountingBankCodaForm.AfterCodaRecognitionEventHandler(AccountingBankCodaForm_AfterCodaRecognition);
        }

        void AccountingBankCodaForm_AfterCodaRecognition(MercatorUi.Forms.Accounting.AccountingBankCodaForm.AfterCodaRecognitionEventArgs e)
        {
            //MercatorUi._Divers.ViewData(e.DtMouvements.Copy(), true);
            foreach (DataRow dr in e.DtMouvements.Rows)
            {
                if ((dr["communicall"].ToString() != "") && (dr["cpte"].ToString() == ""))
                {
                    string id_cli = "...";
                    MercatorUi.Forms.Accounting.AccountingBankCodaForm.CodaInsertAccount(MercatorUi.Sig._SigEnum.CLI, id_cli, dr);
                }
            }
        }
    }
}

 

Mercator met aussi à disposition un event BeforeCodaRecognition, qui fonctionne de façon semblable, mais avant la reconnaissance des comptes dans les fichiers CODA.

Exemples