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

Comment permettre l'édition de colonnes supplémentaires dans la grille de disponible sans programmation ?

0000003095     -      09/08/2022

Mercator 10.10 ou ultérieur offre des outils permettant de modifier facilement, et sans programmation, le comportement de certaines grilles. Nous montrons ici comment ajouter une colonne éditable dans la grille de disponible de la fiche "articles" en 3 étapes.

Cette colonne correspondant à un champ STATUT char(10) de la table DISPO.

 

Etape 1 : identifier la requête SQL de cette grille

Il est nécessaire de connaître la requête SQL qui alimente cette grille. Pour cela, il est aisé de se rendre dans "Outils > Editeur de Code" et d'activer l'enregistrement des requêtes modifiables.

Ensuite, il suffit d'ouvrir une fiche "articles" et de se rendre dans l'onglet contenant cette grille pour voir apparaître sa requête dans l'éditeur de code. L'enregistreur de requêtes peut alors être arrêté. La requête contient ceci : 

select magasins.nom,magasins.id,dispo.dispo-dispo.qv_3 as dispo,dispo.dispo as stock,dispo.qv_1,dispo.qv_2,dispo.qv_3,
dispo.qa_1,dispo.qa_2,dispo.qa_3,dispo.stockmin,dispo.stockmax,num_mae into dbo.#dispo_tmp from dispo (NOLOCK) inner join magasins (NOLOCK) on (dispo.id_magasin=magasins.id) where (dispo.id_stock='107MB+    ') 
declare @count int  
select @count=count(*) from dbo.#dispo_tmp 
if @count > 1  
    insert into dbo.#dispo_tmp select 'TOTAL','',sum(dispo),sum(stock),sum(qv_1),sum(qv_2),sum(qv_3),
sum(qa_1),sum(qa_2),sum(qa_3),sum(stockmin),sum(stockmax),9999 from dbo.#dispo_tmp 
select * from dbo.#dispo_tmp order by num_mae 
drop table dbo.#dispo_tmp

 

Etape 2 : modifier la requête

La requête doit être modifiée comme suit :

select magasins.nom,magasins.id,dispo.dispo-dispo.qv_3 as dispo,dispo.dispo as stock,dispo.qv_1,dispo.qv_2,dispo.qv_3,
dispo.qa_1,dispo.qa_2,dispo.qa_3,dispo.stockmin,dispo.stockmax,num_mae,statut into dbo.#dispo_tmp from dispo (NOLOCK) inner join magasins (NOLOCK) on (dispo.id_magasin=magasins.id) where (dispo.id_stock='107MB+    ') 
declare @count int  
select @count=count(*) from dbo.#dispo_tmp 
if @count > 1  
    insert into dbo.#dispo_tmp select 'TOTAL','',sum(dispo),sum(stock),sum(qv_1),sum(qv_2),sum(qv_3),
sum(qa_1),sum(qa_2),sum(qa_3),sum(stockmin),sum(stockmax),9999,'' from dbo.#dispo_tmp 
select * from dbo.#dispo_tmp order by num_mae 
drop table dbo.#dispo_tmp

 

Pour cela, il faut se rendre dans "Outils > Ecrans Signalétiques > Paramétrage > Articles" et sélectionner la grille de type StockDispo. Il faut y éditer la propriété StringUpdater comme suit, afin de mettre en place les modifications décrites au point précédent :

 

Etape 3 : activer l'ajout automatique des colonnes personnalisées 

Afin d'assurer la compatibilité ascendante avec d'éventuels paramétrages préexistants, Mercator doit savoir s'il doit activer l'ajout automatique des colonnes personnalisées sur cette grille. Cela se fait en cochant la case de la propriété AutoAddCustomColumns.

 

Cette fonctionnalité est aussi disponible dans les grilles suivantes :

  • History
  • Leger
  • Actions