Export XLSX du répertoire fournisseurs (spec § 4.6), jumeau de l'export client M1.
- SupplierExportController avec #[Route(priority: 1)] (anti-conflit API Platform {id}),
is_granted('commercial.suppliers.view'). Mêmes filtres que la liste
(includeArchived/archivedOnly/search/categoryCode/siteId) via createListQueryBuilder()
partagé avec le SupplierProvider ; non archivés par défaut.
- Colonnes : Nom, Contact principal (SupplierContact de plus petit position — ERP-106),
Tél principal/secondaire, Email, Catégories (CSV), Sites (CSV), SIREN (omis sans
accounting.view), Date de création.
- hydrateContacts() ajouté au repository (chargement batché des contacts en une requête
IN, anti-N+1) — méthode dédiée à l'export, la liste paginée n'embarque pas les contacts.
- Tables supplier* ajoutées à ColumnCommentsCatalog : leurs COMMENT (posés par la
migration ERP-85) étaient dropés par le schema:update --force du test-db-setup et non
restaurés, cassant ColumnsHaveSqlCommentTest dès un re-setup de la base de test.
- Test fonctionnel SupplierExportControllerTest (9 cas).