fix(commercial) : validation onglet compta LCR + controle croise BIC/IBAN (ERP-118) #78
Reference in New Issue
Block a user
Delete Branch "feature/ERP-118-fix-validation-onglet-compta-lcr"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ERP-118 — Validation onglet Comptabilité (LCR / RIB)
1. Fix — 422 « Au moins un RIB est obligatoire pour le type de règlement LCR »
L'onglet Comptabilité envoyait le
PATCH /clients/{id}des scalaires (paymentType=LCR) avant lePOST /clients/{id}/ribs. Or le back valide RG-1.13 (LCR ⟹ ≥1 RIB persisté) sur ce PATCH, en lisant les RIB en base — vides à ce stade. Résultat : 422, et lereturnempêchait la création des RIB. Premier passage en LCR impossible (deadlock).Correctif : inverser l'ordre — RIB d'abord, puis PATCH des scalaires.
new.vue:POST/PATCH RIB→PATCH scalaires.[id]/edit.vue: ordre universelCREATE/UPDATE RIB→PATCH scalaires→DELETE RIB retirés(suppressions après le PATCH : le guard back n'autorise la suppression du dernier RIB qu'une fois quitté LCR). Corrige au passage un 409 latent sur le swap du dernier RIB en LCR.2. Feat — contrôle croisé pays BIC/IBAN
Assert\Bic(ibanPropertyPath: 'iban')surClientRibetSupplierRib: le pays du BIC (positions 5-6) doit correspondre au pays de l'IBAN (positions 1-2). Un BIC et un IBAN valides isolément mais de pays différents → 422, violation portée par le champbicavec message FR (ibanMessage), mappée inline côté front. Aucune modif front nécessaire.Tests
propertyPath=bic, message FR) côté client et fournisseur.EntityConstraintsHaveFrenchMessageTestinclus), suite front Vitest au vert.Points d'attention