Aller au contenu principal

Notifications

L'écran Notifications est la boîte de réception du portail qui présente toute notification adressée à l'utilisateur courant. Chaque ligne correspond à une livraison — un changement de statut sur une facture, retenu par une Règle de notification, enrichi du sujet, du message et des métadonnées appropriés, puis persisté dans la table F564253.

La page constitue le côté lecture du système de notifications. Le côté écriture — quel événement déclenche quelle notification, à destination de qui, sur quels canaux — relève de l'éditeur des Règles de notification.

Une cloche complémentaire dans la barre d'utilitaires interroge le compteur de non-lues toutes les 30 s et présente les six dernières entrées sans quitter la page courante ; cliquer sur une entrée ouvre directement la modale de la facture liée.

La page fonctionne quel que soit le système source — JD Edwards, SAP, NetSuite ou ERP personnalisé — la charge utile de la notification étant construite à partir de la facture UBL persistée et non du XML source brut.


Accès à la boîte de réception

  • Sidebar → Gestion → Notifications.
  • Ou clic sur la 🔔 cloche dans la barre d'utilitaires, puis Voir toutes au pied du menu déroulant.
  • La boîte s'ouvre toujours sur l'onglet Toutes ; l'onglet Non lues filtre sur ce qui n'a pas encore été acquitté.

Vue d'ensemble

Notifications↻ Actualiser✓ Tout marquer luToutesNon lues (3)9904Facture 12345 RI 00070 — Rejet PAREJ_ADR — destinataire inconnu sur l'annuaire PPF12345 · RI · 00070 · REJ_ADR · INV-correction · pa-rejectionil y a 2 min×10Facture 12300 RI 00001 — DéposéePA confirme le dépôt12300 · RI · 00001 · pa-success14:329906Facture 12299 RI 00001 — Attente PAEn attente d'import par la PA12299 · RI · 00001 · pa-pendingHier9903Facture 12299 RI 00001 — Envoyée à la PAsubmission_id=ABC-4212299 · RI · 00001 · pa-sentHier9901Facture 12298 RI 00001 — Validée12298 · RI · 00001 · validation-successHierBarre d'actionsactualiser + tout marquer luOnglets de filtreToutes vs Non lues (compteur)Accent non lubande bleue à gauche + fond teintéSuppression par ligneretire sans marquer luBadge de statutcouleurs issues du catalogueLigne métadoc · dct · kco · motif · action · règleClic → modale facturemarque la ligne lue au passage

Une ligne de notification porte cinq indices visuels : le badge de statut à gauche (couleur tirée du catalogue statuses), le sujet (par défaut Invoice {doc} {dct} {kco} — {statusLabel}), le message (corps de la règle ou défaut du dispatcher), la ligne méta avec les identifiants canoniques, et une colonne de droite avec l'horodatage relatif et le bouton de suppression.


Actions disponibles

ActionEffet
ActualiserRecharge la boîte de réception depuis /api/notifications, en respectant l'onglet actif (Toutes ou Non lues).
Tout marquer comme luÉmet un POST sur /api/notifications/mark-all-read. Toute ligne non lue est marquée lue ; la pastille de la cloche s'éteint au prochain sondage à 30 s, ou dès la prochaine prise de focus. Bouton désactivé en l'absence de lignes non lues.
Onglets de filtreToutes affiche l'intégralité des lignes non supprimées ; Non lues ne conserve que les lignes où read = false. L'onglet Non lues porte le compteur ( N ) à côté de son libellé.

Anatomie d'une ligne

ÉlémentSourceSens
Bande d'accent à gauche + fond teintéread = falseLignes non lues. La bande disparaît dès que la ligne est marquée lue.
Badge de statutNTEV01 joint au catalogue statusesStatut qui a déclenché la notification. Le fond, la couleur du texte et la bordure du badge proviennent du catalogue : 9904 / Rejet PA est rouge, 10 / Déposée est verte, 9906 / Attente PA est orange, etc.
Sujet (ligne du haut)NTSUBJ (champ emailSubject de la règle ou défaut du dispatcher)Titre court, lisible. La valeur par défaut est Invoice {doc} {dct} {kco} — {statusLabel}.
Message (deuxième ligne)NTMSGE (champ emailBody de la règle ou défaut du dispatcher)Corps du texte. Tronqué en cas de débordement ; la modale ouverte au clic présente l'historique complet.
Ligne métaNTDOC · NTDCT · NTKCO · motif · action · règleIdentifiants canoniques de la facture, plus le motif de rejet PA, l'action attendue et le nom de la règle lorsqu'ils sont présents. Motif et action sont résolus à partir des catalogues rejection-reason-codes et action-codes — c'est le libellé humain qui s'affiche, et non le code brut.
Horodatage relatifNTUPMJ + NTTDAYà l'instant, il y a 2 min, 14:32 (aujourd'hui), Hier, puis l'horodatage absolu dd/mm/yyyy hh:mm pour les entrées plus anciennes.
Bouton de suppressionpar ligneRetire la ligne de la boîte de réception sans marquer les autres lues.

Cliquer sur le corps de la ligne ouvre la modale de détail de facture pour le triplet (doc, dct, kco) lié — mêmes sept onglets que la page E-Invoicing (Summary, Parties, Lines, VAT, Notes, History, PDF). La ligne est marquée lue au passage.


La 🔔 cloche dans la barre d'utilitaires

Une entrée complémentaire figure dans la barre d'utilitaires de chaque page. Trois rôles :

  1. Sondage toutes les 30 s du compteur de non-lues (GET /api/notifications/unread-count). Une pastille rouge affiche le compteur dès qu'il est strictement positif.
  2. Affichage des 6 dernières entrées au clic — même structure qu'une ligne de la boîte de réception, mais condensée : sujet, message, référence facture, horodatage relatif. Les lignes non lues portent la même pastille bleue que dans la boîte.
  3. Clic sur une entrée : la marque comme lue puis ouvre directement la modale de la facture. La cloche traite les deux cas : lorsque l'utilisateur se trouve déjà sur la boîte, elle émet un événement nomaubl:open-notification sur window pour que la modale s'ouvre sans démontage ; sinon, elle stocke la charge utile dans sessionStorage sous la clé notif-auto-open puis navigue vers /notifications, qui consomme l'entrée au montage à froid.

Un pied de menu Voir toutes renvoie vers /notifications pour la boîte complète.

La cloche reste visible quel que soit l'état d'authentification : lorsque global.authEnabled != "Y", la boîte présente les notifications de diffusion écrites sous la sentinelle NTUSER='*', et la cloche les compte.


Stockage et rétention

Toute notification délivrée correspond à une ligne dans F564253 (Oracle + Postgres). Les colonnes que la boîte de réception exploite sont :

ColonneTypeRôle
NTUKIDnumériqueClé primaire. Unique sur l'ensemble de la table — l'adresse de ligne ne porte plus le triplet (doc, dct, kco).
NTUSERchaîneNom d'utilisateur résolu, ou * lorsque l'authentification est désactivée (diffusion).
NTEV01chaîne0 pour non lue, 1 pour lue. La pastille de la cloche compte les lignes où NTEV01 = 0.
NTSUBJ / NTMSGEchaîneSujet et corps.
NTDOC / NTDCT / NTKCOmixteTriplet de la facture ; nullable pour les alertes système qui ne ciblent pas une facture précise.
NTUPMJ / NTTDAYjul / hmsDate et heure d'émission. L'index composite (NTUSER, NTEV01, NTUPMJ DESC) garantit la rapidité de la requête de la pastille et du tri de la boîte.

Une purge quotidienne, exécutée par BackgroundScheduler, supprime toute ligne plus ancienne que global.notificationsRetentionDays (défaut 90 jours). La valeur 0 désactive la purge — utile pour les installations qui souhaitent conserver les notifications indéfiniment ou qui pilotent leur propre stratégie de rétention.


Conseils & bonnes pratiques

  • Trier via l'onglet Non lues. Le filtrage par non-lues est plus rapide que le défilement de l'onglet Toutes ; Tout marquer comme lu nettoie la liste en un clic à la fin du tour de revue.
  • Lire la ligne méta pour le contexte. Le fragment motif · action · règle indique pourquoi la notification a été émise — utile lorsque plusieurs règles couvrent des codes de statut qui se recoupent.
  • La cloche est un coup d'œil, pas la boîte. Elle ne présente que les six dernières entrées ; pour le tri exhaustif des lignes non supprimées, ouvrir Notifications. Le pied Voir toutes du menu déroulant constitue le raccourci à un clic.
  • Supprimer n'équivaut pas à marquer lu. Supprimer retire la ligne de la boîte de réception ; Marquer lu la conserve dans l'onglet Toutes, sans la bande d'accent bleue ni le fond teinté qui signalent les non-lues. Supprimer convient aux entrées sans valeur d'audit.
  • Pour un rejet PA, ouvrir la modale. Une ligne 9904 / Rejet PA porte le motif dans la ligne méta, mais l'historique de l'onglet History de la modale facture porte la charge utile complète et l'action attendue.
  • Régler la rétention. Le volume des notifications peut croître rapidement — chaque changement de statut produit une ligne dès qu'une règle correspondante se déclenche. Le défaut de 90 jours convient à la plupart des installations ; relèvement ou abaissement via global.notificationsRetentionDays.