# Paramètre « Exporter les ajouts comme des produits »

Ajout d'un paramètre booléen général `parametre_exporter_ajout_produit` dans `t_parametre`.

## Fichiers

- `database/migrations/2026_09_28_1404_V905000_NB_t_parametre_exporter_ajout_produit.php` : ajoute `t_parametre.parametre_exporter_ajout_produit` (boolean, défaut 0).
- `resources/views/parametre/index.blade.php` : ajout de la checkbox « Exporter les ajouts comme des produits » juste après « Extraction cout produit vers Smart Batching ».
- `app/Http/Controllers/parametre_controller.php` :
  - la checkbox est convertie en 0/1 dans `$request->merge` ;
  - la règle `['nullable', 'boolean']` est ajoutée à la validation ; la valeur est enregistrée via `fill(validated())`.
- `helpers/Modele_helpers.php` : ajout de `@property int $parametre_exporter_ajout_produit`.

- `public/trans/action_trans_ajout.php` (action `extraction`) : lit `parametre_exporter_ajout_produit` (et `parametre_export_cout_produit`).
  - **0** : JSON ajout standard, inchangé.
  - **1** : JSON aux mêmes clés que l'extraction de `action_trans_produit.php`, avec les correspondances ci-dessous.

| Clé | Valeur |
|---|---|
| `produit_code` | `ajout_code` |
| `produit_code_execution` | `ajout_code_execution` |
| `famille_produit_code` | code de la famille de l'ajout |
| `produit_libelle` | `ajout_libelle` |
| `produit_type` | `5` |
| `produit_sous_type` | `0` |
| `produit_cout_kg` | `ajout_cout`, ou 0 si `parametre_export_cout_produit` = 0 |
| `fournisseur_code` | via `t_ajout.fournisseur_id` |
| `produit_cpte_comptable` | `ajout_cpte_comptable` |
| autres champs produit | `""` ou `0` |

La file d'envoi reste `T_Ajout` : la centrale continue d'appeler `action_trans_ajout.php`, seul le format de la réponse change.

### Export externe (`public/trans_externe/extraction_ajout.php`)

- Case décochée : fichiers `<séquence>AJMA.dat` / `.flg`, contenu inchangé.
- Case cochée : fichiers `<séquence>PROD.dat` / `.flg`, chaque ligne au format de `extraction_produit.php`.
  - Type `5`, sous-type `0`, fournisseur via `t_ajout.fournisseur_id`, unité de vente = unité de l'ajout.
  - Unité d'achat vide ; champs propres aux produits à blanc ou à zéro.
  - Coût toujours exporté, comme dans `extraction_produit.php` (pas de filtre `parametre_export_cout_produit` dans l'export externe).
- Les trois requêtes ajoutent une jointure sur une sous-requête `t_fournisseur` réduite à `id_fournisseur` et `fournisseur_code`, pour ne pas écraser de colonnes du `SELECT *`.

## Points ouverts

- Vérifier que Smart Batching sait traiter une réponse au format produit pour un envoi `T_Ajout`.
- Sens retour : un produit de type 5 renvoyé par la centrale passerait par l'intégration de `action_trans_produit.php` et créerait une fiche dans `t_produit` en doublon de l'ajout ; ce cas n'est pas traité.
- `public/trans/V2/action_trans_ajout.php` n'a pas été modifié.
