Paramétrage > Paramètres généraux > Tables de contrôles 

Les tables de contrôle sont un moyen très simple de créer des contrôles de validité paramétrables pour certains champs saisis. Ces tables de contrôle sont utilisées pour définir des contrôles de cohérence sur des données à saisir, et ce notamment :

  • En définition de transactions système.
  • Dans la définition des écrans (fonction de développement, même si par ailleurs l'affectation de contrôles dans un écran reste du paramétrage).
  • Pour ajouter des contrôles sur les paramètres d'un état.
  • Dans la définition des transactions comptables.

De façon plus générale, la fonction d'affectation de tables de contrôle permet d'associer à tout champ d'un écran du progiciel une table de contrôle afin d'ajouter des contrôles complémentaires de cohérence définis par l'utilisateur. Ces contrôles s'ajoutent en plus des contrôles standards faits par ailleurs.

Chaque table est caractérisée par un code alphanumérique de 10 caractères, et par des paramètres de contrôle associés. On peut définir jusqu'à trois contrôles simultanés, qui peuvent être de différents types et sont vérifiés successivement :

  • l'obligation de saisir une valeur si une condition est remplie.
  • l'existence dans une liste de valeurs.
  • l'exclusion d'une liste de valeurs.
  • l'existence dans une table.
  • l'inclusion dans un intervalle.
  • la vérification d'une formule de calcul.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

La saisie de ces tables se fait sur un trois onglets identiques, chacun définissant un contrôle.

En-tête

Présentation

L'en-tête de l'écran définit des conditions globales liées au contrôle, chaque onglet qui suit étant identique et permettant des contrôles successifs (un seul onglet est donc présenté dans la suite de la documentation).

Si un contrôle d'existence dans une table est déclaré dans un des onglets, les conditions des onglets suivants peuvent exploiter le fait que cette table est en ligne. Ainsi, par exemple, si une des tables fait référence à la table TABCUR (d'abréviation TCU) pour vérifier que le champ saisi est un code devise, les contrôles suivants peuvent faire intervenir les champs de la table comme par exemple [TCU]CURRND.

Fermer

 

Champs

Les champs suivants sont présents dans cet onglet :

Bloc numéro 1

Ce code identifie de façon unique la fiche en cours.

  • Intitulé (champ DES)

 

Obligatoire

  • Zone obligatoire (champ OBL)

Cette information indique si la zone est obligatoire ou non. Pour un champ alphanumérique, obligatoire signifie que la zone ne peut être vide. Pour un champ numérique ou de type date, obligatoire signifie qu'une valeur nulle ne peut être saisie.

  • Condition (champ CTLOBL)

Si la case Obligatoire est cochée, il est possible de rajouter une condition supplémentaire. Si la condition est vide ou le résultat de la condition est vrai, la zone est obligatoire. Sinon, une valeur nulle peut être saisie.

Exécution

  • Exécution (champ EXEACT)

Ce champ permet de définir le contexte de l'utilisation de la table de contrôle:

  • Interactive signifie que le contrôle n'est fait qu'en saisie (que ce soit en client-serveur ou en Web)
  • Import/Web service  signifie que ce contrôle est fait uniquement si l'utilisateur n'a pas la main
  • Toujours signifie que le contrôle est fait dans tous les cas.

Fermer

 

Onglet Contrôles 1 et onglets suivants

Présentation

Dans ces onglets, on retrouve des contrôles successifs à réaliser (après l'éventuel contrôle de champ obligatoire) sur le champ contrôlé par la table.

Outre le type de contrôle (qui peut être Aucun si tous les contrôles nécessaires ont déjà été définis dans l'en-tête ou dans des onglets précédents), on retrouve les éléments relatifs au contrôle (liste de valeur, table, intervalles...), ainsi qu'un message d'erreur à afficher si le contrôle n'est pas satisfait.

Fermer

 

Champs

Les champs suivants sont présents dans cet onglet :

Type de contrôle

  • Type contrôle (champ TYPCTL)

Le type de contrôle (qui peut être Aucun si tous les contrôles nécessaires ont déjà été définis dans l'en-tête ou dans des onglets précédents), peut également prendre les valeurs suivantes :

  • valeurs obligatoires : seule une des valeurs définies dans la table de contrôle est autorisée.
  • valeurs interdites : toutes les valeurs sont autorisées, sauf les valeurs listées dans la table de contrôle.
  • borne de valeur : les valeurs autorisées sont définies dans un intervalle.
  • référence à une table : la valeur doit correspondre à une valeur de clé principale dans une table définie par ailleurs.
  • expression : une expression logique doit être vérifiée par la valeur contrôlée.

Ce champ n'est saisi que si le type est Valeur obligatoire.

Dans ce cas, il est possible de lier la liste de choix proposée à un choix précédent sur un autre champ du même écran lui-même contrôlé par une autre table de contrôle dont on donne le code, et qui utilise  dans un de ses contrôles une première liste de choix.

Pour ce faire, on associe, dans le tableau des valeurs qui suit, une valeur contrôlée à une des valeurs de la table de contrôle liée (s'il n'y a pas de valeur saisie dans la colonne des valeurs dépendantes, alors le code saisi peut être utilisé quelle que soit la valeur contrôlée dans la table de dépendance).

Ce mécanisme est analogue aux dépendances définies dans les tables diverses, mais il introduit une contrainte : en effet, ce type de table « dépendante » ne peut pas être utilisée dans la fonction d'affectation des tables de contrôle, mais uniquement en gestion d'écran (en saisissant une valeur dans la colonne Table de contrôle, une fenêtre s'ouvre alors, pour saisir une expression définissant la valeur de contrôle dans le contexte).

Tableau Valeurs

  • Liste de valeurs (champ LSTVAL)

On saisit dans ce tableau la liste exhaustive des valeurs autorisées ou interdites à la saisie, selon que le type du contrôle est Valeurs obligatoires ou Valeurs Interdites. Jusqu'à 30 valeurs peuvent être saisies, avec une valeur de dépendance en regard si la table de contrôle dépend d'une autre table de contrôle.

  • Valeurs dépendantes (champ DEPVAL)

Permet d'indiquer les valeurs correspondant à la table de dépendance.

Paramètres

  • Borne début (champ DEBUT)

Ces champs permettent de définir une valeur minimale et une valeur maximale entre lesquelles les données doivent être comprises, lorsque le contrôle est Borne de valeur. Ces bornes ne peuvent être que des valeurs numériques.

  • Borne fin (champ FIN)

 

Lorsque le contrôle est de type "référence table", le champ contrôlé doit correspondre à une valeur de clé de la table que l'on définit ici. La clé utilisé est celle définie par le premier index de la table (qui doit forcément être défini en une partie).

  • Expression (champ FRM)

Lorsque le contrôle est de type Expression, on définit ici une expression logique qui doit être vraie pour que le contrôle soit considéré comme réalisé. La valeur courante à contrôler est définie par la variable VALEUR. Ainsi, on peut y mettre des expressions diverses, en s'aidant de l'éditeur de formule. Par exemple :

Formule

Explication

dayn(VALEUR)<>3

La date ne doit pas être un mercredi

VALEUR>"ABC" & VALEUR<"EFG"

Bornes entre deux chaînes de caractères

mod(VALEUR,3)=0

Le nombre doit être un multiple de 3

  • Message erreur (champ MSG)

On saisit ici le message d'erreur qui sera affiché si le contrôle n'est pas respecté.

Fermer

 

Boutons spécifiques

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • champ OBJET

 

  • champ CLES

 

Bloc numéro 2

  • Depuis le dossier (champ DOSORG)

Ce champ permet de définir le dossier à partir duquel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

  • Tous dossiers (champ TOUDOS)

Cette option permet de copier la fiche vers tous les dossiers définis dans le dictionnaire (table ADOSSIER de la solution courante).

  • Vers le dossier (champ DOSDES)

Ce champ permet de définir le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Fermer

Ce bouton permet de recopier la définition de la fiche depuis ou vers un autre dossier.

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

Expression incorrecte

Ce message est affiché si une formule de calcul incorrecte (du point de vue syntaxique) a été saisie.

xx ne dépend pas de CTRL

La valeur xx saisie dans le tableau des valeurs dépendantes ne fait pas partie de la liste des choix possibles dans la table de contrôle CTRL qui a été saisie dans le champ Dépendance.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre