# Champs de substitution

Les états supportent des champs de substitution supplémentaires à ceux disponibles en interrogeant directement les données disponibles dans les tables de l'application.

Les champs de fusion disponibles diffèrent selon l'état et que vous les utilisiez au niveau du document ou des [lignes du document](personnalisation-etats-colonnes.md).

## Champs de fusion au niveau d'un document

| Champ                                           | Ventes - devis | Ventes - confirmation de commande<br>Ventes - bon de livraison depuis la commande<br>Ventes - facture proforma | Achat - commande | Ventes - bon de livraison validé | Ventes - facture | Ventes - avoir | Expédition transfert | Relance |
|-------------------------------------------------|----------------|----------------------------------------------------------------------------------------------------------------|------------------|----------------------------------|------------------|----------------|----------------------|---------|
| {"$NetWeight"}<br>Poids total net               | O              | O                                                                                                              | O                | O                                | O                | O              | O                    | N       |
| {"$GrossWeight"}<br>Poids total brut            | O              | O                                                                                                              | O                | O                                | O                | O              | O                    | N       |
| {"$DiscountTotal"}<br>Montant total des remises | O              | O                                                                                                              | N                | N                                | O                | N              | N                    | N       |
| {"$DeliveryDate"}<br>Date de livraison*         | O              | O                                                                                                              | O                | O                                | N                | N              | N                    | N       |
| {"$DocumentDate"}<br>Date document*             | O              | O                                                                                                              | O                | O                                | O                | O              | O                    | O       |
| {"$PostingDate"}<br>Date comptabilisation*      | O              | O                                                                                                              | O                | O                                | O                | O              | O                    | O       |
| {"$OrderDate"}<br>Date de commande*             | N              | N                                                                                                              | O                | N                                | N                | N              | N                    | N       |
| {"$Today"}<br>Date du jour*                     | O              | O                                                                                                              | O                | O                                | O                | O              | O                    | O       |
| {"$WorkDate"}<br>Date de travail*               | O              | O                                                                                                              | O                | O                                | O                | O              | O                    | O       |

\* les dates sont formattées au format JJ MMMM AAAA, par exemple pour le _28/09/2022_, la date sera données le _28 septembre 2022_.

## Champs de fusion au niveau des lignes d'un document

Lors de la personnalisation des [lignes du document](personnalisation-etats-colonnes.md), les variables ci-dessous sont disponibles.

| Champ                                                                        | Ventes - devis | Ventes - confirmation de commande<br>Ventes - bon de livraison à la commande<br>Ventes - facture pro-forma | Ventes - expédition                           | Ventes - facture                                   | Ventes - avoir                                   | Achat - commande | Expédition transfert       |
|------------------------------------------------------------------------------|----------------|------------------------------------------------------------------------------------------------------------|-----------------------------------------------|----------------------------------------------------|--------------------------------------------------|------------------|----------------------------|
| {"$Description"}<br>[Description personnalisée de la ligne](personnalisation-etats.md#personnaliser-la-description-dune-ligne)                    | Ligne vente    | Ligne vente<br/>Ligne d'assemblage                                                                         | Ligne expédition vente<br/>Ligne d'assemblage | Ligne facture vente<br/>Ligne d'assemblage validée | Ligne avoir vente<br/>Ligne d'assemblage validée | Ligne achat      | Ligne expédition transfert |
| {"$HasSeveralVAT"}<br>Spécifie si le document contient plusieurs taux de TVA | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | -                | -                          |
| {"$VATSuperscriptIndex"}<br>N° du taux de TVA                                | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | Ligne achat      | -                          |
| {"$FormattedLineAmount"}<br>Montant de la ligne                              | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | -                | -                          |
| {"$FormattedVATPct"}<br>Taux de TVA                                          | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | -                | -                          |
| {"$FormattedUnitPrice"}<br>Prix unitaire                                     | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | -                | -                          |
| {"$FormattedQuantity"}<br>Quantité                                           | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | Ligne achat      | -                          |
| {"$FormattedDiscountPct"}<br>Remise ligne                                    | Ligne vente    | Ligne vente                                                                                                | -                                             | Ligne facture vente                                | Ligne avoir vente                                | -                | -                          |
| {"$FormattedDirectUnitCost"}<br>Coût unitaire direct                         | -              | -                                                                                                          | -                                             | -                                                  | -                                                | Ligne achat      | -                          |
| {"$TrackingSpecifications"}<br>Traçabilité numéros lot/série                 | -              | -                                                                                                          | Ligne expédition vente                        | -                                                  | -                                                | -                | -                          |

## FAQ

## Comment réaliser des calculs dans les textes ?

Vous pouvez effectuer des calculs dans les textes afin d'afficher des valeurs qui ne sont pas directement disponibles avec la syntaxe ci-dessous :

```
#[ExpressionArithmetique]
```

où ```ExpressionArithmetique``` est une expression utilisant les [opérateurs disponibles](https://www.w3schools.com/xml/xpath_operators.asp).


### [Calculer le prix unitaire net](#tab/expression-sample1)

L'exemple ci-dessous complète la description d'une ligne de type article en affichant le prix unitaire net (remise comprise).

```
{Description}<br />
Prix unitaire net : #[round({"Unit Price" | Format(9)} * (100 - {"Line Discount %" | Format(9)})) div 100] €
```

***

## Comment afficher des textes conditionnels ?

Vous pouvez décider de n'afficher des blocs de texte qu'à certaines conditions. Pour cela vous devez placer votre texte entre deux éléments ```?[]``` :

```
?[NomDuBloc:Condition]
Votre texte ici
?[NomDuBloc]
```

où ```NomDuBloc``` est un nom obligatoire mais que vous choisissez librement. Le même nom doit être présent dans l'élément d'ouverture et de fermeture ;
et ```Condition``` qui est une [expression conditionnelle](https://www.w3schools.com/xml/xpath_operators.asp).

### [Afficher la remise accordée](#tab/conditional-sample1)

L'exemple ci-dessous afficher uniquement la phrase si une remise a été accordée sur le document.

```
?[A:{"$DiscountTotal" | Evaluate("decimal")} > 0]
Vous avez bénéficié d'une remise de {"$DiscountTotal"} €.
?[A]
```

### [Afficher que la facture est payée](#tab/conditional-sample2)

L'exemple ci-dessous affiche une phrase si la facture est intégralement payée.

```
?[B:{"$RemainingAmount" | Evaluate("decimal")} = 0]
Cette facture est intégralement payée.
?[B]
```

### [Afficher des mentions légales](#tab/conditional-sample3)

L'exemple ci-dessous affiche une mention légale si le client est exonéré de TVA.

```
?[C:"{"VAT Bus. Posting Group"}" = "EXONERE"]
TVA non applicable, art. 293 B du CGI
?[C]
```

***

## Voir aussi

- [Syntaxe des champs de substitution](../corelibrary/parsers-syntax.md)
- [Extensibilité](personnalisation-etats-extensibilite.md)