# Module ChangeTiers pour Dolibarr

## Version 3.0.0 - Module complet de gestion des tiers avec import de lignes avancé

### 🎯 Description

Le module **ChangeTiers** permet de modifier le tiers concerné sur différents éléments de Dolibarr et d'importer des lignes depuis n'importe quel type de document.

---

## ✨ Fonctionnalités principales

### 1. **Changement de tiers**

#### Côté Client
- ✅ **Devis** : Modification du tiers sur les propositions commerciales
- ✅ **Factures** : Modification du tiers sur les factures clients (avec protections)
- ✅ **Commandes** : Modification du tiers sur les commandes clients
- ✅ **Expéditions** : Modification du tiers sur les fiches d'expédition
- ✅ **Contrats** : Modification du tiers sur les contrats

#### Côté Fournisseurs
- ✅ **Demandes de prix** : Modification du fournisseur sur les demandes de prix
- ✅ **Commandes fournisseurs** : Modification du fournisseur sur les commandes

#### Protections intelligentes
- 🛡️ **Factures payées** : Blocage automatique si paiements enregistrés
- 🛡️ **Comptabilité** : Blocage si transfert comptable effectué
- 🛡️ **Permissions** : Contrôle d'accès granulaire par type de document

### 2. **Import de lignes multi-documents** ⭐ NOUVEAU v3.0

Importez des lignes depuis **6 types de documents** différents :
- 📄 Devis clients (Propositions commerciales)
- 📄 Factures clients
- 📄 Commandes clients
- 📄 Demandes de prix fournisseurs
- 📄 Commandes fournisseurs
- 📄 Factures fournisseurs

#### Filtres avancés
- 🔍 **Par tiers** : Trouvez rapidement les documents d'un client/fournisseur spécifique
- 🔍 **Par statut** : Brouillon, validé, signé, facturé, etc.
- 🔍 **Par référence** : Recherche dans ref et ref_client
- 🔍 **Par période** : Filtrez par date de début et date de fin

#### Aperçu temps réel 💰
- 📊 **Total du document source** affiché automatiquement
- 📊 **Total des lignes sélectionnées** calculé en temps réel
- 📊 **Nouveau total du devis** après import prévisualisé
- ✅ **Sélection intelligente** : Cochez/décochez tout d'un clic

### 3. **Édition en ligne des lignes** ⭐ NOUVEAU v3.0

**Modifiez directement les lignes avant import sans ouvrir le document source !**

- ✏️ **Édition inline** de tous les champs (description, quantité, prix, remise)
- 🔄 **Calculs automatiques** du total lors de chaque modification
- 💚 **Interface intuitive** : cliquez sur un champ pour l'éditer
- ↶ **Bouton reset** pour restaurer les valeurs d'origine
- ⚡ **Temps réel** : Les totaux se recalculent instantanément

#### Champs modifiables
- 📝 **Description** : Modifiez le texte de la ligne
- 🔢 **Quantité** : Ajustez la quantité
- 💰 **Prix unitaire HT** : Changez le prix
- 🎯 **Remise %** : Appliquez une remise

👉 [**Guide complet d'utilisation**](GUIDE_EDITION_INLINE.md)

### 4. **Historique et traçabilité** ⭐ NOUVEAU v3.0

- 📚 **Historique complet** de tous les changements de tiers
- 👤 **Qui** a effectué chaque modification
- 📅 **Quand** la modification a été faite
- 🔄 **Ancien et nouveau tiers** clairement identifiés
- 🔗 **Bouton dédié** pour accéder à l'historique sur chaque document

### Caractéristiques techniques

- ⚡ Régénération automatique des PDF après modification
- ⚡ Gestion des permissions par type de document
- ⚡ Interface d'administration complète
- ⚡ Protection contre les modifications non autorisées
- ⚡ Base de données avec table d'historique dédiée
- ⚡ Compatible Dolibarr 21.x, 22.x et supérieurs

---

## 🆕 Nouveautés Version 3.0.0

### Import multi-documents avancé
- ✨ Support de 6 types de documents sources
- ✨ Filtres avancés (tiers, statut, référence, période)
- ✨ Aperçu en temps réel avec calculs dynamiques JavaScript
- ✨ Interface moderne et intuitive
- ✨ Bouton "Tout sélectionner/désélectionner"

### Édition en ligne révolutionnaire 🔥
- ✨ **Modification directe des lignes** sans ouvrir le document source
- ✨ Édition de la description, quantité, prix et remise
- ✨ **Calculs automatiques** en temps réel
- ✨ Bouton reset pour restaurer les valeurs d'origine
- ✨ Interface ultra-intuitive avec feedback visuel

### Système d'historique complet
- ✨ Table SQL `llx_changetiers_history` pour la traçabilité
- ✨ Page d'historique dédiée avec tous les détails
- ✨ Enregistrement automatique de chaque changement
- ✨ Liaison avec les utilisateurs et les tiers

### Améliorations techniques
- ⚡ Optimisation des requêtes SQL avec filtres
- ⚡ Support complet des documents fournisseurs
- ⚡ Gestion ref_client / ref_supplier automatique
- ⚡ JavaScript avancé pour édition inline
- ⚡ Code modulaire et maintenable

## Installation

1. Copiez le dossier `changetiers` dans le répertoire `custom` de votre installation Dolibarr :
   ```
   /custom/changetiers/
   ```

2. Connectez-vous à Dolibarr en tant qu'administrateur

3. Allez dans **Configuration → Modules/Applications**

4. Recherchez "ChangeTiers" et activez le module

5. Configurez les options dans **Configuration → Module ChangeTiers**

## Configuration

Accédez à la page de configuration du module pour activer/désactiver les fonctionnalités :

- **Activer sur les devis** : Permet la modification du tiers sur les propositions commerciales
- **Activer sur les factures** : Permet la modification du tiers sur les factures (avec restrictions)
- **Activer sur les commandes** : Permet la modification du tiers sur les commandes clients
- **Activer sur les expéditions** : Permet la modification du tiers sur les expéditions
- **Activer sur les contrats** : Permet la modification du tiers sur les contrats
- **Activer sur les demandes de prix fournisseurs** : Permet la modification du fournisseur
- **Activer sur les commandes fournisseurs** : Permet la modification du fournisseur
- **Régénérer automatiquement les PDF** : Active/désactive la régénération automatique des documents PDF

## Utilisation

1. Ouvrez un document (devis, facture, commande, etc.)
2. Cliquez sur le bouton **"Modifier le tiers"**
3. Sélectionnez le nouveau tiers dans la liste déroulante
4. Confirmez la modification
5. Le PDF est automatiquement régénéré (si l'option est activée)

## Restrictions

### Factures
Le changement de tiers n'est **pas autorisé** sur les factures qui :
- Ont au moins un paiement enregistré
- Ont été transférées en comptabilité

### Permissions
L'utilisateur doit disposer des permissions appropriées pour chaque type de document.

## Structure du module

```
changetiers/
├── admin/
│   ├── about.php          # Page à propos
│   └── setup.php          # Page de configuration
├── class/
│   └── actions_changetiers.class.php  # Hooks et actions
├── core/
│   ├── modules/
│   │   └── modChangeTiers.class.php   # Descripteur du module
│   └── triggers/
│       └── interface_99_modChangeTiers_ChangeTiersTriggers.class.php
├── img/
│   └── object_changetiers.png         # Icône du module
├── langs/
│   ├── fr_FR/
│   │   └── changetiers.lang           # Traductions françaises
│   └── en_US/
│       └── changetiers.lang           # Traductions anglaises
├── lib/
│   └── changetiers.lib.php            # Fonctions utilitaires
└── README.md                          # Ce fichier
```

## Permissions

Le module crée les permissions suivantes :
- `changetiers->propal->change` : Modifier le tiers sur les devis
- `changetiers->invoice->change` : Modifier le tiers sur les factures
- `changetiers->order->change` : Modifier le tiers sur les commandes
- `changetiers->shipping->change` : Modifier le tiers sur les expéditions
- `changetiers->contract->change` : Modifier le tiers sur les contrats
- `changetiers->supplier_proposal->change` : Modifier le fournisseur sur les demandes de prix
- `changetiers->supplier_order->change` : Modifier le fournisseur sur les commandes fournisseurs

## Support et développement

- **Version** : 2.2.0
- **Licence** : GPL v3+
- **Compatibilité** : Dolibarr 21.x

## Changelog

### Version 2.2.0 (31 octobre 2025)
- ✨ Suppression de la possibilité de changer de tiers sur les factures validées avec paiements
- ✨ Suppression de la possibilité de changer de tiers sur les factures transférées en comptabilité
- 🎨 Révision complète de l'interface administrateur
- ✅ Compatibilité Dolibarr 21.x

## Licence

Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la licence GNU General Public License pour plus de détails.
