RG-171 – Le poids net marchand est calculé, détaillé, et la formule est imprimée
Deux formules doivent être proposées, choisies par produit et par contrat, et la formule retenue est imprimée sur le bon de réception avec le détail du calcul.
| Formule | Expression | Sur 1 000 kg à 15 % d’humidité, norme 13 %, impuretés 3 % |
|---|---|---|
| A - linéaire simple | Net = Brut × (1 − (H mesurée − H norme)/100) × (1 − impuretés/100) | 1 000 × 0,98 × 0,97 = 950,6 kg |
| B - bilan de masse | Net = Brut × (100 − H mesurée)/(100 − H norme) × (1 − impuretés/100) | 1 000 × 0,9770 × 0,97 = 947,7 kg |
La formule B est physiquement exacte - elle traduit la perte d’eau réelle - tandis que la formule A est plus répandue dans la pratique commerciale. L’écart, de l’ordre de trois kilogrammes pour mille, est faible mais systématique : il doit être choisi consciemment et écrit sur le document, faute de quoi il devient un sujet de litige avec le fournisseur.
Mise en œuvre
Section intitulée « Mise en œuvre »Le calcul est dans packages/domain (module pesee, page du paquet). Ce que l’énoncé ne précise pas est fixé par l’écart EC-037 (proposé) :
- base du calcul : poids net (brut − tare) ;
- un seul arrondi, sur la réfaction, selon le mode du contrat ;
- pas de bonus quand l’humidité est inférieure à la norme (formule A : excédent borné à zéro ; formule B : humidité ramenée à la norme) ;
- résultats de référence : 950 600 g (A) et 947 701 g (B) pour l’exemple ci-dessus.
Le paquet propose aussi la formule excedent_lineaire (réfaction = net × excédents d’humidité et d’impuretés au-dessus des maximums), décidée en EC-016.
Mise en œuvre
Section intitulée « Mise en œuvre »Livrée en L2-2. À l’enregistrement d’une réception sur contrat, calculerPeseeSurContrat lit la formule de la ligne du contrat pour le produit et calcule le net marchand ; la formule retenue et le détail du calcul sont figés sur la réception (formule_refaction, detail_calcul, net_marchand_g), pour être imprimés tels quels. Sans contrat, la formule est « aucune ». Un contrat inactif, sans ligne pour le produit, ou dont la formule a besoin de l’humidité et des impuretés absentes, refuse l’enregistrement (contrat_non_actif, contrat_sans_ligne_pour_le_produit, mesure_qualite_manquante) : rien n’est deviné. Tests : apps/api/test/receptions.test.ts, vecteurs VT-PESEE.
Scénarios de recette
Section intitulée « Scénarios de recette »Historique
Section intitulée « Historique »Mention du cahier v1.2 : « précisé en v1.2 ».
Ce qui change
Section intitulée « Ce qui change »La réfaction est lue sur le contrat, puis sur le produit à défaut. Elle est donc choisie par contrat et non plus seulement par produit. L’entité Contrat l’accueille.
Source : Analyse critique, « Incohérences internes et modèle de données », modèle de données ; Analyse critique, « Entités Contrat, Certification, Vente et Expédition ».