@mostajs/stocks-ui
v0.1.5
Published
Vues PURES (view-model → HTML) des stocks : file de relecture des correspondances facture ↔ matière, et tableau des références fournisseurs. Compose @mostajs/app-shell-ui. Aucune logique métier, aucun accès données — le moteur est @mostajs/stocks.
Maintainers
Readme
@mostajs/stocks-ui
Auteur : Dr Hamid MADANI [email protected] · AGPL-3.0-or-later
Vues pures (view-model → HTML) des stocks. Aucune logique métier, aucun accès aux données :
le moteur est @mostajs/stocks, ce module rend des fragments HTML que
l'application enveloppe dans son shell.
La file de relecture
rapprocher() refuse de deviner : une ligne de facture qu'aucun code fournisseur ne résout
n'est pas rattachée. Cet écran est l'endroit où un humain tranche — une fois, puisque la
correspondance déclarée resservira à chaque facture suivante.
import { fileRelecture, correspondancesTable, resumeRapprochement } from '@mostajs/stocks-ui';
const { entrees, inconnues } = await stocks.approvisionnement.rapprocher(lignes, { fournisseur });
html = resumeRapprochement({ entrees, inconnues })
+ fileRelecture({ inconnues, matieres, fournisseur, action: '/stocks/lier' });Deux décisions gouvernent cet écran :
- aucune suggestion n'est présélectionnée. Une liste ouverte sur la meilleure suggestion se valide d'un clic distrait, et une matière mal rattachée ne lève aucune erreur : elle fausse le coût matière, donc la marge, de tous les plats qui la contiennent, pendant des mois ;
- le résultat du choix est montré avant d'être validé.
parColisest l'endroit où l'on se trompe d'un facteur mille sans s'en apercevoir ; l'aperçu affiche le prix au mille qui en découlerait — 13,47 €/kg se lit, 13 470 €/kg saute aux yeux.
Les libellés viennent de l'OCR d'un document externe : tout est échappé.
Exemple
node examples/run.mjs produit examples/.out/file-relecture.html à partir des sept lignes réelles
d'une facture METRO.
La facture d'achat (0.1.4)
schemaFacture({ fournisseurs }) · formulaireFacture(...) · lireFacture(formData, opts) — la
saisie d'une facture, prête pour stocks.approvisionnement.rapprocher().
⚠️ quantite est le nombre imprimé, dans l'unité de la facture (3 colis, ou 8060 g) ;
montant est le total HT de la ligne, en plus petite unité monétaire. Des entiers. La
conversion vers l'unité de stock est parColis, qui vit sur la référence du fournisseur —
c'est ce partage qui fait qu'une correspondance déclarée une fois ressert à toutes les factures
suivantes.
