Mercator permet d'automatiser la récupération des extraits de comptes codifiés avec Isabel Connect. Ainsi, lorsque le comptable débute sa journée, les écritures financières correspondantes sont déjà générées. Il ne reste plus qu'à les vérifier et les corriger le cas échéant. Cette implémentation se fait via l'exécution d'une instance de Mercator en mode console lancée avant le début de journée par le planificateur de tâches de Windows.
Ce code, qui exploite le BankStatementsHelper, doit être placé dans le customizer Main :
public void BankStatements()
{
MercatorUi.Globals.MercatorTasksToMain.Log("Starting BankStatements...");
(string result, int nbre, bool errorsEncountered) r = MercatorUi.Forms.Accounting.AccountingIsaConnect.IsaConnect.Download(true, out string error);
if (error != null)
{
MercatorUi.Globals.MercatorTasksToMain.Log(error, isError: true);
}
else
{
MercatorUi.Globals.MercatorTasksToMain.Log(r.result, isError: r.errorsEncountered);
using (MercatorUi.Forms.Accounting.AccountingClasses.BankStatementsHelper bankStatementsHelper = new MercatorUi.Forms.Accounting.AccountingClasses.BankStatementsHelper())
{
(bool result, int financialsGenerated, string compl_sql, string[] archiveErrors) r2 = bankStatementsHelper.Import(new string[2] { "BE99369104278500", "BE88645191278511" }, "499001", false, true, true, out error, legislat: "BE");
if (!string.IsNullOrEmpty(error))
MercatorUi.Globals.MercatorTasksToMain.Log(error, isError: true);
else
{
MercatorUi.Globals.MercatorTasksToMain.Log("Ecritures financières générées : " + r2.financialsGenerated, isError: !r2.result);
if (r2.archiveErrors?.Any() ?? false)
{
foreach (string archiveError in r2.archiveErrors)
MercatorUi.Globals.MercatorTasksToMain.Log(archiveError, isError: true);
}
}
}
}
}
Dans le fichier ini de cette tâche, il faut spécifier :
UserLogin = un utilisateur qui a accès à Isabel Connect
InitReporting= 1
Task1 = BankStatements
Dans le code, les paramètres passés à bankStatementsHelper.Import sont :
- string[] accounts : les comptes bancaires concernés, au format IBAN (sans BIC)
- string idGenTemp : un compte général temporaire pour les opérations non reconnues. Ce compte ne doit être utilisé que pour cette reconnaissance. Il n'est pas recommandé qu'il soit lettrable puisque, après relecture des extraits importés, ce compte n'affichera plus aucun mouvement.
- bool acceptBalanceMismatch : faut-il poursuivre la procédure si le solde initial du compte ne correspond pas au solde initial du fichier importé ?
- bool updateBankAccounts : réponse à la question "Mettre à jour les comptes bancaires dans les signalétiques ?"
- bool updateFixNames : réponse à la question "Mettre à jour les noms fixes dans les signalétiques ?"