Les lots de production
La liste des lots, leur création, leurs filtres, et la suppression en masse qui oblige à retaper une phrase calculée par le serveur.
Sur cette page
Un lot est une série fabriquée à partir d'un modèle. Cet écran les liste tous, permet d'en créer, de filtrer, et de faire le ménage dans les brouillons sans toucher à ce qui est déjà frappé ou ancré. Vous y arrivez par l'entrée « Lots de production » de la rubrique Catalogue.

#Ce que l'écran affiche
Un tableau qui demande 20 lignes par page par défaut, avec une case à cocher par ligne. Les colonnes Marque et Modèle affichent leurs noms. La case de la barre de sélection porte « Sélectionner les lots supprimables » suivi de leur nombre : un lot ancré sur la chaîne ne peut pas être supprimé, il n'est donc pas compté.
La fiche d'un lot porte un lien « Ajouter des exemplaires à ce lot », qui mène à l'écran de création de produits. Une unité déjà frappée hors lot peut être rattachée après coup, mais seulement tant que le lot n'est pas ancré : l'arbre de Merkle a été calculé sur les unités présentes au moment de l'ancrage, en ajouter une ensuite produirait une unité dont la feuille n'est dans aucun arbre, et la racine inscrite sur la chaîne ne se réécrit pas. Le rattachement refuse aussi une unité qui a déjà un lot, car il rattache et ne déplace pas, une unité d'une autre marque, et une unité retirée. Une unité d'une marque que le compte ne voit pas est refusée comme introuvable (not_found), jamais comme appartenant à une autre marque. Si une seule unité est refusée, aucune n'est rattachée. C'est là, et nulle part ailleurs, qu'un exemplaire naît et se rattache à son lot : la fiche elle-même ne crée rien. Un lot sans exemplaire rattaché n'a rien à ancrer, puisque l'ancrage Merkle se calcule sur les produits du lot.
Le statut d'un lot n'est pas stocké, il est déduit par le serveur et renvoyé avec le lot. Ancré si le lot porte une transaction d'ancrage. Sinon frappé si tous ses produits le sont, une pièce inscrite sous la racine de son lot en mode ancré comptant comme frappée (pièces enregistrées par lot), en cours de frappe s'il y en a une partie seulement, brouillon dans les autres cas.
Deux boutons de nettoyage : « Supprimer les brouillons » pour la sélection courante, et « Force cleanup ({count} bloqués) » pour les lots qui ont résisté.
#Ce que vous pouvez y faire
Créer un lot. Le modèle se choisit dans une liste, par son nom, filtrée sur la marque sélectionnée : le formulaire demandait auparavant l'identifiant en base du modèle, un numéro qu'il fallait aller chercher sur un autre écran, alors que la marque avait déjà un sélecteur. Le mode d'authentification choisi dans le formulaire, entre « Encodage NFC », « Génération de QR Codes » et « Encodage NFC + QR Code », est bien transmis au serveur.
Filtrer. Les trois filtres de l'écran partent au serveur : le texte cherché, le statut et les dates de production. Le filtre de statut propose les quatre états qu'un lot peut avoir : Brouillon, En cours, Frappé et Ancré. Le nombre de résultats affiché en bas compte donc les lots retenus par le filtre, sur tout le catalogue et pas seulement sur la page ouverte.
La marque, elle, ne se filtre pas ici : la liste suit celle de la barre du haut, comme les autres écrans du catalogue. Avant, elle ne la suivait pas, et l'écran affichait les lots de toutes les marques du compte.
Cocher des lots, puis lancer leur suppression. L'écran demande d'abord un aperçu au serveur : cet appel compte ce qui serait détruit et n'écrit rien. Vous retapez ensuite la phrase que l'aperçu a renvoyée, et la suppression part.
Relancer un nettoyage forcé sur les lots restés bloqués. Cliquer une ligne pour ouvrir la fiche du lot.
#Ce qui conditionne l'accès
La suppression en masse accepte au plus 200 identifiants par appel, côté écran comme côté serveur. Le nettoyage forcé est plafonné à 25, parce que ce chemin tue des travaux d'encodage en cours et lâche des blocages multisig en attente.
La phrase à retaper vient uniquement de l'aperçu. Le serveur la construit à partir des comptes : « delete {n} batches, {m} products », ou « force delete {n} batches, {m} products, {j} jobs » pour le chemin forcé. Le bouton ne s'active que si le texte tapé, une fois normalisé, est égal à cette phrase, et un attendu vide ne l'active jamais.
Le nettoyage forcé ne vise que les lots bloqués qui ne sont ni ancrés, ni porteurs d'un passeport de lot publié. Ces deux états sont définitifs : l'un est inscrit sur la chaîne, l'autre a été lu par le public.
#Ce que l'écran refuse
La case à cocher d'un lot ancré est éteinte, avec l'infobulle « ancré on-chain ».
Un lot est bloqué s'il a des produits frappés, une transaction d'ancrage, des pièces inscrites en mode ancré, un passeport de lot publié, un travail d'encodage en cours, ou un article en attente de multisig. Les brouillons de passeport d'un lot, jamais publiés, partent avec lui.
À la création, le serveur refuse une marque hors du périmètre du compte par un 403 Accès interdit à cette marque. Un modèle inexistant donne un 404 « Product model not found », un modèle d'une marque que le compte ne voit pas le même 404, et un modèle d'une autre des marques du compte un 400 « Product model brand_id does not match batch brand_id ». Une référence de lot déjà prise dans la marque donne un 409 « Batch code '' already exists for this brand ».
Sous le champ de la référence, un avertissement apparaît avant la création quand la référence dépasse 20 caractères, ou contient un espace, une barre oblique, un signe pourcent ou une lettre accentuée : un lien GS1 ne peut pas la porter, donc ce lot ne pourrait jamais avoir de passeport de lot. Il n'empêche pas de créer le lot.
Le pays d'origine doit faire exactement 2 lettres, sinon le formulaire affiche « Doit être un code pays à 2 lettres (ex. FR) ».
Cette page vous a-t-elle été utile ?
Votre réponse ouvre un courriel pré-rempli dans votre messagerie, à destination de contact@sealtrust.io. Vous le relisez avant de l'envoyer.