Historique d'activité des documents
Historique d'activité des documents
La section Activité, en bas du formulaire d'un document, réunit tout ce qui s'est passé sur ce document : e-mails, commentaires, modifications, affectations… Les événements les plus récents sont en haut.
Lire l'activité
- Ouvrez un document, par exemple une commande client.
- Faites défiler le formulaire jusqu'à la section Activité.
En haut de la section, l'interrupteur Afficher toutes les activités choisit l'affichage :
- Activé : tous les événements. C'est l'affichage par défaut.
- Désactivé : seulement la création, la dernière modification, les e-mails et les commentaires.
L'interrupteur n'apparaît que si le document a au moins un e-mail ou un commentaire.
Les boutons Nouvel email et Nouvel événement créent un e-mail ou un événement lié au document :
- Nouvel email apparaît si vous pouvez envoyer un e-mail depuis ce document.
- Nouvel événement apparaît si la case Autoriser les événements dans la chronologie est cochée sur le type de document.
Quand le type de document a une adresse e-mail dédiée, la section affiche « Ajouter à cette activité en envoyant un email à… ». Un e-mail envoyé à cette adresse s'ajoute à l'activité. Cliquez sur l'adresse pour la copier.
Événements affichés
| Événement | Contenu | Condition |
|---|---|---|
| Création | « Vous avez créé ce document » ou « X a créé ce document ». | Toujours. |
| Dernière modification | Auteur de la dernière modification. | Toujours. |
| E-mails | E-mails envoyés et reçus, avec les boutons Répondre et Répondre à tous. | Toujours. |
| Commentaires | Commentaires ajoutés dans le formulaire. | Toujours. |
| Modifications | « X a changé la valeur de Champ de A à B ». Jusqu'à trois champs par ligne. Ajouts et suppressions de lignes dans les tableaux. Validation et annulation. | La case Suivre les modifications est cochée sur le type de document. |
| Consultations | « X a vu ce document ». | La case Suivre les vues est cochée sur le type de document. |
| Affectations | Affectation du document à un utilisateur, ou retrait. | Toujours. |
| Pièces jointes | Ajout et suppression d'une pièce jointe. | Toujours. |
| Workflow | Changements d'état du workflow. | Un workflow est actif. |
| Jalons | « X a changé Champ en Valeur ». | Un Suivi des jalons existe pour le type de document. |
| J'aime | « X a aimé ». | Toujours. |
Une modification n'affiche que les champs que vous avez le droit de lire.
Seules les 10 dernières versions du document sont chargées à l'ouverture du formulaire.
Le partage d'un document avec un utilisateur n'apparaît pas dans la section Activité. Consultez les partages dans la barre latérale du formulaire. Voir Partager un document.
Si le document a beaucoup d'e-mails, la section en affiche 20. Cliquez sur Afficher plus de communications pour charger les suivants.
Exemple fictif : Thomas ouvre une commande client. La section Activité montre, du plus récent au plus ancien : l'e-mail de confirmation envoyé au client, la validation du document par Sophie, puis la ligne « Sophie a changé la valeur de Date de livraison de 10-08-2026 à 12-08-2026 ».
Changements faits par un agent IA
Quand un agent IA modifie un document au nom d'un utilisateur, la section Activité indique l'agent en plus de l'utilisateur. Chaque ligne de modification faite par un agent se termine par « · » suivi de la mention using {0} via {1} (libellé non traduit) : {0} est le nom de l'agent et {1} le canal utilisé (Flow, MCP ou API). Si l'agent agit dans une session Flow, la mention est un lien vers cette Session Flow.
L'agent est identifié de trois façons :
- Flow : l'agent du Flow qui appelle un outil. Le canal est
Flow, et la mention renvoie à la session Flow. - MCP : le nom du client OAuth enregistré s'il existe, sinon le nom du client indiqué dans la requête MCP, sinon
MCP. Le canal estMCP. - API : une requête authentifiée par clé API ou par jeton OAuth qui envoie l'en-tête
X-Frappe-Agent. Le canal estAPI. Voir API Rest.
Une session ouverte dans le navigateur (cookie) ne retient pas l'agent : l'en-tête X-Frappe-Agent y est ignoré. Le nom de l'agent est tronqué à 140 caractères.
Pour que ces mentions apparaissent, la case Suivre les modifications doit être cochée sur le type de document. Quand un agent crée un document de ce type, Dokos enregistre une version de création : la section affiche alors « Vous avez créé ce document » ou « X a créé ce document », suivi de la mention de l'agent. Une création faite par une personne ne crée pas de version.
Le détail d'une version (document Version) affiche aussi un bloc Agent : nom de l'agent, « via » le canal, et le lien vers la session Flow s'il y en a une.
Exemple fictif : Sophie utilise l'assistant « Assistant Achats » dans Flow. L'assistant change la date de livraison d'une commande fournisseur. La section Activité affiche « Sophie a changé la valeur de Date de livraison de 10-08-2026 à 12-08-2026 · using Assistant Achats via Flow », avec un lien vers la session Flow.
Suivre un champ comme jalon
Un jalon note chaque nouvelle valeur d'un champ, par exemple le statut. Il montre la nouvelle valeur, pas l'ancienne.
- Ouvrez la recherche (Ctrl+K) et saisissez « Suivi des jalons ».
- Créez un suivi.
- Choisissez le Type de document à suivre, puis le Champ à suivre.
- Enregistrez.
Chaque changement de ce champ ajoute une ligne dans la section Activité. Voir aussi Jalons.
Régler l'affichage
Chaque utilisateur règle l'affichage dans Menu utilisateur > Paramètres > Formulaires :
- Afficher le journal : affiche ou masque la section Activité.
- Afficher la date et l'heure absolues dans le journal : affiche la date exacte (« 10-08-2026 14:30 ») au lieu d'une durée (« il y a 2 heures »).
Pour les développeurs : le composant ActivityTimeline
Les applications Vue (par exemple Helpdesk) affichent le même type de fil avec le composant ActivityTimeline de @framework/ui. Ce composant n'est pas utilisé par le formulaire du bureau.
<ActivityTimeline>affiche une listeactivities. Il ne charge aucune donnée.- Le composable
useActivityTimeline(doctype, docname), écrit dans l'application, charge les activités, les met à jour en temps réel et pagine les e-mails. - Les slots
#item-{type}et#icon-{type}remplacent l'affichage d'un type d'activité, y compris un type propre à l'application.
<script setup lang="ts">
import { ActivityTimeline, TimelineContainer, useActivityTimeline } from "@framework/ui";
const { activities, loading } = useActivityTimeline("HD Ticket", ticketId);
</script>
<template>
<TimelineContainer>
<ActivityTimeline :activities="activities" :loading="loading" />
</TimelineContainer>
</template>
Sujet d'un e-mail dans la ligne EmailItem
L'en-tête par défaut d'EmailItem affiche l'expéditeur, le statut de livraison et la date. Sous cet en-tête, une ligne présente les destinataires (To, cc, bcc), puis le sujet de l'e-mail sur sa propre ligne (Subject:). Les libellés sont affichés dans un ton atténué et leurs valeurs dans un ton plus soutenu. Le libellé Subject: est écrit en dur dans le composant : il n'est pas traduit.
| Propriété | Type | Rôle |
|---|---|---|
email | EmailActivity | L'activité à afficher. Le sujet est lu dans email.data.subject. |
hideSubject | boolean (facultative) | Masque la ligne Subject:. À utiliser quand tous les e-mails d'un fil partagent le même sujet, par exemple dans un ticket Helpdesk. |
La ligne Subject: n'apparaît que si email.data.subject n'est pas vide et que hideSubject n'est pas activée. Si le sujet est masqué et qu'il n'y a ni To, ni cc, ni bcc, le bloc sous l'en-tête n'est pas affiché. Si vous remplacez l'en-tête avec le slot #header, hideSubject n'a aucun effet : c'est votre contenu qui est affiché.
Exemple fictif : un fil de ticket dont tous les e-mails reprennent le sujet « Demande de devis » masque le sujet répété.
<script setup lang="ts">
import { ActivityTimeline, EmailItem } from "@framework/ui";
// activities, loading : voir useActivityTimeline
</script>
<template>
<ActivityTimeline :activities="activities" :loading="loading">
<template #item-email="{ activity }">
<EmailItem :email="activity" hide-subject />
</template>
</ActivityTimeline>
</template>
Sans hide-subject, chaque e-mail affiche sa ligne Subject: sous les destinataires.
Aperçu des pièces jointes d'un e-mail ou d'un commentaire
Les lignes e-mail (EmailItem) et commentaire (CommentItem) affichent leurs pièces jointes sous forme de boutons (composant AttachmentChip), sauf si vous remplacez le slot footer. Le type d'aperçu dépend de l'extension du nom du fichier, et le bouton n'ouvre un aperçu que si le fichier a une URL :
| Extensions | Comportement au clic |
|---|---|
png, jpg, jpeg, gif, webp, svg, bmp | Image affichée dans une boîte de dialogue. |
txt, log | Texte brut affiché dans une boîte de dialogue. |
md, markdown | Contenu Markdown mis en forme (titres, listes, tableaux, citations, blocs de code) dans une boîte de dialogue. |
mp4, mov, webm, mkv, avi, m4v | Lecteur vidéo dans une boîte de dialogue. |
| Autres extensions | Le fichier s'ouvre dans un nouvel onglet. |
Pour un aperçu, une icône de téléchargement remplace le trombone au survol du bouton.
Le fichier texte ou Markdown n'est téléchargé qu'à la première ouverture de la boîte de dialogue. Si le chargement échoue, la boîte de dialogue affiche « Impossible de charger ce fichier : » suivi de l'erreur du navigateur, à la place du contenu.
Le Markdown est rendu par l'éditeur de frappe-ui/editor en lecture seule (extensions RichTextKit et Markdown), comme dans CommentItem. L'éditeur n'affiche que les éléments de son propre schéma : le HTML brut d'un fichier n'est pas exécuté.
La référence complète est dans ui/src/components/ActivityTimeline/DOCS.md du dépôt Dodock.