# Comment combiner plusieurs services dans mon modèle de devis ?

Ventes · Mis à jour: 2025-12-04 · Bas Software
Version web: https://www.bas.software/fr/help/ventes/comment-combiner-plusieurs-services-dans-mon-modele-de-devis

Apprenez à afficher des textes en fonction de plusieurs services à la fois. If-statements avancés avec AND, OR et NOT pour des modèles de devis intelligents.

## 🎯 Le problème

Vous souhaitez afficher des textes qui n'apparaissent que si :

- Plusieurs services sont cochés ensemble
- Un service est coché mais pas un autre
- Une combinaison spécifique de services a été choisie

Par exemple : afficher « Pack complet démontage & montage » uniquement si les deux services ont été choisis.

## À qui s'adresse cet article ?

Cet article s'adresse aux administrateurs qui possèdent déjà des connaissances de base des if-statements. Lisez d'abord l'article « Comment définir quelles descriptions de services apparaissent dans mon devis ? »

---

## ⚙️ Ce dont vous avez besoin

- Des connaissances de base des if-statements (voir l'article précédent)
- Des droits d'administrateur dans Bas Software
- Un accès à l'éditeur de modèles

---

## ✅ Voici comment résoudre le problème

## Type 1 : plusieurs services ENSEMBLE (AND)

**Quand l'utiliser ?** Vous souhaitez afficher un texte uniquement si le service A ET le service B sont tous les deux cochés.

### Exemple : démontage ET montage

```
{% if project.usesService('disassemble') and project.usesService('assemble') %}PACK MOBILIER COMPLETNous démontons sur place, déménageons en toute sécurité et remontons tout professionnellement à destination !{% endif %}
```

Ce texte n'apparaît que si les deux services sont cochés.

## Type 2 : un service OUI mais pas l'autre (AND NOT)

**Quand l'utiliser ?** Vous souhaitez afficher un texte si le service A est coché mais pas le service B.

### Exemple : emballage mais pas de déballage

```
{% if project.usesService('packing') and not project.usesService('unpack') %}⚠️ ATTENTION : DÉBALLAGE PAR VOS SOINSNous emballons vos affaires, mais vous vous chargez vous-même du déballage dans votre nouveau logement.{% endif %}
```

## Type 3 : trois services ou plus ensemble

### Exemple : pack deluxe

```
{% if project.usesService('disassemble') and project.usesService('assemble') and project.usesService('storage') %}🌟 PACK DÉMÉNAGEMENT DELUXENous démontons tout, le déménageons, le stockons en toute sécurité si nécessaire, et remontons tout.{% endif %}
```

---

## 📖 Exemples pratiques

## Exemple 1 : avertissement en cas de service manquant

```
{% if project.usesService('disassemble') and not project.usesService('assemble') %}⚠️ IMPORTANTVous avez choisi le démontage mais pas le montage. Veillez à disposer vous-même d'outils.{% endif %}
```

## Exemple 2 : informations supplémentaires pour une combinaison de services

```
{% if project.usesService('packing') and project.usesService('provide_boxes') %}💡 BON À SAVOIRNous livrons les cartons 3 jours ouvrables avant la date du déménagement. Nos emballeurs viennent tout emballer le jour du déménagement.{% endif %}
```

## Exemple 3 : garde-meuble avec assurance

```
{% if project.usesService('storage') and project.usesService('insurance') %}⚡ GARDE-MEUBLE AVEC COUVERTURE COMPLÈTEVos affaires sont stockées en toute sécurité avec une couverture d'assurance complète. Une tranquillité d'esprit totale !{% endif %}
```

---

## 🔍 Aperçu de la syntaxe

| Ce que vous voulez | Syntaxe |
| --- | --- |
| A et B tous les deux | `and` |
| A oui, B non | `and not` |
| A ou B (au moins un) | `or` |
| A, B et C tous les trois | `and and` |

---

## ⚠️ Erreurs fréquentes

## Erreur 1 : oublier les espaces autour de 'and'

❌ INCORRECT : `project.usesService('packing')andproject.usesService('unpack')`

✅ CORRECT : `project.usesService('packing') and project.usesService('unpack')`

## Erreur 2 : 'NOT' au mauvais endroit

❌ INCORRECT : `project.usesService('packing') not and project.usesService('unpack')`

✅ CORRECT : `project.usesService('packing') and not project.usesService('unpack')`

Le `not` se place juste avant le service que vous voulez exclure.

---

## 💡 Conseils de pro

## Conseil 1 : testez toutes les combinaisons

Créez des devis de test avec ces combinaisons :

- Uniquement le service A
- Uniquement le service B
- A et B ensemble
- Tous les services
- Aucun service

## Conseil 2 : restez clair

Au-delà de 3 instructions `and`, demandez-vous si vous ne rendez pas les choses trop complexes. Est-ce possible plus simplement ?

## Conseil 3 : ajoutez des commentaires

```
{# Ceci s'affiche uniquement pour emballage + garde-meuble #}{% if project.usesService('packing') and project.usesService('storage') %}Texte ici{% endif %}
```

Les commentaires entre `{# ... #}` sont invisibles pour les clients.

---

## ❓ Questions fréquentes

## Puis-je utiliser OR au lieu de AND ?

Oui ! `or` signifie : le texte apparaît si au moins un service est coché.

```
{% if project.usesService('packing') or project.usesService('unpack') %}Vous avez choisi le service d'emballage et/ou de déballage.{% endif %}
```

## Combien de AND puis-je enchaîner ?

Techniquement, il n'y a pas de limite, mais restez clair. Plus de 4 `and` devient déroutant.

## Cela fonctionne-t-il aussi avec d'autres champs de modèle ?

Oui ! Vous pouvez également vérifier d'autres données du projet, mais cela dépasse le cadre de cet article.

---

## 🔗 Articles connexes

- Comment définir quelles descriptions de services apparaissent dans mon devis ?
- Aperçu de tous les noms de service pour les modèles de devis

---

## 🆘 Vous n'y arrivez pas ?

Votre combinaison ne se teste pas comme prévu ? Envoyez-nous :

- Le code de votre if-statement
- Les services que vous cochez
- Ce qui se passe vs ce que vous attendez

Nous vous aidons volontiers par chat ou par e-mail ! 💬

---

## 📋 Checklist avant la mise en ligne

- ☐ Testé avec uniquement le service A coché
- ☐ Testé avec uniquement le service B coché
- ☐ Testé avec A et B cochés ensemble
- ☐ La logique est correcte : les textes apparaissent quand vous vous y attendez
- ☐ Chaque {% if %} a un {% endif %}
