# Étiquettes et rapports

> Les dossiers Rapport, Étiquettes et Lignes de base de données d'un essai : chaque enregistrement, chaque artefact et chaque ligne avec ses tentatives d'envoi, le sélecteur de file, Ouvrir le PDF, Renvoyer le rapport, Imprimer et Réimprimer, Renvoyer, et les deux façons d'enregistrer un nouveau document.

Le dossier d'essai conserve les documents produits à partir de l'essai dans deux dossiers,
**Rapport** et **Étiquettes**, entre les critères jugés et les occurrences. Les deux sont d'abord une
preuve et ensuite une surface de commande : chaque artefact liste chaque tentative d'envoi avec la
file où elle est allée et son statut durable, et ni l'un ni l'autre n'appelle jamais « imprimé » un
document mis en file. Les deux portent la même paire de gestes, que seul le support distingue :
enregistrer un **nouveau** document à partir de la preuve figée de l'essai, et **réémettre** un
document enregistré sans rien composer de nouveau. La consultation suit Voir les historiques; les
verbes nomment leurs propres conditions plus bas.

Une permission que le rôle ne détient pas et un moment qui refuse sont deux choses différentes, et les
dossiers y répondent différemment. Un rôle sans l'une des permissions ci-dessous ne se voit dessiner
aucun des contrôles qu'elle couvre : la ligne d'envoi, son sélecteur de file et le bloc qui
enregistre un nouveau document sont simplement absents, un bandeau en tête du dossier dit pourquoi
(« Actions d'étiquette indisponibles », « Actions de rapport indisponibles »), et chaque artefact,
chaque valeur résolue et chaque tentative d'envoi demeurent lisibles, ce qui est ce que ce rôle
venait chercher. Un contrôle que seul le moment refuse demeure à sa place, grisé, en disant sur
lui-même ce qui manque.

Les deux dossiers offrent un sélecteur de file par artefact aux rôles qui peuvent en envoyer un,
amorcé avec la file en vigueur sur l'unité de l'essai pour ce genre de document et ce moment
([Imprimantes](process-printers)) quand cette file est installée, sinon « Choisissez une file
installée ». Sans aucune file installée, une ligne le dit, et le sélecteur et le verbe restent grisés
sur « Aucune file d'impression Windows n'est installée sur cette station. »

## Statuts {#statuses}

| Statut | Sens |
| --- | --- |
| Non envoyé | L'artefact ou l'enregistrement existe et aucune tentative n'a jamais été enregistrée. |
| Envoyé à la file | Windows a accepté le document. Cela ne confirme pas qu'une feuille est sortie. |
| Échec | La file a refusé; l'erreur est montrée à côté de la tentative. |
| Envoi incertain | L'application s'est arrêtée après avoir enregistré la tentative et avant d'enregistrer la réponse de la file. Elle n'est jamais retentée automatiquement, parce que l'imprimante a peut-être déjà produit le document. |
| Échec de la génération | Une étiquette dont les commandes n'ont pas pu être générées; la raison est montrée et il n'y a rien à imprimer. |

Chaque tentative montre son statut, sa file, sa fenêtre (« démarrée → achevée », ou « démarrée →
aucune réponse durable ») et son erreur.

## Rapport {#report}

Le dossier compte les rapports enregistrés sur l'essai : un par commande de rapport qui a choisi
d'imprimer automatiquement ou de garder une copie, et rien pour une commande qui n'a demandé ni l'un
ni l'autre, puisqu'une simple génération est un export. Sans aucun, il indique « Aucun rapport n'est
enregistré sur cet essai. Le PDF de fin d'essai est consigné ici quand la procédure en garde une
copie dans l'essai ou l'imprime automatiquement », et se termine par «; un nouveau peut toujours
être rendu ci-dessous. » seulement pour un rôle à qui le bloc qui en rend un est dessiné.

Chaque enregistrement est un dépliant intitulé du nom du groupe, du nom de la mise en page, de
l'instant et du statut. À l'intérieur : le nom du fichier publié, ce que l'essai en détient (« copie
conservée dans l'essai · 312,4 KB » ou « référence seule », avec une indication disant ce qu'un renvoi
soumettra), l'identifiant de l'artefact, puis :

| Contrôle | Ce qu'il fait | Grisé quand | Demande |
| --- | --- | --- | --- |
| Ouvrir le PDF (sur la station) ou Télécharger le PDF (dans un navigateur) | Ouvre le PDF publié depuis le dossier des rapports dans le lecteur du système, ou, dans un navigateur, l'ouvre dans un nouvel onglet (un navigateur qui bloque l'onglet le télécharge à la place). Un enregistrement dont le nom gardé n'est pas celui d'un rapport publié sur cette station, ce que porte un essai importé d'une autre installation, est refusé avant toute lecture : « Cet enregistrement ne nomme aucun rapport stocké sur cette station. Régénérez-le depuis les Historiques. » Un nom qui est bien celui d'un rapport publié mais dont le fichier n'est plus là indique « Le PDF du rapport n'est plus stocké sur cette station. Régénérez-le depuis les Historiques. » | Une génération, un renvoi ou une autre ouverture est en cours. | Voir les historiques |
| Tentatives d'impression | La liste des tentatives, de la plus récente à la plus ancienne. | | |
| Renvoyer le rapport | Soumet un document à la file choisie et ajoute une tentative à cet enregistrement, jamais un nouvel enregistrement. Un enregistrement dont une copie est gardée dans l'essai soumet cette copie octet pour octet; un enregistrement en référence seule soumet le PDF publié tel qu'il est, donc c'est un rendu ultérieur qui part, et un PDF disparu est refusé (« Le PDF du rapport n'est plus conservé sous le répertoire des rapports. Régénérez-le avant de le renvoyer. »). | Aucune file choisie, un autre verbe en cours, la station en lecture seule. | Voir les historiques, Exécuter les procédures |

Consulter ce que l'essai a publié, c'est lire; produire ou réémettre un document, non : les trois
gestes sont donc contrôlés séparément. La ligne de fichier est dessinée à tout rôle qui lit le
dossier, un rôle sans Exécuter les procédures n'obtient ni sélecteur de file ni renvoi, et un rôle
sans Exporter/importer les historiques n'obtient pas le dépliant qui rend un nouveau PDF.
Ce que le moment refuse est dit sur le contrôle grisé lui-même : « Un rapport est encore en cours
d'ouverture. », « Un rapport est encore en cours d'envoi. », « Un rapport est encore en cours de
rendu. », « Runtime arrêté », « Aucune file d'impression Windows n'est installée
sur cette station. », « Choisissez la file d'impression vers laquelle ce rapport part. »

**Nouveau PDF avec un rapport actuel**, le dépliant sous la liste, est l'autre moitié de la paire :
un sélecteur **Rapport** (« (rapport de la procédure) » ou toute mise en page de la bibliothèque) et
**Générer le rapport**, qui rend de nouveau le PDF de l'essai à partir de son propre fichier, le
republie dans le dossier des rapports sous le nom seul de l'essai, n'enregistre rien et n'atteint
aucune file. Tout le dépliant n'est dessiné que pour un rôle qui détient Exporter/importer les
historiques, et tant que l'essai enregistre encore il porte l'avis « Un rapport se rend une fois
l'essai terminé et ses preuves finales figées. » au-dessus d'un sélecteur et d'un verbe grisés sur
« Cet essai enregistre encore, donc il n'a pas encore d'instantané figé. »; ce même rendu est le
Générer le PDF de la bande, qui ouvre en plus le résultat
([Exporter un essai](histories-export#pdf)). Une mise en page supprimée pendant que le dossier est
ouvert sort du sélecteur, qui retombe sur celle de la procédure.

## Étiquettes {#labels}

Le dossier compte les artefacts stockés dans l'essai, du plus récent au plus ancien : les étiquettes
que la procédure a émises au démarrage et à la fin, et chaque étiquette enregistrée par la suite, dont
le nom dit par quel chemin elle est venue : `<groupe> · Generated from Histories` pour une étiquette
rendue par **Nouvelle étiquette** sur la bande, et `Generated from Histories` seul pour une étiquette
rendue par **Nouvelle étiquette avec un modèle actuel**, qui n'appartient à aucun groupe. Le nom est
enregistré en anglais, quelle que soit la langue de l'écran. Sans aucun, il indique « Aucun artefact
d'étiquette n'est stocké dans cet essai. Les actions automatiques et chaque étiquette émise pour lui
plus tard apparaissent ici. »

Chaque artefact est un dépliant intitulé du nom du groupe, du nom du modèle de document, du moment
(Démarrage ou Fin), de l'instant et du statut. À l'intérieur : l'erreur de génération quand il y en a
une; la bande RAW (le nombre d'octets figés ou « AUCUN CONTENU », le fichier source du modèle, le
SHA-256 de la version du modèle employée, l'identifiant de l'artefact); **Valeurs résolues**, une
ligne par marqueur avec la valeur substituée et la source dont elle vient (« Aucun marqueur dans ce
fichier de commandes fixe. » pour une étiquette fixe); **Tentatives d'impression**; et, pour un artefact
qui porte des commandes, la ligne d'envoi :

| Contrôle | Ce qu'il fait | Grisé quand | Demande |
| --- | --- | --- | --- |
| Imprimer (Réimprimer dès qu'une tentative existe) | Soumet à la file choisie exactement les octets figés et ajoute une tentative. Aucun marqueur n'est résolu de nouveau et le modèle n'est jamais lu, donc la file reçoit cet artefact octet pour octet, quoi qu'il ait changé depuis. | Aucune file choisie, un autre envoi en cours, la station en lecture seule. | Voir les historiques, Exécuter les procédures |

Un rôle qui n'a pas les deux permissions ne se voit dessiner aucune ligne d'envoi, ni bloc de
composition non plus : il lit les artefacts, leurs valeurs résolues et leurs tentatives, et le
dossier ne lui offre rien à presser. Ce que le moment refuse est dit sur le contrôle grisé lui-même :
« Une étiquette est encore en cours d'envoi. », « Runtime arrêté », « Aucune file
d'impression Windows n'est installée sur cette station. », « Choisissez la file d'impression vers
laquelle cet artefact part. »

Une nouvelle étiquette pour l'essai s'enregistre de deux façons, et aucune ne l'envoie : le nouvel
artefact s'affiche en tête du dossier dès qu'il est enregistré, et vous l'imprimez par la suite
depuis sa propre entrée.

- **Nouvelle étiquette**, sur la bande au-dessus du dossier, rend l'une des étiquettes que la
  procédure de l'essai configure, laquelle apparie déjà un modèle de document avec ses
  correspondances de marqueurs confirmées, donc aucun formulaire n'est nécessaire. Son sélecteur vaut
  par défaut « (étiquette de la procédure) », la première étiquette de fin dans l'ordre d'émission
  (la première étiquette de démarrage pour une procédure qui n'en émet aucune à la fin), et liste
  chaque commande d'étiquette de la procédure nommée par son groupe (avec « · au démarrage » ou
  « · à la fin » quand un groupe en contient plusieurs). Un choix dont le modèle de document a quitté
  la bibliothèque indique « · aucun modèle », un choix dont le modèle ne contient aucune commande
  « · aucune commande »; les deux restent listés et ne peuvent pas être générés. Le filtre de
  verdict de la commande est ignoré : c'est cette étiquette que vous avez demandée. Un essai dont la
  procédure a disparu, et un essai importé, ne configurent aucune étiquette (« La procédure de cet
  essai ne configure aucune étiquette. »). Seul un essai terminé génère.
- **Nouvelle étiquette avec un modèle actuel**, le dépliant sous les artefacts, prend n'importe quel
  modèle de document de la bibliothèque qui contient des commandes et fait correspondre chaque
  marqueur à la main, à partir d'une preuve déjà figée dans cet essai. Pour chaque marqueur : un
  sélecteur de **source** listant les valeurs figées avec leur aperçu (« Identité de l'essai · Nom du
  modèle : Chambre climatique », « Métadonnées · Numéro de série : A12 », « Critère · Dépassement ·
  cycle 1 · Résultat : Conforme »), un format pour une source de date (Tel qu'enregistré, Date de
  la station, Heure de la station, Date et heure de la station, Format ISO 8601) ou un nombre de
  décimales pour une source numérique (« Tel qu'enregistré », 0 à 9), et une case
  **Confirmer la correspondance**. La ligne sous les lignes compte « n marqueurs sur m explicitement confirmés » et **Générer l'étiquette**
  reste grisé sur « Confirmez d'abord chaque marqueur sur une source figée. » tant que chaque
  marqueur n'est pas confirmé avec une source réelle; un modèle sans marqueur génère des commandes
  fixes, et un modèle sans commande est refusé (« Ce modèle n'a encore aucune commande
  d'imprimante. »). Les valeurs offertes sont les valeurs figées seulement : rien de vivant n'est lu,
  et un essai qui enregistre encore n'a aucun instantané terminal à partir duquel générer
  (« Instantané final indisponible », le verbe grisé sur « Cet essai enregistre encore, donc il n'a
  pas encore d'instantané figé. »).

Les deux façons demandent Voir les historiques et Exécuter les procédures, sans quoi ni l'une ni
l'autre n'est dessinée, et une station qui accepte les écritures, ce qui ne fait que les griser
(« Runtime arrêté »); l'artefact qu'elles enregistrent est immuable, et le
résultat arrive dans le journal des actions (« Nouvelle étiquette enregistrée · modèle »).

## Lignes de base de données {#database-rows}

Un essai dont les actions écrivent dans une base de données de l'usine
([commandes de ligne de base de données](process-actions#database-row-commands)) porte un troisième
dossier, **Lignes de base de données**, sous les deux autres; un essai sans ligne de ce genre n'en
dessine aucun. Il compte les lignes que l'essai a écrites ou tenté d'écrire
(« 1 ligne », « `<n>` lignes »). Chaque ligne est un volet dépliable dont l'en-tête porte le nom du
groupe, la table et l'équipement par lequel elle est passée (« `<table>` par `<device>` »), le
moment et l'instant, et le statut de sa dernière tentative. À l'intérieur, **Valeurs** liste une
ligne par colonne avec la valeur que l'essai a figée quand sa commande s'est déclenchée
(« (aucune valeur) » pour une valeur vide), et **Tentatives** liste chaque tentative avec son
statut, sa fenêtre et la réponse de la base de données.

| Statut | Sens |
| --- | --- |
| Ligne écrite | La base de données a pris la ligne. |
| Ligne non écrite | La base de données l'a refusée, n'a pas répondu à temps ou n'a pas pu être jointe; la raison est à côté de la tentative, dans les mots du driver. |
| Écriture incertaine | La station s'est arrêtée après avoir enregistré la tentative et avant que la base de données réponde. Elle n'est jamais renvoyée d'elle-même, car la base de données détient peut-être déjà la ligne. |
| Jamais envoyée | La ligne est enregistrée et aucune tentative n'a été faite. |

| Contrôle | Ce qu'il fait | Grisé quand | Demande |
| --- | --- | --- | --- |
| Renvoyer | Envoie les valeurs que cet essai a figées, inchangées, à la même table par l'équipement tel qu'il est configuré maintenant, et ajoute une tentative à cette ligne. Rien n'est résolu de nouveau à partir de la configuration. Une ligne que la base de données a déjà prise est ajoutée une seconde fois. | Une ligne est encore en cours d'envoi, la station en lecture seule. | Voir les historiques, Exécuter les procédures |

Un rôle sans les deux permissions lit les lignes et leurs tentatives et ne voit aucune rangée
d'envoi; l'en-tête du dossier dit « Renvoyer une ligne exige à la fois l'accès aux Historiques et la
permission d'exécution des procédures. Les lignes et leurs tentatives restent consultables. » Le
résultat d'un envoi arrive dans le journal des actions : « La ligne a été écrite dans `<table>`. »
ou « La ligne n'a pas été écrite : `<reason>` ».

## Ce que les dossiers ne font pas {#what-the-dossiers-do-not-do}

Ils ne rendent jamais de nouveau une étiquette ou un rapport enregistré pour le réémettre : une
réimpression envoie des octets figés et un renvoi envoie le document enregistré. Ils ne changent
jamais un artefact plus ancien. Ils n'impriment pas la page d'essai d'un modèle de document (cela
revient à la page propre au modèle sous [Modèles](process-labels#test-send)), et ils ne décident pas
par quelle file une procédure imprime : le sélecteur ici vaut par artefact et par envoi.
