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

Grilles personnalisées dans les signalétiques : afficher des boutons de zoom

0000003094     -      08/03/2023

Dans les grilles personnalisées des signalétiques, la version 10.10 de Mercator rend aisé l'ajout de colonnes de type Bouton, qui permettent d'ouvrir automatiquement :

  • une fiche de signalétique
  • un document de vente ou d'achat de la gestion commerciale
  • un transfert de dépôts ou un inventaire
  • une action du CRM
  • une écriture comptable.

Par exemple, cette requête SQL placée dans le signalétique des articles

select pieds_v.date,lignes_v.q,cli.c_nom as client,pieds_v.id_cli as UserDefinedButtonColumnShowSigCli,pieds_v.journal,cast(pieds_v.piece as bigint) as piece,
'V'+str(pieds_v.type,1)+pieds_v.id+pieds_v.journal+str(pieds_v.piece,10)+lignes_v.dl_id as UserDefinedButtonColumnShowBilling
from PIEDS_V inner join LIGNES_V on (pieds_v.id=lignes_v.id) and (pieds_v.journal=lignes_v.journal) and (pieds_v.piece=lignes_v.piece)
inner join CLI on (pieds_v.id_cli=cli.c_id)
where lignes_v.id_article=@s_id
order by pieds_v.date desc

affiche ces deux colonnes contenant un bouton, permettant respectivement, de montrer la fiche du client et d'ouvrir la vente correspondante.

Les colonnes qui devront afficher un bouton de zoom sont reconnues par Mercator car elles sont de type "caractères" et leur nom commence par UserDefinedButtonColumn. La chaîne de caractères contenue dans ces colonnes doit être construite de façon précise afin que Mercator puisse identifier l'action souhaitée. Les noms de colonnes ne sont pas sensibles à la casse. Si plusieurs boutons du même type doivent être présents dans la grille, il est possible de nommer ces colonnes avec un suffixe au choix : UserDefinedButtonColumnShowSigCli2, UserDefinedButtonColumnShowSigCliABC, ...

La présentation de ces boutons (largeur, icône, texte) peut être modifiée avec les règles de colonnes.

 

Ouvrir une fiche de signalétique

Le nom de la colonne doit être UserDefinedButtonColumnShowSigCli, UserDefinedButtonColumnShowSigFou, UserDefinedButtonColumnShowSigStock, ... en fonction du signalétique souhaité et la chaîne de caractères doit simplement être l'identifiant de la fiche.

Si on souhaite pouvoir ouvrir des fiches de signalétiques de différents types, alors il faut nommer la colonne UserDefinedButtonColumnShowSig et dans ce cas, la chaîne de caractères doit être composée comme suit :

  • sur 10 caractères : le code du signalétique en majuscules CLI, FOU, STOCK, ...
  • l'identifiant de la fiche

Par exemple : 

'CLI       '+pieds_v.id_cli as UserDefinedButtonColumnShowSig

 

Liaison vers un signalétique : voir aussi les exemples sur cette page.

 

Ouvrir un document de vente ou d'achat de la gestion commerciale

Le nom de la colonne doit être UserDefinedButtonColumnShowBilling. La chaîne de caractères doit contenir :

  • V ou A en majuscule
  • Type
  • Id
  • Journal
  • Piece
  • DL_ID (optionnel : si on souhaite mettre en surbrillance une ligne du document)

Par exemple :

'V'+str(pieds_v.type,1)+pieds_v.id+pieds_v.journal+str(pieds_v.piece,10) as UserDefinedButtonColumnShowBilling
'V'+str(pieds_v.type,1)+pieds_v.id+pieds_v.journal+str(pieds_v.piece,10)+lignes_v.dl_id as UserDefinedButtonColumnShowBilling

 

Ouvrir un transfert de dépôts ou un inventaire

Le nom de la colonne doit être UserDefinedButtonColumnShowDiverse. La chaîne de caractères doit contenir ces informations de la table LIGNES_D :

  • Nature : TRANSF_DEP ou INVENT sur 10 caractères
  • Type
  • Id_doc
  • Piece
  • ID  (optionnel : si on souhaite mettre en surbrillance une ligne de l'inventaire ou de transfert de dépôts)

Par exemple :

 lignes_d.nature+str(lignes_d.type,1)+lignes_d.id_doc+str(lignes_d.piece,10) as UserDefinedButtonColumnShowDiverse
 lignes_d.nature+str(lignes_d.type,1)+lignes_d.id_doc+str(lignes_d.piece,10)+lignes_d.id as UserDefinedButtonColumnShowDiverse

 

Ouvrir une action du CRM

Le nom de la colonne doit être UserDefinedButtonColumnShowAction. La chaîne de caractères doit contenir ces informations de la table ACTIONS :

  • ID
  • MODULE : le code du signalétique en majuscules sur 10 caractères ou 10 espaces
  • ID_SIG : l'ID dans ce signalétique

Par exemple :

actions.id+actions.module+actions.id_sig as UserDefinedButtonColumnShowAction

 

Ouvrir une écriture comptable

Le nom de la colonne doit être UserDefinedButtonColumnShowBooking. La chaîne de caractères doit contenir ces informations de la table LIGNES_C :

  • TYPE
  • NUM_EX sur 3 positions
  • JOURNAL
  • PIECE
  • DL_ID (optionnel : si on souhaite mettre en surbrillance une ligne de l'écriture comptable)

Par exemple :

 

str(pieds_c.type,1)+str(pieds_c.num_ex,3)+pieds_c.journal+str(pieds_c.piece,10) as UserDefinedButtonColumnShowBooking
str(pieds_c.type,1)+str(pieds_c.num_ex,3)+pieds_c.journal+str(pieds_c.piece,10)+lignes_c.dl_id as UserDefinedButtonColumnShowBooking

 

 

Exécuter du code custom

Le nom de la colonne doit être UserDefinedButtonColumnCustom. La chaîne de caractères doit contenir le nom de la méthode présente dans le customizer associé. Cette méthode doit accepter deux paramètres :

  • MercatorUi.GridPro.DataGridViewXPro
  • System.Windows.Forms.DataGridViewCellEventArgs

Par exemple :

'MyClickMethod' as UserDefinedButtonColumnCustom

Et dans le customizer, ce code :

Zoom
namespace SigCli
{
    public class Customizer
    {
        public void MyClickMethod(MercatorUi.GridPro.DataGridViewXPro grid, System.Windows.Forms.DataGridViewCellEventArgs e)
        {
            ...
        }
    }
}