Contexte du document
Transversal. Odoo (vues pivot/graph natives) et un ERP propriétaire du marché des PME
industrielles (générateur d’états + datamart décisionnel) sont les références
(pirates:analyses/transversales/matrice-fonctionnelle-globale.md §2, DOM-11). Moteur de
rapports/BI = complexe/coûteux (pirates:analyses/transversales/matrice-fonctionnelle-globale.md §6) :
Elena vise un socle d’états + tableaux de bord, la BI avancée étant Won’t-v1. Aucune reprise de
code des ERP étudiés.
Exigence détaillée
- Priorité : Must
- Livraison : Lot 0 (DEC-0219), sur les objets disponibles ; aucun domaine métier futur n’est avancé.
- Domaine : DOM-11
- Énoncé : « Elena doit permettre, lors de la conception d’un état, de choisir les objets métier et leurs champs à afficher — y compris les éléments liés d’un objet (ex. les lignes d’une commande et l’article de chaque ligne) — en ne proposant que les champs que l’utilisateur courant est autorisé à consulter. »
- Justification : précise EXG-11-001 et s’appuie sur le modèle métadonnées-driven (EXG-15-001) qui expose dynamiquement les champs des objets, standards ou personnalisés, sans développement propre à chaque état ; la restriction aux champs autorisés évite qu’un concepteur d’états ne devienne un contournement du RBAC (EXG-13-002).
- Critères d’acceptation :
- CA-01 — Le concepteur propose la liste des champs disponibles d’un objet métier choisi comme source, avec leur libellé.
- CA-02 — Un état peut afficher, pour un objet, les données d’un objet lié (ex. l’article référencé par une ligne de commande), sans exposer la structure technique de cette liaison à l’utilisateur.
- CA-03 — Une source de données peut être filtrée et triée par l’utilisateur qui conçoit l’état. Dès la v1, l’onglet Source d’un tableau permet de sélectionner la collection par ses libellés métier en parcourant les relations autorisées, puis de configurer visuellement filtres et tris, sans script ni saisie d’un chemin technique. Plusieurs tris peuvent être ordonnés par priorité. Vérifier la sélection « Commande → Lignes », la configuration des filtres et le réordonnancement de deux tris ; sauvegarde/réouverture, aperçu et génération respectent les réglages sur leurs jeux de données respectifs. Les droits et la limite de trois relations au sein d’une même autorité restent inchangés (voir DEC-0112).
- CA-04 — Seuls les champs que l’utilisateur courant est autorisé à consulter apparaissent disponibles dans le concepteur.
- CA-05 — Un template déclare exactement un type d’objet racine ; un état autonome sans objet racine n’est pas pris en charge en v1, tandis qu’une impression de liste peut sélectionner plusieurs enregistrements du même type racine. Dès la première sauvegarde en v1, ce type est fixe, même en brouillon et après duplication ; un autre type nécessite la création d’un autre modèle. Les champs utilisés, filtres et tris restent modifiables dans le type choisi sous les permissions existantes. Vérifier le refus de changement après sauvegarde et réouverture, sans altération de la source ni des blocs, ainsi que la modification des champs et filtres autorisés et la création séparée d’un modèle d’un autre type ; vérifier également l’invariant après activation et duplication (DEC-0100).
- CA-06 — Un état peut parcourir au maximum trois niveaux de relations depuis sa ressource racine, exclusivement au sein d’une même autorité propriétaire.
- Requiert : EXG-11-001 (générateur d’états), EXG-15-001 (métadonnées), EXG-13-002 (RBAC objet/action)
- Conditionne : EXG-11-007 (impression contextuelle)
- Co-requis : aucun