Skip to main content
Skip table of contents

Créer une AME


Comment créer une AME ? 🧐

Ici, par exemple, on veut créer une AME qui permet de modifier un article.

  • On peut créer une AME depuis le Studio, Listes Standard :

image-20240823-091722.png
  • On vient ensuite renseigner les champs de la définition de l’AME:

image-20240823-091844.png
  • On remplit la référence et la désignation de manière explicite…

  • Application: référence de l’entité DIAPASON sur laquelle je veux faire porter mon application

  • Contexte App.: Définit le contexte applicatif qui sera nécessaire au lancement de l’AME. En fonction de certains contextes il pourra être nécessaire d’initialiser et/ou de récupérer certaines variables SCR.

Comment connaître l'application et le contexte applicatif ?

Pour connaître l’application standard à la base de l’AME à créer, il faut repérer celle-ci dans DIAPASON. Une fois l’application trouvée, il suffit d’afficher le menu contextuel principal de la liste (le coin supérieur à gauche pour les listes multiples, un des titres de colonnes pour les listes simples), menu « Chargement », action « Propriétés ».

image-20240722-143619.png

La référence de l’application figure sur la fenêtre « Propriétés de la Condition», dans l’onglet « Avancé »:

image-20240722-143645.png

Je récupère aussi la référence contexte:

image-20240823-092842.png

Et on peut donc venir les renseigner sur l’AME :

image-20240722-144237.png
  • Libellé Court: Définit un libellé sur l’AME, qui sera affiché dans l’application qui appellera cette AME (sur la barre de commandes).

  • Icône: Définit une icône qui sera affichée dans le panneau l’application lancée.

  • Icône Défaut: Icône défaut de l’AME (icône du contexte applicatif ou de l’application ou du domaine).

  • Titre Application: Définit le titre du panneau de l’application lancée.

  • Mot Directeur: Mot Directeur.

  • Domaine: Domaine de classement.

  • Famille: Famille de classement. Disponible depuis « Paramètres Toute Société / Famille Domaine ».

  • Sous-famille: Sous-famille de classement. Disponible depuis « Paramètres Toute Société / Sous-Famille Domaine ».

  • Commentaire: Permet d’ajouter un commentaire sur l’AME.

image-20240823-093318.png
  • Mode Dém: comment l’AME interagit avec l’application père ?

On a le choix entre:
  • Visualisation: Application de type couplage (GFG, GFD) ou liste en consultation uniquement : par exemple la gestion des clients sans les actions de création, modification, suppression et les autres actions « de gestion ».

  • Gestion Libre: Application « normale » ; l’application père est accessible.

  • Gestion avec Blocage: Application « normale » ; l’application père est bloquée : il n’est plus possible de cliquer dessus.

  • Consultation Fiche: Lancement d’une fiche seule en consultation : par exemple une fiche client.

  • Création Fiche: Lancement d’une fiche seule en création.

  • Duplication Fiche: Lancement d’une fiche seule en duplication.

  • Modification Fiche: Lancement d’une fiche seule en modification.

Pour les modes consultation, création, duplication et modification fiche, il est obligatoire d’initialiser dans la règle REB de démarrage la SCR.IAP_IdeObj avec l’identifiant de l’enregistrement souhaité dans la fiche.

  • Typ. Ctx. App.: on vient indiquer ici ce que l’AME reçoit du père-pour une application père qui n’est pas paramétrée par DIALOG (application type GFG ou GFD ou liste, Liste Applicative, AME).

    • Pas de relation: Réception uniquement de la table et l’identifiant de l’application père (respectivement SCR.IAP_TabPere et SCR.IAP_IdePere).

    • Identifiant: Réception de toutes les variables commençant par IAP_ ; voir ci-dessous.

    • Identifiant et variables contextuelles: Identifiant (variables commençant par IAP_ ; voir ci-dessous) et les variables contextuelles de l’application père : par exemple SCR.CdeNumCom pour les commandes commerciales.

    • Identifiant et liste de sélection: Identifiant (variables commençant par IAP_ ; voir ci-dessous) et liste WfEAPPerSel contenant les sélections effectuées dans la liste de l’application père.

    • Identifiant et variables contextuelles et liste de sélection: Identifiant (variables commençant par IAP_ ; voir ci-dessous), les variables contextuelles de l’application père (type SCR), et la liste WfEAPPerSel contenant les sélections effectuées dans la liste de l’application père.

Le fait de limiter la communication entre une application et l’AME qui démarre réduit le transit réseau et est donc plus optimisée.

  • Typ. Ctx. DIALOG: on vient indiquer ici ce que l’AME reçoit du père-pour une application père qui est une application avec contexte DIALOG (Tableur Dynamique, Liste sur Entités, Liste Paramétrée).

    • Pas de relation: L’AME qui démarre ne connaît rien de l’application père.

    • Variables utiles: Réception des variables nécessaires au démarrage de l’AME si connues dans l’application père. Par exemple, si l’AME qui démarre a besoin de la variable SCR.GesUtiRef et qu’elle est connue dans l’application père celle-ci est transmise.

    • Toutes les variables: Toutes les variables SCR, VCR et VBP connues dans l’application père.

    • Toutes les variables et tableur père éventuel: Toutes les variables SCR, VCR et VBP connues dans l’application père, et si l’application père est un tableur visibilité de la liste WfTabValPere.

Le fait de limiter la communication entre une application et l’AME qui démarre réduit le transit réseau et est donc plus optimisée.

  • Règle Dém. on renseigne ici une REB

Dans notre exemple on veut récupérer l’article sur lequel on est positionné pour le modifier dans l’AME, on doit créer une liste avec l'ID de cet article à afficher :

image-20240722-150800.png
Contexte de cette requête

En entrée :

SCR.IAP_AppCtxObj  : référence contexte de l'application courante

SCR.IAP_AppCtxPere : référence contexte de l'application père

SCR.IAP_AppObj       : référence application courante

SCR.IAP_AppPere      : référence application père

SCR.IAP_IdePere        : identifiant de l'enregistrement de l'application père

SCR.IAP_RefObj        : référence objet courant

SCR.IAP_RefPere       : référence objet père

SCR.IAP_TabPere       : table de l'application père

SCR.IAP_TypePere     : type de l'application père (EXP, APP, AME, TDY)

Liste WfEAPPerSel : sélections effectuées sur l'application père.

Liste WfTabValPere : si l'application père est un tableur dynamique, ensemble des lignes de celui-ci.

Variables contextuelles : si le père est de type « DIALOG », les variables SCR et VCR et VBP sont connues au moment du lancement (sauf les SCR.RCT_ et les SCR.RTD_). Pour les applications, une variable « SCR.CRICle » ou équivalent est personnalisée.

Variables de l'AME (paramétrage type « critères »).

En sortie :

Liste WfEAPSorSel : enregistrements à afficher dans l'application lancée. A coupler avec la variable SCR.IAP_LisFil.

SCR.IAP_IdeObj : identifiant de l'enregistrement sur lequel sera positionnée l'AME.

Variables SCR nécessaires au contexte de l’AME

LC-ERREUR, LC-WARNING

  • Cond. Défaut: Définit la condition initiale de l’AME, correspondant aux filtres complexes de l’application.

  • Filtre / Liste ? Indique par défaut si l’application est filtrée par rapport à la liste DIALOG WfEAPSorSel. Correspond à la variable SCR.IAP_LisFil.

  • Filtre / LEN ?: Indique si l’application est filtrée par rapport à la LEN (Liste Sur Entité) désignée dans les zones suivantes.

  • Entité Liée: Information uniquement affichée qui détermine l’entité sur laquelle on peut filtrer l’application.

  • Liste sur Entité: Référence de la LEN à utiliser pour filtrer l’application.

  • Statut LEN: Si la LEN renseignée au-dessus gère les statuts, il faut obligatoirement renseigner le statut souhaité pour le filtre.

Comment constituer les conditions ?

Résumé de la condition de la liste en fonction de sa définition sur l’onglet « Démarrage » :

Condition Standard (liée au contexte) et Filtre et Tri complexe et Liste DIALOG

ou Liste sur Entité

  • Condition d’origine de la liste

Cette condition est dépendante du contexte applicatif choisi, et est immuable. Exemple : les articles standard.

  • Condition avec Filtre&Tri complexe

Cette condition comprend celle du contexte applicatif choisi, plus un filtre&tri appliqué. Exemple : les articles standard gérés en stock.

  • Condition avec liste sur entité

Cette condition comprend celle du contexte applicatif choisi, plus un filtre sur le contenu d’une liste sur entité.

Exemple : les articles standard disponibles créés ou modifiés depuis 2005.

  • Condition avec liste sur entité et Filtre&Tri complexe

Cette condition comprend celle du contexte applicatif choisi, un filtre&tri appliqué, plus un filtre sur le contenu d’une liste sur entité.

Exemple : les articles standard gérés en stock, disponibles, créés ou modifiés depuis 2005.

  • Condition donnée par liste DIALOG

Cette condition comprend celle du contexte applicatif choisi, plus un filtre sur le contenu d’une liste DIALOG (WfEAPSorSel) issue de la règle de démarrage.

Exemple : les articles standard modifiés dans le mois.

Règle DIALOG donnant cette condition :

  • Condition donnée par liste DIALOG et Filtre&Tri complexe

Cette condition comprend celle du contexte applicatif choisi, plus un filtre sur le contenu d’une liste DIALOG (WfEAPSorSel) issue de la règle de démarrage, plus un filtre&tri complexe.

Exemple : les articles standard gérés en stock modifiés dans le mois.

  • Critères Défaut: Permet de pré initialiser les variables SCR utilisées :

    • Variables du contexte de l'application.

    • Variables saisies du critère de la condition complémentère initiale.

    • Variables critères de la requête REB éventuellement définie.

  • Détail: Résumé des variables SCR initialisées avec leur valeur.

image-20240823-125349.png
  • Exe. Règ. Reinit.: Indique si coché que lors de chaque réaffichage de l’application la règle de démarrage sera exécutée de nouveau. Peut être nécessaire si la condition de la liste est liée à la liste WfEAPSorSel (pour la reconstruire).

  • Freq. Act. (sec): Fréquence d’actualisation de la liste paramétrée. Valeur exprimée en secondes. Si définie, le contenu de la liste paramétrée se réactualisera toutes les n secondes (n étant la valeur donnée). La fréquence ne peut pas être inférieure à 10 secondes, et la valeur 0 signifie que l'objet n'est jamais actualisé automatiquement.

image-20240823-093903.png
  • Prés. Dém: Présentation qu’on affecte à cette AME avec les champs qu’on veut pouvoir modifier. La liste des présentations proposées par l’aide correspond à celle des présentations de l’application rattachée.

  • Sél. Prés ? Autorise ou non la possibilité de changer la présentation de l’AME.

  • Liste Prés. Liste des présentations qui seront disponibles depuis l’AME. Si cette liste est vide, toutes les présentations seront disponibles.

  • Détail Prés.: Affiche un récapitulatif des présentations qui seront disponibles.

  • Icône: Associe une icône à l’AME, qui sera affichée dans le panneau où sera lancée l’AME.

  • Chargement: Définit le mode de chargement de la liste au démarrage de l’AME.

  • Style Liste: En mode évolué, ce paramètre permet de colorer les lignes paires de la liste, de la couleur définie dans « Paramètre style ».

  • Paramètre Style: Définit la couleur des lignes paires d’une liste en mode évolué.

image-20240823-125424.png

  • Act. Std. ? Si non coché, l’AME n’aura aucune action standard. Si coché, permet d’avoir toutes les actions standard sur l’AME, ou uniquement celles définies dans « Lis. Act. Std. ».

  • Lis. Act. Std.: Permet d’effectuer une sélection parmi les actions standard. La valeur vide signifie « toutes les actions standard ». Cette information n’a pas d’effet si « Act. Std. ? » n’est pas coché.

  • Lis. Act. Mét.: Permet d’effectuer une sélection parmi les actions métiers afin qu’elles apparaissent sur l’AME.

  • Lis. Act. Ong. Permet d’effectuer une sélection parmi toutes les actions standards et métiers pour définir celles qui vont apparaître sous forme d’action onglet.

  • Grp. Barre Cmd.: Permet d’effectuer une sélection parmi tous les groupes d’action, standards et spécifiques, la liste et l’ordre des groupes qui seront affichés.

  • Détail Actions: Affiche un récapitulatif des actions standard, métiers et onglets sélectionnés pour l’AME.

  • Sél. Cond ?: Indique si l’utilisateur aura accès aux filtres et tris de l’application (conditions complexes).

  • Liste Cond. Liste des conditions complexes autorisées. Si l’utilisateur a accès aux conditions filtres&tris complexes (flag ci-dessus coché) et qu’aucune condition n’est choisie, toutes seront disponibles.

  • Détail Cond.: Résumé des conditions complexes autorisées.

  • Sél. AMG ?: Indique si l’utilisateur aura accès aux Actions de modification globale.

  • Liste AMG.: Liste des actions de modification globale autorisées. Si l’utilisateur a accès aux actions de modification globale (flag ci-dessus coché) et qu’aucune action de modification globale n’est choisie, toutes seront disponibles.

  • Détail AMG: Résumé des actions de modification globale autorisées.

  • On valide et on teste !

Exemples d’AME

Liaison simple (article unités de mesure) : aucune donnée nécessaire au démarrage de l’application.

Cet exemple présente la création d’une AME sans échange de contexte entre l’application d’où elle est appelée (le père) et l’AME (application fille). Cet exemple sera déroulé sur l’application « Unités de mesure et devises ».

Cet onglet va permettre de choisir la référence application repérée précédemment : « FCUND ». Cette application a deux contextes « Unités de mesures » ou « Devises ».

« Mode Dém. » a pour valeur « Mode gestion libre », afin de pouvoir créer, modifier, dupliquer des unités de mesure depuis l’AME (gestion) sans bloquer l’application appelante (libre).

« Typ. Ctx. App. » a pour valeur « Pas de relation », car on n’a pas besoin de données de l’application père pour démarrer cette AME, il vaut mieux donc choisir de ne pas les recevoir (optimisation).

Remarque : la valeur de « Typ. Ctx. DIALOG » n’a pas d’importance tant que l’AME n’est pas lancée depuis une application père gérée par DIALOG (Tableurs, listes paramétrées, sur entités...).

On coche le champ « Act. Std. ?» pour que notre AME ait toutes les actions standard disponibles. Dans l’exemple il n’y a pas d’ajout d’actions métier ni de spécifications d’actions onglet par défaut.

En cochant « Sél Cond ? » et en ne spécifiant pas de conditions dans le champ « Liste Cond. », l’AME aura tous les filtres et tris qui ont été définis sur l’application standard

Liaison par variables contextuelles (Article Stock prévisionnel) : L’application fille nécessite la variable SCR.GenRefArt, dont elle hérite directement de l’application père Articles.

Cet exemple présente la création d’une AME échangeant avec son père une variable critère, il se fera dans le cas d’une action de visualisation du stock prévisionnel pour un article.

On choisit donc l’application « StkVisPr » dans DIAPASON. Lors du choix du contexte pour l’application, on voit que dans la colonne « Variables Critères » figure « SCR.GenRefArt », ce qui signifie que pour démarrer cette AME, il va falloir initialiser cette variable au démarrage.

Dans l’onglet «  Démarrage », on choisit comme mode de démarrage « Mode visualisation », on ne pourra donc pas effectuer d’actions de gestion (création, modification, duplication, suppression) sur cette AME.

Le champ « Typ. Ctx. App. » a pour valeur « Identifiant et variables contextuelles » ce qui signifie que l’on récupère ces informations du père si elles sont disponibles. Dans notre cas, si l’AME est lancée depuis la GFD des articles, nous récupèrerons l’identifiant de l’enregistrement courant ainsi que la variable SCR.GenRefArt. Le contexte de démarrage de l’AME pourra donc s’initialiser avec cette variable.

En conséquence, il n’y a pas de « Typ. Ctx. DIALOG » particulier.

Liaison par variable contextuelle pour condition complexe (Fournisseur Provisions comptables rattachées) : La variable contextuelle SCR.AppFouRef sert à initialiser une condition complexe sur la liste.

Cet exemple présente le lancement d’une AME sur laquelle on applique une condition complexe au démarrage qui nécessite une initialisation par variable contextuelle. La liste sera celle de l’application des provisions sur laquelle sera appliqué un filtre par rapport à un fournisseur donné (cette condition nécessite la variable SCR.AppFouRef).

On utilise le contexte de démarrage « Provisions Tout Gestionnaire » afin d’avoir toutes les provisions disponibles.

Le champ « Typ. Ctx. App. » a pour valeur « Identifiant et variables contextuelles » afin de récupérer la variable contextuelle permettant d’initialiser la condition complexe saisie dans le champ « Cond.Défaut ».

Liaison par identifiant (Commande d’approvisionnement Stock global): La liste des articles de l’application de stock global est initialisée par tous les articles des lignes de l’entête de commande.

Cet exemple présente le cas du lancement d’une AME, qui via une requête REB, va à partir de l’identifiant de l’application père (ici les entêtes de commandes) présenter une liste d’enregistrements définie par la requête DIALOG (liste des stocks prévisionnels pour tous les articles faisant partie d’une commande).

On va choisir comme application la « Consultation globale des stocks » avec le contexte applicatif « 001 » représentant tous les articles.

Le champ « Typ. Ctx. App. » a pour valeur « Identifiant et variables contextuelles » afin de récupérer l’identifiant de l’application père que l’on va utiliser dans la requête REB d’initialisation.

Dans le champ « Règle Dém. » on va choisir la requête de démarrage dont le contenu est le suivant :

INIT SCR.IAP_LisFil = CGL.OUI

RECH TBD DTD APFoEn (LECTURE EN BASE) AVEC IDENTIFIANT= SCR.IAP_IdePere :

POUR CHAQUE/SOC DTD APFoLi AVEC DTD APFoLi.AppNumCom = DTD APFoEn.AppNumCom :

RECH TBD/SOC STO STGlobal AVEC STO STGlobal.RefArt = DTD APFoLi.GenRefArt :

VLO.Identifiant = IDENTIFIANT( STO STGlobal )

CREATION Liste WfEAPSorSel :

PRENDRE WfEAPSorSel MDi = DTD APFoLi.AppNumLig

PRENDRE WfEAPSorSel EntIde = VLO.Identifiant

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

La variable « SCR.IAP_LisFil » permet d’afficher les enregistrements communs entre la LISTE.WfEAPSorSel et le contexte de l’application standard à l’origine de l’AME. Si cette variable à pour valeur « NON », seuls les enregistrements correspondant au contexte applicatif seront affichés.

La variable « SCR.IAP_IdePere » correspond à l’identifiant de l’enregistrement sur lequel est positionnée l’application père lors du démarrage de l’AME.

Dans cette requête, le positionnement sur la commande se fait à partir de l’identifiant des entêtes de commandes :

RECH TBD/SOC DTD APFoEn AVEC IDENTIFIANT= SCR.IAP_IdePere

Puis la récupération des lignes de la commande s’effectue à partir d’une instance de la liste « WfEAPSorSel ». Le champ « MDi » sert à trier le résultat. Dans l’exemple la liste sera triée par numéro de ligne.

Liaison par liste de sélection (Liste de Commandes d’approvisionnement Liste des Fournisseurs concernés) : La liste des fournisseurs est initialisée via la liste des entêtes de commandes fournisseur sélectionnées.

Cet exemple va montrer le lancement d’une AME pour laquelle on va, à partir de la liste des sélections sur l’application père (Entêtes de commandes fournisseurs) et via une requête REB, générer une liste d’enregistrements de fournisseurs.

On va choisir comme application les « Gestion des fournisseurs » avec le contexte applicatif « M01 » représentant tous les fournisseurs.

Le champ « Typ. Ctx. App. » a pour valeur « Identifiant et variables contextuelles et liste sélection» afin de récupérer la liste des enregistrements sélectionnés dans l’application père que l’on va utiliser dans la requête REB d’initialisation.

Dans le champ « Règle Dém. » on va choisir la requête de démarrage dont le contenu est le suivant :

INIT SCR.IAP_LisFil = CGL.OUI

POUR CHAQUE LST WfEAPPerSel :

VLO.Identifiant = WfEAPPerSel.EntIde

RECH TBD DTD (LECTURE EN BASE) AVEC IDENTIFIANT= VLO.Identifiant :

RECH TBD/SOC DTD APFour AVEC DTD APFour.AppRefFour = DTD APFoEn.AppRefFour :

VLO.IdFour = IDENTIFIANT( DTD APFour )

CREATION Liste WfEAPSorSel :

PRENDRE WfEAPSorSel MDi = DTD APFour.AppRefFour

PRENDRE WfEAPSorSel EntIde = VLO.IdFour

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

Cette requête diffère du cas précédent seulement sur l’instruction :

POUR CHAQUE LST WfEAPPerSel :

VLO.Identifiant = WfEAPPerSel.EntIde

C’est à dire que l’on va créer la liste des enregistrements (WfEAPSorSel) à partir des identifiants de tous les enregistrements sélectionnés du père.

Comment gérer les actions affichées dans la barre de commande ainsi que des actions sous la forme de bouton sur l’AME ?

Les actions suivantes sont disponibles sur les AME:

image-20241004-142800.png

  • Gestion groupes : Lance l’application de définition des groupes spécifiques d’action pour la barre de commande.

  • Gestion des correspondances Entête : Lance un tableur qui affiche la liste des actions qui apparaitront dans la barre de commande avec leur code action. L’objectif de ce tableur est faire le lien entre les actions qui vont s’afficher et les actions qui ont été paramétrées. Cette action s’occupe que des actions de l’entête.

  • Gestion des correspondances Ligne : Lance un tableur qui affiche la liste des actions qui apparaitront dans la barre de commande avec leur code action. L’objectif de ce tableur est faire le lien entre les actions qui vont s’afficher et les actions qui ont été paramétrées. Cette action s’occupe que des actions des lignes.

  • Gestion des boutons Entête : Lance l’application de gestion des boutons pour l’entête de l’application.

  • Gestion des boutons Ligne : Lance l’application de gestion des boutons pour les lignes de l’application.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.