bemade-addons/bemade_fsm/migration18.md
2025-05-29 21:35:47 -04:00

369 lines
No EOL
14 KiB
Markdown

# Improved Field Service Management - Migration vers Odoo 18.0
## Description
Ce module étend les fonctionnalités de gestion des services sur site (Field Service Management) avec des fonctionnalités spécifiques à Durpro.
## Fonctionnalités Ajoutées
### Gestion améliorée des services sur site
- **Existe dans Odoo 18.0 ?** : Partiellement
- **Différences avec la version native** :
- Gestion avancée des équipements et des contacts
- Système de modèles de tâches personnalisé
- Intégration approfondie avec les commandes de vente
- Gestion des visites FSM
- Propagation des affectations et des contacts
- **Alternatives** :
- Utiliser le module FSM standard d'Odoo
- Implémenter des fonctionnalités spécifiques via des modules personnalisés
## Modèles et Champs Modifiés
### Modèles impactés
- **project.task** :
- **Champs ajoutés** :
- work_order_contacts : Contacts liés au bon de travail
- site_contacts : Contacts sur site
- visit_id : Lien vers la visite FSM
- relevant_order_lines : Lignes de commande pertinentes
- work_order_number : Numéro de bon de travail
- propagate_assignment : Propagation des affectations
- is_closed : Indicateur de tâche fermée
- root_ancestor : Tâche racine de la hiérarchie
- **Méthodes modifiées** :
- create() : Gestion des contacts et numéros de bon de travail
- write() : Propagation des modifications aux sous-tâches
- _compute_allow_billable() : Calcul de la facturabilité
- _fsm_create_sale_order_line() : Création de lignes de commande
- action_fsm_validate() : Validation des tâches FSM
- synchronize_name_fsm() : Synchronisation des noms des tâches
- **Recommandations de migration** :
- Vérifier la compatibilité avec le nouveau système de tâches Odoo 18
- Tester la propagation des modifications
- Adapter les calculs de facturabilité
- Vérifier la gestion des noms des tâches
- **task.template** :
- **Nouveau modèle** : project.task.template
- **Champs principaux** :
- name : Nom du modèle
- description : Description HTML
- assignees : Utilisateurs assignés par défaut
- customer : Client par défaut
- project : Projet par défaut
- tags : Tags par défaut
- parent : Modèle parent
- subtasks : Sous-tâches
- sequence : Ordre d'affichage
- company_id : Société
- planned_hours : Heures planifiées
- equipment_ids : Équipements à entretenir
- **Méthodes principales** :
- _prepare_new_task_values_from_self() : Prépare les valeurs pour une nouvelle tâche
- create_task_from_self() : Crée une tâche à partir du modèle
- **Recommandations de migration** :
- Vérifier la compatibilité avec le nouveau système de modèles de tâches Odoo 18
- Tester la création de tâches à partir des modèles
- Adapter la gestion des équipements et des heures planifiées
- **product.template** :
- **Champs ajoutés** :
- task_template_id : Modèle de tâche associé
- is_field_service : Indicateur de service sur site
- **Recommandations de migration** :
- Vérifier la compatibilité avec le nouveau système de produits Odoo 18
- Tester la gestion des modèles de tâches
- Adapter l'indicateur de service sur site
- **res.partner** :
- **Champs ajoutés** :
- is_site_contact : Indicateur de contact sur site
- is_service_site : Indicateur de site de service
- site_ids : Sites de travail liés
- site_contacts : Contacts sur site
- work_order_contacts : Destinataires des bons de travail
- **Méthodes modifiées** :
- _compute_is_site_contact() : Calcul de l'état de contact sur site
- _search_is_site_contact() : Recherche des contacts sur site
- _compute_is_service_site() : Calcul de l'état de site de service
- **Recommandations de migration** :
- Vérifier la compatibilité avec le nouveau système de partenaires Odoo 18
- Tester les calculs des indicateurs
- Adapter la gestion des relations entre sites et contacts
- **sale.order** :
- **Champs ajoutés** :
- valid_equipment_ids : Équipements valides
- default_equipment_ids : Équipements par défaut à entretenir
- summary_equipment_ids : Équipements en cours de maintenance
- site_contacts : Contacts sur site
- work_order_contacts : Destinataires du bon de travail
- visit_ids : Visites FSM liées
- is_fsm : Indicateur de commande FSM
- **Méthodes modifiées** :
- get_relevant_order_lines() : Récupère les lignes pertinentes pour une tâche
- _compute_summary_equipment_ids() : Calcule les équipements en maintenance
- _onchange_partner_shipping_id() : Gère les changements de partenaire
- _compute_default_contacts() : Calcule les contacts par défaut
- _compute_default_equipment() : Calcule les équipements par défaut
- copy() : Gère la copie des visites
- _create_default_visit() : Crée une visite par défaut
- _create_or_organize_visits_if_needed() : Organise les visites FSM
- action_confirm() : Confirmation de commande avec gestion FSM
- write() : Gère les mises à jour des partenaires
- **Recommandations de migration** :
- Vérifier la compatibilité avec le nouveau système de commandes Odoo 18
- Tester la gestion des équipements
- Adapter la gestion des visites FSM
- Vérifier les calculs de contacts et d'équipements
## Vues à modifier
- **Vues existantes** :
- Formulaire de tâche :
- Ajout d'une page "Equipment and Contacts"
- Modification des boutons de validation
- Ajout du champ propagate_assignment
- Vue liste :
- Ajout du champ work_order_number
- Masquage de certains champs optionnels
- Vue calendrier :
- Personnalisation des couleurs par utilisateur
- Suppression du champ worksheet_template_id
- Vue de recherche :
- Modification des filtres de planification
- Ajout du filtre "Parent Task"
- **Nouvelles vues** :
- Aucune nouvelle vue créée, uniquement des modifications des vues existantes
- **Recommandations pour Odoo 18** :
- Vérifier la compatibilité avec les nouvelles vues Odoo 18
- Adapter les modifications de vues aux nouveaux designs
- Tester les fonctionnalités de recherche et de filtrage
- Vérifier la gestion des couleurs dans le calendrier
## Rapports
- **Rapports personnalisés** :
- **Nouveaux blocs de rapport** :
- Tableau des matériaux
- Tableau des temps et matériaux avec tarification
- Liste des sous-tâches
- Bloc d'informations sur la commande
- Résumé des équipements
- Entrées de feuille de temps
- Bloc de signature
- **Modifications principales** :
- Intégration des contacts et informations client
- Affichage des dates planifiées
- Gestion des signatures numériques
- Personnalisation de la mise en page
- **Recommandations pour Odoo 18** :
- Vérifier la compatibilité avec le nouveau système de rapports Odoo 18
- Adapter les modèles de rapport aux nouvelles fonctionnalités
- Tester l'affichage des différents blocs
- Vérifier la gestion des signatures numériques
## Assistants (Wizards)
- **Nouveaux assistants** : À documenter
## Analyse des Alternatives Natives Odoo 18.0
### Fonctionnalités Natives à Explorer
1. **Gestion des Services** :
- Module Industry FSM d'Odoo Enterprise
- Nouvelles fonctionnalités de planification
- Système de rapports amélioré
2. **Gestion des Équipements** :
- Module Maintenance d'Odoo
- Intégration avec FSM
- Système de suivi des équipements
3. **Gestion des Contacts** :
- Système de contacts hiérarchiques
- Gestion des rôles des contacts
- Système d'adresses de livraison
### Approche "Vanilla First"
1. **Fonctionnalités à Conserver en Custom** :
- Gestion spécifique des visites FSM
- Propagation des affectations
- Modèles de tâches personnalisés
- Gestion avancée des contacts sur site
2. **Fonctionnalités à Migrer vers Native** :
- Utiliser le système de planification natif
- Adopter le système de rapports standard
- Utiliser la gestion des équipements native
- Intégrer avec le système de contacts standard
## Plan de Migration
### Phase 1 : Analyse et Préparation
1. **Audit des Fonctionnalités** :
- [ ] Identifier les fonctionnalités disponibles nativement
- [ ] Lister les gaps fonctionnels
- [ ] Évaluer l'impact sur les processus existants
2. **Planification** :
- [ ] Définir la stratégie de migration
- [ ] Établir un calendrier
- [ ] Identifier les risques
### Phase 2 : Migration Technique
1. **Adaptation du Code** :
- [ ] Mettre à jour les vues (tree -> list)
- [ ] Supprimer les attrs obsolètes
- [ ] Adapter les méthodes aux nouvelles API
2. **Intégration Native** :
- [ ] Intégrer avec Industry FSM
- [ ] Connecter avec le module Maintenance
- [ ] Adapter le système de contacts
### Phase 3 : Tests et Validation
1. **Tests Fonctionnels** :
- [ ] Validation des workflows
- [ ] Tests des rapports
- [ ] Vérification des intégrations
2. **Tests de Performance** :
- [ ] Analyse des requêtes SQL
- [ ] Tests de charge
- [ ] Optimisation si nécessaire
## Recommandations Spécifiques
### Modèles et Champs
1. **project.task** :
- Utiliser les champs natifs quand possible
- Conserver uniquement les champs spécifiques
- Adapter les méthodes aux nouvelles API
2. **task.template** :
- Évaluer le système de modèles natif
- Simplifier la structure si possible
- Optimiser la création de tâches
3. **sale.order** :
- Utiliser les fonctionnalités FSM natives
- Optimiser la gestion des visites
- Simplifier les calculs
### Vues et Interface
1. **Modifications Prioritaires** :
- Remplacer tree par list
- Supprimer les attrs obsolètes
- Adapter aux nouveaux standards UI
2. **Améliorations Suggérées** :
- Utiliser les nouveaux widgets
- Simplifier les vues
- Améliorer l'expérience utilisateur
### Rapports
1. **Stratégie de Migration** :
- Utiliser le nouveau système de rapports
- Adapter les modèles existants
- Optimiser le rendu
## État de la Migration
⚪ En analyse préliminaire
## Notes Importantes
- Module complexe nécessitant une approche progressive
- Forte dépendance avec d'autres modules
- Impact important sur les processus métier
- Nécessité de formation des utilisateurs
## Prochaines Étapes
1. Valider l'approche avec les parties prenantes
2. Créer un environnement de test
3. Commencer par les fonctionnalités critiques
4. Planifier la formation des utilisateurs
## Analyse Technique
### Fonctionnalités Natives dans Odoo 18.0
Le module `industry_fsm` d'Odoo Enterprise 18.0 inclut déjà plusieurs fonctionnalités avancées :
1. **Gestion des Tâches FSM**
- Champ `is_fsm` sur les projets pour identifier les projets FSM
- Champ `fsm_done` sur les tâches pour marquer leur complétion
- Gestion des signatures sur les rapports de travail
- Gestion des coordonnées client (téléphone, adresse, etc.)
- Planification avec dates de début/fin
2. **Fonctionnalités de Base**
- Vue spécifique pour les travailleurs sur le terrain
- Rapports sur les tâches
- Intégration avec les feuilles de temps
- Géolocalisation des clients
- Gestion des produits sur les tâches
3. **Sécurité et Contraintes**
- Règles de sécurité spécifiques FSM
- Contraintes sur les projets FSM (company_id requis)
- Restrictions sur les dépendances de tâches et les jalons
### Différences avec Notre Module
1. **Fonctionnalités à Migrer**
- [ ] Fonctionnalités spécifiques de gestion d'équipement
- [ ] Workflows personnalisés
- [ ] Rapports et analyses spécifiques
- [ ] Intégrations avec d'autres modules custom
2. **Fonctionnalités à Adapter**
- [ ] Utiliser les champs natifs plutôt que nos champs customs
- [ ] Adapter nos vues aux nouvelles conventions Odoo 18.0
- [ ] Intégrer nos processus avec le système natif
## Plan de Migration
### Phase 1 : Préparation
1. **Analyse des Données**
- [ ] Identifier les données spécifiques à notre module
- [ ] Mapper les champs actuels vers les champs natifs
- [ ] Lister les fonctionnalités uniques à préserver
2. **Configuration**
- [ ] Activer et configurer le module `industry_fsm`
- [ ] Vérifier les dépendances et les conflits
- [ ] Préparer les scripts de migration des données
### Phase 2 : Migration
1. **Migration des Données**
- [ ] Transférer les données vers les structures natives
- [ ] Adapter les configurations existantes
- [ ] Mettre à jour les vues et rapports
2. **Développement**
- [ ] Adapter le code pour utiliser l'API Odoo 18.0
- [ ] Implémenter les fonctionnalités manquantes
- [ ] Mettre à jour les vues XML (plus d'attrs, list au lieu de tree)
### Phase 3 : Tests
1. **Validation Fonctionnelle**
- [ ] Tester les fonctionnalités de base FSM
- [ ] Vérifier nos fonctionnalités spécifiques
- [ ] Valider les workflows
2. **Tests d'Intégration**
- [ ] Tester avec les autres modules
- [ ] Vérifier la compatibilité mobile
- [ ] Valider les performances
## État de la Migration
🟡 En cours d'analyse - Utilisation maximale des fonctionnalités natives
## Notes Importantes
- Le module `industry_fsm` d'Odoo Enterprise offre une base solide
- Plusieurs de nos fonctionnalités peuvent être remplacées par des fonctionnalités natives
- Certaines personnalisations spécifiques devront être maintenues
- La nouvelle interface utilisateur nécessitera une formation des utilisateurs
## Prochaines Étapes
1. Valider l'approche avec l'équipe
2. Créer les scripts de migration des données
3. Développer les fonctionnalités manquantes
4. Planifier la formation des utilisateurs
## Notes de Version
- Version originale: 17.0.1.0.0
- Dernière analyse: 26/01/2025