---
suivi: 1716
date: 2026-09-25
sujet: Tâches fermées quand le dossier foncier disparaît
chantier: foncier
type: correctif
statut: poussé
hash:
fichiers:
  - app/Models/Task.php
  - app/Models/TacheSuivi.php
  - app/Services/TaskSyncService.php
  - app/Services/Foncier/DossierFoncierTachesClotureService.php
  - app/Services/Foncier/DossierFoncierCorbeilleService.php
  - app/Support/Foncier/TacheDossierFoncierDisparuFiltre.php
  - app/Http/Controllers/Foncier/DossierFoncierController.php
  - app/Http/Controllers/MesTachesController.php
  - app/Services/MesTachesResumeService.php
  - app/Console/Commands/CloturerTachesDossierFoncierClosCommand.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - docs/suivi/SUIVI_1716_taches_dossier_foncier_supprime.md
---

# SUIVI #1716 — tâches d’un dossier foncier supprimé

La tâche « Arbitrage CS » est créée sur la condition suspensive (`ConditionSuspensiveEcheanceType::creerTacheArbitrage`), pas sur le dossier. La corbeille soft-delettait seulement les tâches de suivi collées au dossier. L’arbitrage restait ouvert dans Mes tâches.

La mise en corbeille et le passage à Terminée ou Annulée ferment les tâches ouvertes (motif, personne, heure). Aucune ligne n’est détruite. Il n’existe pas de restauration de dossier : un retour de statut ne rouvre pas. La liste masque déjà ces tâches avant le rattrapage.

Fiches lues : SUIVI #1589 (corbeille, pas de restauration, actes intacts). Le patron de fermeture est `ValidationFactureSupprimeeHandler` / `TaskSyncService::closeOpenTaskRecord`.

## DÉPLOIEMENT

php artisan journal:sync
php artisan view:clear
php artisan foncier:cloturer-taches-dossiers-clos

## LEÇON

Une tâche d’arbitrage est rattachée à la condition (`taskable`), avec l’id du dossier dans `erp_context`. Fermer seulement `attachable = dossier` laisse l’arbitrage à l’écran. `DB::table` et un JSON d’id ne voient pas le soft delete tout seuls : le filtre de liste doit tester `deleted_at` et le statut clos.
