Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Bundle notification : Ouverture-clôture caisse

0000002795     -      23/07/2020

Ce bundle permet d'envoyer une notification quand la caisse (ou un tiroir-caisse particulier) est ouvert ou clôturé. Lors de la seconde étape, il présente le contenu de ce tiroir-caisse, de façon identique à ce bundle de type liste.

     

Le customizer repris ci-dessous permet d'envoyer la notification lors de validation de l'écran d'ouverture ou de fermeture de caisse.

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

namespace Gescom
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
    {

        public void FormLoadCustomize(Form form)
        {
            if (form is MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm) // on est dans l'écran ouvertures/fermetures de caisse
            {
                MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm gescomCashOpeningClosingForm = (MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm)form;
                gescomCashOpeningClosingForm.AfterValidate += gescomCashOpeningClosingForm_AfterValidate;
                gescomCashOpeningClosingForm.Disposed += GescomCashOpeningClosingForm_Disposed;
            }
        }

        private void GescomCashOpeningClosingForm_Disposed(object sender, EventArgs e)
        {
            MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm gescomCashOpeningClosingForm = (MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm)sender;
            gescomCashOpeningClosingForm.AfterValidate -= gescomCashOpeningClosingForm_AfterValidate;
            gescomCashOpeningClosingForm.Disposed -= GescomCashOpeningClosingForm_Disposed;
        }

        void gescomCashOpeningClosingForm_AfterValidate(object sender, MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm.AfterValidateEventArgs e)
        {
            MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm gescomCashOpeningClosingForm = (MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm)sender;
            
            string msg = "Tiroir n° " + gescomCashOpeningClosingForm.CashDrawer;
            if (gescomCashOpeningClosingForm.Type == MercatorUi.Forms.Gescom.GescomCashOpeningClosingForm.GescomCashOpeningClosingEnum.Opening)
                msg += " ouvert";
            else
                msg += " clôturé";
            msg += " par " + Globals.CurrentUser["nom"].ToString() + ".";

            Dictionary<string, object> dicoParams = new Dictionary<string, object>
            {
                { "@message", msg },
                { "@tiroir", gescomCashOpeningClosingForm.CashDrawer }
            };
            MercatorPenguin.NotificationClient.Send(msg, "03c82b35-4ae6-4db7-b142-5a774d852358", dicoParams);
        }

    }
}

 

Il est nécessaire d'adapter la valeur du paramètre bundleId passé à Send en fonction de celle effectivement existante dans la table PENGUIN_BUNDLES de ce Mercator.


Installation rapide : le fichier Ouverture-clôture caisse.pngb peut être lu via le bouton "Ouvrir" situé dans le bas de l'écran de paramétrage.