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

Reporting : utilisation des fourchettes

0000000133     -      14/02/2022

Mercator permet l'utilisation de variables "fourchettes" dans les requêtes SQL associées aux documents paramétrables. Ces fourchettes peuvent reprendre un intervalle de dates, de dépôts, d'utilisateurs ou de constantes libres. De même, il est possible de sélectionner une fourchette dans l'arborescence "Rayons/Familles/Sous-familles".


  • Dates : si Mercator détecte les variables @DATE_1 et @DATE_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de dates.
    Exemple :
    select *
        from pieds_v
        where (date>=@DATE_1) and (date<=@DATE_2)

  • Mois : si Mercator détecte les variables @MOIS_1 et @MOIS_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de mois. (mm/aaaa). 

  • Exercices : si Mercator détecte les variables @EXERCICE_1 et @EXERCICE_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle d'exercices.

  • Dépôts
    • par ID : si Mercator détecte les variables @DEPOT_ID1 et @DEPOT_ID2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de dépôts.
      Exemple :
      select *
          from pieds_v
          where (pieds_v.id_depot>=@DEPOT_ID1) and (pieds_v.id_depot<=@DEPOT_ID2)

    • par nom : si Mercator détecte les variables @DEPOT_1 et @DEPOT_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de dépôts.
      Exemple :
      select *
          from pieds_v
              inner join magasins on (magasins.id=pieds_v.id_depot)
          where (magasins.nom>=@DEPOT_1) and (magasins.nom<=@DEPOT_2)

  • Utilisateurs
    • par ID : si Mercator détecte les variables @USER_ID1 et @USER_ID2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle d'utilisateurs. 
      Exemple :
      select *
          from pieds_v
          where (pieds_v.id_user>=@USER_ID1) and (pieds_v.id_user<=@USER_ID2)

    • par nom : si Mercator détecte les variables @USER_1 et @USER_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle d'utilisateurs. 
      Exemple :
      select *
          from pieds_v
              inner join users on (users.id=pieds_v.id_user)
          where (users.nom>=@USER_1) and (users.nom<=@USER_2)

  • Représentants
    • par ID : si Mercator détecte les variables @REP_ID1 et @REP_ID2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de représentant. 
      Exemple :
      select *
          from pieds_v
          where (pieds_v.id_rep>=@REP_ID1) and (pieds_v.id_rep<=@REP_ID2)

    • par nom : si Mercator détecte les variables @REP_1 et @REP_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de représentant. 
      Exemple :
      select *
          from pieds_v
              inner join reps on (reps.id=pieds_v.id_rep)
          where (reps.nom>=@REP_1) and (reps.nom<=@REP_2)

  • Constantes : si Mercator détecte les variables @CONST_1 et @CONST_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de constantes.
    Le message affiché dans la boîte de dialogue d'intervalle doit être encodé dans les propriétés : "Sorties - Textes constantes". Si cette propriété est à blanc, le texte par défaut "Choix constante ?" est affiché.
    Exemple
    :
    select *
        from pieds_v
        where (id_cli>=@CONST_1) and (id_cli<=@CONST_2)

  • Rayons/Familles/Sous-familles : pour activer la sélection de ce type de fourchette, il faut faire intervenir FILTRE_RFS_1 (valeurs uniques) ou FILTRE_RFS_2 (intervalles) dans la clause where ... and ... de la requête SQL.
    Exemple :
    select stock.*,rayons.nom as rayon,familles.nom as famille,ss_famil.nom as ss_fam
        from stock
            left outer join rayons on (rayons.id=stock.s_id_rayon)
            left outer join familles on (familles.id=stock.s_id_famil)
            left outer join ss_famil on (ss_famil.id=stock.s_id_ssfam)
        where FILTRE_RFS_2 and (s_id>'1234')
        order by rayon,famille,ss_fam,s_cle1,s_modele

  • Plans analytiques : si Mercator détecte les variables @PLAN_1, @PLAN_2, @PLAN_3 ou @PLAN4 dans une requête SQL, une boîte de dialogue permettant de sélectionner les plans analytiques correspondants est présentée à l'utilisateur.
    Exemple :
    select *
        from lignes_c_ana
        where num_plan=@PLAN_1

  • Position géographique : @POSITION_1 : information ici

  • Document de vente/achat ouvert : @BILLINGV_IDENT / @BILLINGA_IDENT
    Exemple :
    declare @billing_id char(10), @billing_journal char(5), @billing_piece bigint
    set @billing_id = left(@BILLINGV_IDENT,10)
    set @billing_journal = substring(@BILLINGV_IDENT,11,5)
    set @billing_piece = right(@BILLINGV_IDENT, 10)

  • Voir également les fourchettes propres aux signalétiques.

Mercator permet l'utilisation d'une seule variable d'intervalle (par exemple, uniquement DATE_1 et pas DATE_2). Dans ce cas, la boîte de dialogue ne demandera pas à l'utilisateur les deux bornes d'un intervalle, mais une seule valeur.

Il est possible de combiner au sein d'une même requête plusieurs intervalles de types différents.