La gestion des objets est à la base de la plupart des fonctions du progiciel. Un objet correspond à la gestion complète des fiches d'une table ou d'un groupe de tables (création, consultation, modification, annulation le cas échéant...). Par exemple, la gestion des clients, la gestion des factures, la saisie des écritures... sont implémentées dans le progiciel sous la forme d'objets.

Un objet se présente sous l'une des deux formes principales suivantes :

  d'une fenêtre composée d'un en-tête et d'un ou plusieurs onglets situés sur la partie droite, et de listes de sélection situées à gauche ("browser"). Un enregistrement est géré à la fois.

  d'une fenêtre composée d'un écran unique contenant la liste des enregistrements de la table.

Cet objet permet de gérer un enregistrement dans une table (une fiche tiers, par exemple), ou dans plusieurs tables (l'en-tête de commande et les lignes correspondantes).

En plus de la liste gauche principale de l'objet, il est possible d'en définir davantage. Ceci se fait, par la déclaration d'un objet de type browser pour chaque liste gauche supplémentaire.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Présentation

L'en-tête permet d'identifier l'objet.

 

Champs

Les champs suivants sont présents dans cet onglet :

Le code d'un objet est constitué de 1 à 3 caractères alphanumériques. Les mots réservés d'adonix sont interdits.

  • Intitulé (champ ZLIBEL)

 

  • Intitulé court (champ ZLIBSHO)

 

Code de la table principale gérée par l'objet.

 

 

Onglet Général

Champs

Les champs suivants sont présents dans cet onglet :

Général

  • Module (champ MODULE)

Indique le module applicatif auquel est rattaché la fiche (et le code rattaché le cas échéant). Les fiches utilisées par plusieurs modules sont classées dans l'un des modules tronc commun ou superviseur.

Un développement associé au module (et le code correspondant) ne peut être utilisé que si le module est actif dans le dossier courant.

  • Intitulé paramètre (champ ZLIBPAR)

 

S'il est défini, un code activité rattaché à unOBJet permet de rendre celui-ci optionnel.


 
 
  • Zone site (champ ZSITE)

 

  • Zone code d'accès (champ ZACC)

 

Bloc numéro 2

  • Type de gestion (champ TYPGES)

Cette caractéristique définit la manière dont l'objet gère les enregistrements de la table. Les choix possibles sont Simple, En tableau, Combiné.Une quatrième valeur égale à Browser va permettre de créer de façon indépendante, des browsers qu'on intègrera ensuite dans une fenêtre.

  Simple. c'est le type le plus fréquent. Il correspond au cas où on gère dans une fiche un enregistrement de la table principale, une liste d'enregistrements étant affichée dans la liste de gauche. L'écran de gestion des objets obéit lui-même à cette logique (c'est un objet lui-même, son code est AOB), mais on trouvera de nombreux autres exemples : clients, factures, écritures, commandes... sont tous des objets simples.

  Tableau. Cela correspond au cas où la table, suffisamment petite, peut être directement chargée dans les lignes d'un seul tableau affiché à l'écran. Dans ce cas, la liste de gauche n'existe plus (elle n'est plus utile). La gestion de la codification des rubriques est elle-même faite ainsi.

  Combiné. Cela correspond au cas où on charge dans un tableau un ensemble d'enregistrements d'une table, enregistrements dont la clé est faite de N parties (N>1), dont les N-1 parties sont fixes et dont la dernière partie varie. Attention, ce n'est pas le cas pour les factures (qui ont une clé de type clé de pièce / numéro de ligne), car dans ce cas-là, on fait une gestion d'objet simple sur l'en-tête et on gère le chargement des lignes dans le code associé à l'objet. Un exemple d'un tel objet est la gestion des fiches techniques : pour un code de contrôle, on a 1 à N lignes présentées dans un tableau.

  Browser. Ce type permet de définir des listes de gauches que l'on rattachera ensuite à une fenêtre. Les informations à saisir sur ce type d'objet sont réduites aux informations pour la constitution d'une liste de gauche.

Liens

Cette zone définit le code dumenu dans lequel la fonction de gestion de l'OBJet sera présentepour l'utilisateur ADMIN.

  • Rang dans menu (champ RANG)

Indiquez le rang où apparaîtra lafonction dans le menu ci dessus.
Dans un menu les fonctions sont triées dans l'ordre croissant desrangs.

  • Impression (champ RPT1)

Ce code impression définit le ou les états lancés par appui sur le choix de menu Fichier / Imprimer. Il est à noter que les bornes de l'état peuvent être renseignées à partir de la fiche courante : en effet, le choix Fichier / Imprimern'est accessible que si une fiche courante est affichée à l'écran.

Par défaut, lors de l'utilisation de ces boutons, le progiciel tentera d'éditer les états dont les noms sont donnés ici. Mais il existe une table d'indirection qui permet de redéfinir, à partir du code interne donné ici, un ou plusieurs états (par exemple l'impression des bons de préparation et bon de livraison dans l'objet des livraisons).

  • Liste (champ RPT2)

Ce code impression définit le ou les états lancés par appui sur le choix de menu Fichier / Liste. Le choix Fichier / Listeest toujours accessible, et est censé permettre d'imprimer des listes générales liées aux tables en ligne.

Par défaut, lors de l'utilisation de ces boutons, le progiciel tentera d'éditer les états dont les noms sont donnés ici. Mais il existe une table d'indirection qui permet de redéfinir, à partir du code interne donné ici, un ou plusieurs états (par exemple l'impression des bons de préparation et bon de livraison dans l'objet des livraisons).

  • Script standard (champ TRTSTD)

Traitements dans lesquels, il sera possible d'écrire des sous-programmes complémentaire à la gestion d'objet pour cette fonction. Un traitement est réservé au développement standard , le suivant aux verticaux et le dernier aux spécifiques. Aide développement.

  • Script vertical (champ CTLSPV)

 

  • Script spécifique (champ TRTSPE)

Traitements dans lesquels, il sera possible d'écrire des sous-programmes complémentaire à la gestion d'objet pour cette fonction. Un traitement est réservé au développement standard , le suivant aux verticaux et le dernier aux spécifiques. Aide développement.

Options

  • Statistiques (champ STA)

Cette case à cocher permet d'activer le bouton 'Statistiques' dans l'objet. Ce bouton permet d'appeler les interrogations statistiques dont le ou les premiers critères sont définis par des données liées à la table principale ou à des tables liées à l'objet.

  • Suppression différée (champ DELDEF)

Le superviseur autorisera ou pas les suppressions différées sur la table principale ainsi que les tables secondaires gérées par l'objet. Cette possibilité est offerte pour les utilisateurs paramétrés en confirmation de suppression. Lorsque cet utilisateur supprime une fiche de l'objet, une fenêtre de confirmation s'affiche. Et, sur cette fenêtre, l'utilisateur peut cocher la case « suppression différée ». La fiche sera donc toujours présente jusqu'à ce que l'utilitaire de suppression différée soit lancé.

  • Import (champ IMPORT)

 

Cette zone permet d'indiquer que l'OBJet est importable par lafonction import-export.

  • Verrou en modification (champ MLOCK)

Permet de déclencher le lock logique lorsqu'on entre en modification d'un enregistrement, alors qu'en standard, il est positionné dès la visualisation de l'enregistrement. Pour entrer en modification, il faut dans ce cas cliquer sur l'cône représentant un livre bleu situé en bas de l'écran.

 

 

Onglet Sélection

Présentation

On retrouve toutes les informations permettant de construire le liste gauche principale de l'objet ainsi que  la fenêtre de sélection. De plus, on a la possibilité de se définir des options de sélection.

Les options de sélection

Ce tableau permet de définir des filtres de sélection portant sur les enregistrements de la table gérée. Ces filtres, exprimés sous forme de conditions logiques portant sur les champs de la table et d'éventuelles constantes, sont identifiés par une lettre (majuscule pour le standard, minuscule pour le spécifique). Ils sont ensuite positionnés ou pas sur les champs ayant un type de donnée lié à cet objet.

Prenons l'exemple suivant :

Dans la saisie des commandes de vente, on ne veut autoriser que les clients actifs. Pour ce faire, un filtre de sélection est défini dans l'objet Client, avec la condition BPCSTA=2, et l'intitulé « Client actif ». Dans l'écran des commandes SOH0, on a un champ client BPCORD de type de donnée BPC ( type est lié à l'objet BPC). Sur le menu contextuel du type de donnée BPC, le menu « Options » permet de positionner ou pas chacun des filtres déclarés dans l'objet des clients.

Définition des écrans de sélection
(liste gauche, fenêtre de sélection et de sélection avancée)

La liste des colonnes devant apparaître dans la liste de gauche est saisie dans le tableau du bas du 2ème onglet. Ces colonnes peuvent être des champs de la table principale ou d'une table secondaire identifiée dans le 3ème onglet si l'expression de lien est renseignée. Elles peuvent être aussi une expression ; dans ce cas, on précisera le type de donnée pour stocker le résultat de l'expression.

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Options de sélection

  • Intitulé option (champ ZOPTLIB)

 

  • Code (champ OPTCOD)

Ce tableau permet de définir des options de gestion de l'objet. Une option permet de caractériser des sous ensembles de fiches identifiés par une condition (clients actifs, comptes lettrables, ...).

Une option est définie par:

  • Une lettre clé
  • Un intitulé
  • Une condition logique
  • Un message d'erreur à afficher si l'objet ne répond pas à l'option.
  • Condition option (champ OPTCND)

 

  • Message erreur (champ ZOPTERR)

 

Ecran de sélection

  • Index (champ SELCLE)

Cette zone permet de définir un index de parcours du fichier principal pour l'affichage dans la liste de gauche et des fenêtres de sélection. Si la zone est vide, c'est le premier index de la table qui est utilisé.

  • Sens (champ SELORD)

Cette zone permet de définir un sens de parcours de la table principale pour l'affichage dans la liste de gauche et les fenêtres de sélection de l'objet.

  • Options de sélection (champ SELOPT)

Cette zone permet de préciser uneou plusieurs options pour les fiches présentes dans la fenêtre desélection.

  • Liste hiérarchisée (champ SELTREE)

Lorsque la clé de parcours choisie pour la liste gauche est composée de plusieurs parties, la liste se fait alors en présentant d'abord uniquement la première partie de la clé. En double-cliquant sur l'une des valeurs de clés, on explore les sous-valeurs de clé, et ce sur le nombre de niveaux de sous-clés existant. Lorsque tous les niveaux de clés sont explorés, on peut sélectionner un enregistrement de la table.

Un exemple de ce fonctionnement peut être constaté sur l'objet de gestion des sites : chaque site étant rattaché à une société, on visualise d'abord la liste des sociétés, et on a ensuite la possibilité de déplier une société en double-cliquant dessus : on voit alors la liste des sites de la société, et on peut en sélectionner un.

si la case n'est pas cochée, il s'agit d'une liste simple.

  • Nb caractères (champ SELCAR)

Tout champ d'un écran dont le type est lié à un objet dispose d'une fenêtre de sélection accessible par clic droit ou par .

Cette valeur permet de définir le nombre de caractères utilisés pour préciser où doit commencer la sélection, en fonction de ce qui a été saisi dans la zone avant la sélection. Si cette valeur vaut N, la sélection débute à partir de la première clé dont les N premiers caractères sont supérieurs ou égaux à la chaîne saisie. Ainsi :

  • Si on paramètre la valeur 2, et si on tape la chaîne DEF avant d'ouvrir la sélection, la fenêtre de sélection va commencer la recherche à partir de la première valeur de clé supérieure ou égale à DE (s'il existe des clés commençant par DEA, ce sont elles qui apparaîtront en premier dans le fenêtre). Si on avait tapé H, la sélection aurait commencé à la première clé supérieure ou égale à H.
  • Si l'on donne à cette zone la valeur 0, et que l'on tape la chaine UVW avant d'ouvrir la sélection, la sélection commence à A et n'est pas limitée.

Tableau numéro 2

On saisit ici la table dans laquelle se trouve le champ à afficher.Cette table est soit la table principale, soit l'une des tables définies comme liée à la table principale dans la définition de l'objet.

Cette zone peut être vide si on affiche une expression calculée.

  • Zone (champ SELZON)

On saisit ici les champs présents dans la liste gauche. Ils sont issus de la table définie précédemment.

  • Expression (champ SELEXP)

Lorsqu' une colonne de la liste gauche est évaluée, on définit ici l'expression calculée dont le résultat remplit la colonne. Un type de données est alors nécessaire pour permettre le formatage du champ.

  • Intitulé (champ ZSELINT)

 

Ce type de données est utilisé pour formater l'expression précédente dans la liste gauche.

  • Options (champ SELSAI)

Cette information permet de formatter les données par le choix d'option. Les options dépendent du type de données (utiliser la fenêtre de recherche).

  • Longueur (champ SELLNG)

Possibilité d'indiquer une longueur à une colonne alphanumérique construite par une expression. Si non renseignée, la longueur de 30 caractères est prise par défaut.

 

Onglet Environnement

Présentation

Permet de définir, un ensemble de tables nécessaires à l'exécution de la fonction, le lien tables écrans pour la gestion de l'import, les écrans complémentaires accessibles par bouton ou menu pour les web services.

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau numéro 1

Tables supplémentaires à la table de base gérée par l'objet. Ces tables sont ouvertes puis fermées automatiquement à l'exécution de l'objet, sous l'abréviation indiquée ou sinon sous l'abréviation du dictionnaire. Les champs de ces tables sont accessibles dans l'objet.

De plus, les champs de ces tables sont utilisables pour définir une colonne de liste gauche et des écrans de sélection à partir du moment où l'expression de lien est renseignée. Il est possible de définir des liens hiérarchisés, à la condition de renseigner ces tables, dans le tableau, dans l'ordre de la hiérarchie.

La clé de lien doit être sans homonyme. Si elle est non renseignée, le superviseur prend la clé primaire.

  • Index (champ TABCLE)

 

  • Expression de lien (champ TABLIEN)

 

  • Abrév (champ TABABR)

 

 

Tableau Import

Pour l'import, on précise toutes les tables qui seront mises à jour. Puis, pour chaque table, on précise le ou les écrans qui la gèrent. Et enfin,  pour chacun bloc tableau, on indique la variable de bas de tableau lorsque ces informations sont pour alimenter une table détail. 

 

  • Tableau (champ IMPTAB)

 

Tableau Ecrans complémentaires

Pour les WEB services, on indique les écrans supplémentaires utilisés dans la gestion de l'objet, depuis un bouton bas d'écran ou un menu.

 

  • Abréviations (champ SCRABR)

 

 

Icône Actions

Ajout liens ATEXTRA

Ce bouton permet de créer automatiquement les liens nécessaires vers la tables des textes traduits ATEXTRA.

 

 

Onglet Vues

Présentation

Permet de définir, un ensemble de vues nécessaires à l'exécution de la fonction. Ces vues seront ouvertes et fermées dans le traitement généré lié à l'objet WOobjet.

 

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau

Ces vues sont ouvertes puis fermées automatiquement à l'exécution de l'objet, sous l'abréviation indiquée ou sinon sous l'abréviation du dictionnaire. Les champs de ces vues sont accessibles dans l'objet.

  • Abrév (champ VUEABR)

 

 

 

Etats

Par défaut, les états suivants sont associés à la fonction :

 PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

La validation permet de générer le traitement automatique lié à l'objet ( WOxxx, ou xxx est le code objet )

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)

Indiquez 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)

Indiquez le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Ce bouton permet de recopier la définition de l'objet vers un autre dossier. Attention, il faudra valider l'objet dans le dossier de destination.

Menu d'actions

Infos / Traitements verticaux

Messages d'erreur

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

Il faut une table liée pour ce type d'objet

La table liée est obligatoire pour les objets sauf pour les browsers.

Champs de sélection incompatibles avec l'index

Sur une liste hiérarchisée ( simple ou picking ), le nombre d'éléments déclarés pour la liste de gauche doit être supérieur ou égal au nombre d'éléments de l'index utilisé.

Zone inexistante

Si la zone « site » est renseignée, la valeur saisie est un nom de champ qui doit exister dans la table principale.

«  caractère interdit

Pour des raisons techniques, le caractère ' « ' est interdit dans tous les champs de texte : l'intitulé de l'objet, l'intitulé paramètre, l'intitulé des options, l'expression de condition, le message d'erreur, l'expression de lien.

Expression incorrecte  message

L'expression saisie ne respecte pas la syntaxe X3. Un message explicatif détaille l'erreur.

X : Option incorrecte

On tente de saisir une option de sélection, qui n'existe pas dans le tableau des options de sélection.

Table non définie

La table doit être déclarée dans la liste des tables à ouvrir de l'onglet « Environnement ».

Lien incorrect

La table doit être déclarée dans la liste des tables à ouvrir de l'onglet « Environnement » et avoir une expression de lien correcte.

Zone inexistante

Le champ doit existé dans la table saisie dans le champ précédent.

Zone correspondant à un texte traduisible, utiliser un lien

Le champ saisi est de type « AXX ». Cela signifie qu'il n'existe pas dans la base mais permet juste le lien vers la table des textes ATEXTRA.

Type de donnée incorrect

Le champ saisi est d'un type de donnée qui ne l'autorise pas à être dans la liste de gauche : Type « AXX », Clob ou Blob.

Objet déclaré dans le modèle import

On tente d'enlever le flag « import » alors que des modèles d'import existe déjà.

Abréviation déjà existante ...

L'abréviation d'une table ou d'une vue doit être unique sur l'ensemble des tables et des vues définies sur l'objet.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre