369 lines
No EOL
14 KiB
Markdown
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 |