Aller au contenu principal

Journal de traitement

L'écran Processing Log permet de consulter la table de journal d'exécution de NomaUBL (F564237). Chaque traitement qui passe par la plateforme — transformation XML, génération UBL, validation, extraction BIP, téléchargement FTP — émet un flux d'événements : un START, des étapes intermédiaires (transformation, conversion, rendu…), puis un END qui contient le résultat final (SUCCESSFUL ou un message d'erreur fatale).

La page présente ce flux en deux vues complémentaires : une vue groupée qui associe chaque START à son END correspondant — chaque job apparaît alors sur une seule ligne avec son statut et sa durée — et une vue à plat qui liste chaque événement individuel pour une analyse détaillée. La page fonctionne quel que soit le système source — JD Edwards, SAP, NetSuite ou ERP personnalisé.


Vue d'ensemble

Journal de traitement↻ RafraîchirGroupéeÀ plat🔍 Filtrer fichier / modèle…Tous les modes ▾DÉBUT · FIN · MODÈLE · MODE · FICHIER · RÉSULTAT · DURÉE12:34:08 · 12:34:42 · invoices · AUTO · INV-0142.xmlSUCCESSFUL34 s12:34:46 · 12:35:08 · invoices · AUTO · INV-0143.xmlSUCCESSFUL22 s12:35:14 · 12:35:18 · invoices · AUTO · INV-0144.xmlFATAL ERROR4 s12:35:30 · 12:36:01 · credit_notes · SINGLE · CR-0021.xmlSUCCESSFUL31 s⤓ Clic sur une ligne → déplie le détail des événements (FATAL en évidence)DÉPLIÉ — INV-0144.xmlDÉBUT12:35:14 · invoices · AUTOTRANSFORM_XSL12:35:15 · okFATAL12:35:18 · UBL_CREATION · XSL en exceptionFIN12:35:18 · FAILEDDeux vuesGroupée (1 ligne / job) · À platBadge de résultatSUCCESSFUL / FATAL / FAILEDDétail des étapesDÉBUT / FIN · FATAL en évidence

Provenance des événements

Tous les chemins de traitement NomaUBL écrivent leur trace dans F564237 via le même journaliseur. Les champs clés sont remplis à l'exécution : le fichier traité, le mode (AUTO, SINGLE, BURST, UBL, PROCESS), le template source, l'étape courante (START, END, ou un nom de méthode comme TRANSFORM_XSL, CONVERT_RTF, RUN_TASKS), le message et l'horodatage. Le moteur de groupement de cette page reconstruit les jobs à partir de ces événements bruts au moment de l'affichage.

📥 Entrée du traitementXML · UBL · BIP · FTP⚙️ Pipeline NomaUBLtransform · render · validate · send📜 F564237flux d'événements📊 Processing Logvues groupée & à platevents

Le journal est en mode ajout seul — les événements sont écrits par le pipeline et ne sont jamais modifiés. La page est en lecture seule.


Deux vues, un même jeu de données

VueQuand l'utiliser
Grouped (défaut)Surveillance au quotidien. Chaque job tient sur une ligne avec son statut (OK / ERROR / PARTIAL), sa durée et son dernier message. L'expansion d'une ligne révèle toutes les étapes intermédiaires.
FlatAnalyse détaillée quand le groupement masquerait un contexte utile — par ex. inspecter l'ordre des événements pendant un job suspendu, ou rechercher un WARNING isolé entre deux exécutions sans rapport. Une ligne par événement.

Le bouton de bascule en tête de la barre d'outils permet de basculer entre les deux ; le choix est enregistré dans le navigateur (processing-log:grouped dans localStorage), donc la prochaine session ouvre la même vue. L'onglet par défaut est Grouped — restauré en 2026.05.10 après une version précédente qui était passée à Flat au premier affichage ; l'opérateur récupère le mode de lecture quotidien sans avoir à manipuler la bascule.


Barre d'outils

La barre d'outils combine la bascule de vue, une recherche libre, deux filtres déroulants, une plage de dates et un bouton de rafraîchissement.

GroupedFlat
🔎 Rechercher un fichier…Tous les templates ▾Tous les modes ▾📅 Hier → Aujourd'hui↻ Rafraîchir
ContrôleComportement
Bascule Grouped / FlatBascule la présentation des données. Enregistrée par navigateur.
Rechercher un fichierRecherche par sous-chaîne sur la colonne file (par ex. 12345_RI_00070). Vide désactive le filtre.
TemplatesListe déroulante alimentée dynamiquement depuis les templates de type document déclarés dans config.json. Tous les templates retire le filtre.
ModesDéroulante des modes de traitement standards — AUTO, SINGLE, BURST, UBL, PROCESS. Tous les modes retire le filtre.
Plage de datesRestreint aux événements dont l'horodatage se situe dans la fenêtre choisie. Préréglage par défaut : Hier → Aujourd'hui. Les préréglages standards (Aujourd'hui, Hier, 7 derniers jours, Ce mois, Mois dernier, Plage personnalisée) s'appliquent.
RafraîchirRelance la requête courante sans modifier les filtres.

En vue groupée, la page extrait davantage (pageSize × 4, plafonné à 200) pour que les paires START / END et les étapes intermédiaires se retrouvent sur la même page et que le moteur de groupement dispose du job complet.

Filtres avancés (2026.05.10)

Un panneau Filtres avancés pliable sous la barre d'outils propose une ligne par colonne filtrable de la spec Vues de liste active (view.processing-log) — avec des sélecteurs d'opérateurs par colonne (contains, equals, , <, , >, , between, empty, not empty). Les modifications restent en brouillon tant que Exécuter ne les valide pas.

Le drill-through depuis les barres de débit du Tech Dashboard vers cette page amorce maintenant le DateRangeFilter V2 via initialRange — la période cliquée sur la barre reste appliquée ici.

Depuis 2026.05.10, la vue à plat passe par DataTableV2 en mode piloté par spec : la forme des colonnes vient de la spec view.processing-log sur db-nomaubl et le défaut embarqué livre toutes les colonnes décrites plus bas. Ajouter des colonnes depuis le catalogue ou retirer une colonne de la liste blanche de filtres se fait depuis l'éditeur Vues de liste. La vue groupée conserve sa mise en page dédiée — le groupement ne fait pas partie de DataTableV2.

Depuis 2026.05.12, la vue à plat fonctionne en mode hybride client-side — une tranche serveur capée par Exécuter (spec.maxRows, 5000 par défaut), puis TanStack gère filter / sort / paginate dans la tranche. Un message X / Y lignes à côté de Exécuter signale quand le cap est atteint. Les colonnes refList reçoivent le picker multi-sélection introduit en 2026.05.13 quand c'est pertinent.


Vue groupée — une ligne par job

Chaque ligne représente un job (file, mode, template), reconstruit à partir de ses événements bruts. La ligne affiche le statut du job, la forme du flux, la durée et le dernier message. Cliquer sur une ligne pour la déplier et voir toutes les étapes intermédiaires.

Date
Fichier
Mode
Template
Flux
Durée
Statut
Message
2026-04-29 14:08:42
12345_RI_00070
SINGLE
invoices
START → END
1.2s
OK
SUCCESSFUL
2026-04-29 13:54:11
spool_R12_2026_120
BURST
invoices
START → END
42s
OK
SUCCESSFUL — 248 factures
2026-04-29 11:22:05
12347_RN_00070
UBL
credit_notes
START → END
340ms
FATAL ERROR
FATAL ERROR : Schematron BR-CL-21 failed
2026-04-29 11:22:05STARTJob démarré
2026-04-29 11:22:05TRANSFORM_XSLXSLT appliqué — 1 document, 8 lignes
2026-04-29 11:22:05VALIDATE_UBL_ERRORBR-CL-21 — Tax category code MUST be from UNCL5305
2026-04-29 11:22:05ENDFATAL ERROR : Schematron BR-CL-21 failed
2026-04-29 09:14:18
12348_RI_00070
AUTO
invoices
START → ?
PARTIAL
RUN_TASKS — splitting 1 of 4

Colonnes

ColonneDescription
Chevron — affiché quand le job a au moins une étape intermédiaire ou est orphelin. Cliquer sur la ligne pour déplier.
DateHorodatage de tri — heure de l'END quand elle est connue, sinon le START ou la première étape intermédiaire.
FichierLe fichier ou la clé de job traitée (typiquement DOC_DCT_KCO). En police mono ; valeur complète au survol.
ModeBadge coloré — SINGLE (bleu), BURST (violet), UBL / UBL_VALIDATE (vert), BOTH (orange), autres modes (neutre).
TemplateLe template source qui a piloté l'exécution (par ex. invoices, credit_notes).
FluxForme de l'appariement START / END — START → END pour les jobs complets, START → ? quand l'END est absent, ? → END quand un END apparaît sans START correspondant, ou pour des étapes intermédiaires sans appariement.
DuréeCalculée par END − START. Format compact : 120ms / 1.2s / 1m 23s. Vide quand l'une des bornes manque.
StatutIssue du job — voir ci-dessous.
MessageMessage de fin de job, ou message de la dernière étape intermédiaire quand l'END est absent. Tronqué ; valeur complète au survol.

Badges de statut

VarianteQuandIndice visuel
OKSTART et END présents, sans erreur dans le message ni dans aucune étape intermédiaire.Badge vert.
ERRORLe message d'END correspond à ERROR / FAIL / EXCEPTION / FATAL, ou une étape intermédiaire correspond. Le libellé du badge reprend le message d'END en majuscules.Badge rouge, le fond de la ligne est teinté rouge.
PARTIALLe START ou l'END est absent de la page courante (job orphelin), ou seules des étapes intermédiaires sont présentes.Badge orange, le fond de la ligne est teinté orange.

Étapes dépliées

Cliquer sur une ligne dépliable ouvre une zone d'étapes sous celle-ci, qui liste tous les événements rattachés au job dans l'ordre chronologique :

  • La ligne synthétique START reprend l'horodatage de début et un message générique « Job démarré ».
  • Chaque événement intermédiaire est listé avec sa méthode (TRANSFORM_XSL, CONVERT_RTF, RUN_TASKS, VALIDATE_UBL_ERROR, …) et son texte libre — les méthodes d'erreur sont colorées en rouge.
  • La ligne END reprend l'horodatage de fin et le message final.
  • Pour les jobs PARTIAL, une note italique rappelle que le START ou l'END se trouve sur une autre page.

Cette zone fait de la vue groupée un outil d'analyse en un clic — l'en-tête dit ce qui s'est passé, la liste dépliée dit dans le pipeline.


Vue à plat — une ligne par événement

Basculer sur Flat désactive le groupement et revient au flux d'événements sous-jacent. Tri, pagination et export CSV fonctionnent sur les événements individuels, ce qui correspond aux requêtes d'archive et aux investigations détaillées.

Date / Heure
Fichier
Mode
Template
Étape
Message
2026-04-29 14:08:43
12345_RI_00070
SINGLE
invoices
END
SUCCESSFUL
2026-04-29 14:08:43
12345_RI_00070
SINGLE
invoices
RUN_SINGLE
PDF rendu (1 doc, 142 Ko)
2026-04-29 14:08:42
12345_RI_00070
SINGLE
invoices
START
Processing SINGLE — template=invoices, file=12345_RI_00070
2026-04-29 11:22:05
12347_RN_00070
UBL
credit_notes
VALIDATE_UBL_ERROR
BR-CL-21 — Tax category code MUST be from UNCL5305

Colonnes

ColonneDescription
Date / HeureHorodatage de l'événement. Tri par défaut : décroissant.
FichierLe fichier auquel l'événement se rattache.
ModeBadge coloré — même palette que la vue groupée.
TemplateLe template source.
ÉtapeLibellé de la méthode — badge coloré : START (bleu), END (vert), tout libellé contenant ERROR / FAIL (rouge), WARN (orange), autres étapes (neutre).
MessageTexte libre attaché à l'événement. Tronqué ; valeur complète au survol. Non triable.

Le bouton standard Exporter exporte la vue courante (filtres compris, tri respecté) sous le nom processing-log.csv.


Reconstruction des jobs

Le moteur de groupement parcourt les événements en ordre croissant dans le temps et utilise le triplet file | mode | template comme clé de job. Connaître l'algorithme aide à interpréter les cas limites :

ÉvénementEffet
START sur une clé sans job ouvertOuvre un nouveau job.
START sur une clé qui a déjà un job ouvertTermine le job précédent en PARTIAL et ouvre un nouveau job.
END sur une clé avec un job ouvertFerme le job, calcule la durée, affecte le statut (OK ou ERROR selon le message d'END).
END sur une clé sans job ouvertÉmet un orphelin PARTIAL sans START.
Toute autre méthode sur une clé avec un job ouvertRattachée comme étape intermédiaire. Marque hasError = true si la méthode ou le message correspond à ERROR / FAIL / EXCEPTION / FATAL.
Toute autre méthode sur une clé sans job ouvertÉmet un orphelin PARTIAL composé de cette seule étape.

Les jobs ouverts sans END sur la page courante sont vidés en PARTIAL en fin de parcours.

L'expression de détection est volontairement large — toute méthode ou message contenant ERROR, FAIL, EXCEPTION ou FATAL (insensible à la casse) marque le job en erreur, même si le message d'END formel est anodin.


Conseils & bonnes pratiques

  • Garder Grouped pour la surveillance quotidienne. Un coup d'œil à la colonne Statut indique tout de suite ce qui a échoué la veille et ce qui s'est terminé proprement. Réserver Flat aux requêtes détaillées.
  • Un PARTIAL après un filtre date est généralement un artefact de pagination. Un job dont le START est sur le jour 1 et l'END sur le jour 2 paraîtra orphelin sur chacune des vues isolées — élargir la plage de dates avant de conclure à un échec réel.
  • Filtrer par mode pour cibler une session de triage. Pendant un incident sur le chemin BIP, restreindre à BURST retire le bruit des exécutions SINGLE sans rapport et garde toutes les étapes liées sur la même page.
  • Le libellé d'erreur affiché est le message d'END en majuscules. C'est exactement la chaîne que l'équipe ERP / PA citera dans un ticket — la copier depuis cette page est le moyen le plus rapide de remonter la cause principale.
  • Déplier avant de citer un job. L'en-tête dit ce qui a échoué ; les étapes dépliées disent dans le pipeline (transformation vs. conversion vs. validation vs. envoi). Toujours inclure l'étape fautive dans le rapport d'incident.
  • Le journal est en mode ajout seul. Aucune ligne ne peut être éditée ou supprimée depuis cette page — passer par File Versions ou directement par la base pour tout nettoyage rétroactif.