# Mettre à jour les champs et liaisons

L'action **Mettre à jour les champs** permet de modifier vos variables en conditionnant ces changements.

La mise à jour des champs permet de mettre à jour des champs :

* de l'enregistrement en cours
* d'un enregistrement lié
* d'une liaison utilisateur

Pour cela, vous ajoutez des blocs de mise à jour que vous pouvez conditionner. Pour chaque bloc, vous choisissez le champ à modifier et la manière dont vous voulez le modifier.

Les modifications sont effectuées dans l'ordre. Si vous modifiez une valeur, la modification sera prise en compte dans les mises à jour suivantes.&#x20;

Les mises à jour sont disponibles sur :

* [Les textes](#les-textes-champs-textes-paragraphes-email-adresse-telephone-url-...)
* [Les champs dates](#mettre-a-jour-un-champ-date-champs-date-date-et-heure)
* [Les champs plages de dates](#mettre-a-jour-un-champ-plage-de-dates-champs-plage-de-dates-plage-de-dates-avec-heure)
* [Les champs nombres ](#mettre-a-jour-un-champ-nombre-champs-nombre-chrono)
* [Les champs fichiers](#mettre-a-jour-un-champ-fichier-champs-fichier-qr-code)
* [Les champs QCM](#mettre-un-jour-un-champ-qcm-champs-qcm-qcu)
* [Les champs liaison simple](#mettre-a-jour-un-champ-liaison-simple)
* [Les champs liaison utilisateur](#mettre-a-jour-un-champ-liaison-utilisateur)
* [Les champs adresses](#mettre-a-jour-un-champ-adresse)
* [Les champs durées](#mettre-a-jour-un-champ-duree)
* [Les champs signatures manuscrites](#mettre-a-jour-un-champ-signature-manuscrite)

### ✍🏼 Les textes (champs textes, paragraphes, email, adresse, téléphone, url, ...)

Les champs textes peuvent être mises à jour par un texte personnalisé incluant des variables ou un autre champ du même type.

### 🗓️ Mettre à jour un champ date (champs Date, Date et heure)

Vous pouvez mettre à jour un champ **Date** ou **Date et heure** en fonction de différentes valeurs :

* un autre champ date auquel vous pouvez ajouter le nombre d'heures/de jours/de semaines/de mois/d'années souhaités
* une valeur personnalisée au format date
* la date du jour à laquelle vous pouvez ajouter le nombre d'heures/de jours/de semaines/de mois/d'années souhaité
* En réinitialisant la valeur

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2FQZ4ZHKce6Zh8p0M9aZMt%2FCapture%20d%E2%80%99e%CC%81cran%202023-03-13%20a%CC%80%2012.53.46.png?alt=media&#x26;token=de32ffea-a213-420a-88ee-6395f2d877bc" alt=""><figcaption><p>Paramétrage de la mise à jour d'un champ date</p></figcaption></figure>

### 🗓️ Mettre à jour un champ plage de dates (champs Plage de dates, Plage de dates avec heure)

Vous pouvez mettre à jour un champ **Plage de dates** ou **Plage de dates avec heure** en le modifiant par :

* Un autre champ plage de dates
* Une valeur personnalisée qui permet de mettre un jour les champs date de début et date de fin de la même manière qu'un champ date classique
* en réinitialisant la valeur

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2FLNGSzA5dLLVjXUwnoX4U%2FCapture%20d%E2%80%99e%CC%81cran%202023-09-28%20a%CC%80%2013.59.19.png?alt=media&#x26;token=343b98d8-7d88-4756-9fa6-859f0610b93a" alt=""><figcaption><p>Paramétrage de la mise à jour d'un champ plage de dates</p></figcaption></figure>

### 🔢 Mettre à jour un champ nombre (champs Nombre, Chrono)

Vous pouvez mettre à jour un champ **Nombre** ou **Chrono** via une formule en utilisant des variables.

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2FMtK5WmSwZPzY1rUdtoOu%2FCapture%20d%E2%80%99e%CC%81cran%202023-03-13%20a%CC%80%2012.46.14.png?alt=media&#x26;token=4e99bb05-61e4-4074-a057-828cbdb30486" alt=""><figcaption><p>Paramétrage de la mise à jour d'un champ nombre</p></figcaption></figure>

### 📁 Mettre à jour un champ fichier (champs Fichier, qr code)

Vous pouvez mettre à jour un champ **Fichier** ou **qr code** en le modifiant par :

* la valeur d'un champ
* une valeur personnalisée : vous pouvez importer un fichier de votre ordinateur directement dans l'interface
* un document rempli que vous avez préalablement paramétré

Il est aussi possible de :

* réinitialiser la valeur du champ
* renommer le fichier, dans ce cas il faut inclure l'extension voulue

### ✔️ Mettre un jour un champ QCM (champs QCM, QCU)

Vous pouvez mettre à jour un champ **QCM** ou **QCU** en le modifiant par :

* la valeur d'un champ
* une valeur personnalisée : vous pouvez sélectionner des options du QCM à modifier
* un texte avec variables vous permettant de choisir des réponses en format texte.&#x20;
* En réinitialisant la valeur              &#x20;

{% hint style="warning" %}
Les réponses en format texte doivent être séparées par des virgules.&#x20;
{% endhint %}

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2FRwxk3S6Q5FPw4C9EdPZR%2FCapture%20d%E2%80%99e%CC%81cran%202023-03-13%20a%CC%80%2018.08.54.png?alt=media&#x26;token=8b77ef27-19da-4dca-9b47-6d5e0ddcc668" alt=""><figcaption><p>Paramétrage de la mise à jour d'un QCM par texte avec variables</p></figcaption></figure>

### 🔗 Mettre à jour un champ liaison simple

Vous pouvez mettre à jour un champ d'une table liée avec l'action "Mettre à jour les champs". En cliquant sur **Variable à modifier**, vous sélectionnez une liaison puis vous choisissez la variable de la liaison que vous souhaitez mettre à jour.&#x20;

Si on reprend l'exemple de l'Application de gestion de chantiers dans [Liaison simple](../../../les-elements/elements-liaisons#liaison-simple). On souhaite maintenant connaître le nombre de chantier associé à un client. Dans le workflow "**Nouveau Client**", on crée un champ nombre correspondant au nombre de chantier du client et on l'initialise à 0. Puis, à chaque fois qu'un chantier sera lié à un client dans le workflow "**Nouveau Chantier**", ce nombre sera incrémenté de 1. On pourra alors connaître le nombre total de chantier que possède chaque client.&#x20;

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2FPs1xrEBMVFvrq0JWrBFr%2FCapture%20d%E2%80%99e%CC%81cran%202023-03-13%20a%CC%80%2016.39.12.png?alt=media&#x26;token=535eaa90-e133-4da1-9060-9e4b4666a0d9" alt=""><figcaption><p>Paramétrage de la mise à jour d'un champ liaison simple</p></figcaption></figure>

### 🔗Mettre à jour un champ liaison utilisateur

On peut mettre à jour un champ liaison utilisateur par :&#x20;

* un utilisateur particulier : signifie que les options qui s'afficheront dans la liste déroulante seront les valeurs possibles du champ liaison utilisateur.
* l'utilisateur connecté&#x20;
* email de l'utilisateur égal à un champ. Ça permet de rechercher un utilisateur par son email et mettre à jour le champ liaison utilisateur, uniquement si on trouve l'utilisateur
* la valeur d'un champ : vous pouvez directement sélectionner un utilisateur

Si on reprend encore l'exemple de l'Application de gestion de chantiers dans [Liaison Utilisateur](../../../les-elements/elements-liaisons#liaison-utilisateur). On souhaite maintenant pouvoir :&#x20;

* attribuer à un collaborateur le statut présent ou absent&#x20;
* dans le cas où il serait absent, lui attribuer un remplaçant
* mettre à jour l'affectation d'un chantier d'un collaborateur absent à son remplaçant

1️⃣ Créez un nouveau workflow "**Présence**" dans l'espace personnel des collaborateurs et ajoutez y un champ QCU **Présent** ou **Absent**. Dans le cas où l'utilisateur indique qu'il est absent, ajoutez un champ liaison utilisateur, lui permettant de choisir un remplaçant parmi ses collaborateurs pendant sa période d'absence.&#x20;

2️⃣ Dans le workflow "**Nouveau Chantier**", vous pourrez ajouter l'élément "Liaison simple" et sélectionner le workflow "**Présence**" pour lier votre chantier à la présence d'un collaborateur.

3️⃣ Depuis l'espace personnel du Manager, quand le manager attribue un chantier à un utilisateur lié **Absent** dans le workflow "**Nouveau Chantier**", le chantier devra automatiquement être attribué au remplaçant. Pour cela, mettez à jour le champ liaison utilisateur "**Affectez ce chantier à**" à la valeur du champ liaison utilisateur "**Remplaçant**".&#x20;

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2F56mPq7ZVQsD6V3rh6nXv%2FCapture%20d%E2%80%99e%CC%81cran%202023-03-13%20a%CC%80%2017.36.09.png?alt=media&#x26;token=f7a45dfc-9f4a-43de-b2ea-5e643a01db60" alt=""><figcaption><p>Paramétrage de la mise à jour d'un champ liaison utilisateur</p></figcaption></figure>

4️⃣ Puis conditionnez votre mise à jour en l'effectuant uniquement si l'utilisateur affecté au chantier est absent :&#x20;

<figure><img src="https://2063331370-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQBQ-Fk5qKATOA2R2_R%2Fuploads%2FOkhLcBZkRQDR1L1Yk2Tu%2FCapture%20d%E2%80%99e%CC%81cran%202023-03-13%20a%CC%80%2017.36.19.png?alt=media&#x26;token=284bc66b-0fef-43ae-a046-232b74e9ff76" alt=""><figcaption><p>Paramétrage de la condition </p></figcaption></figure>

{% hint style="info" %}
Dans une boucle, il est possible de mettre à jour une liaison simple ou une liaison utilisateur à jour par "l'enregistrement sur lequel j'itère".
{% endhint %}

### 📍 Mettre à jour un champ Adresse&#x20;

Vous pouvez mettre à jour un champ **Adresse** le modifiant par :

* La valeur d'un champ Adresse
* Une valeur personnalisée
* En réinitialisant la valeur

### ⏱️ Mettre à jour un champ Durée&#x20;

Vous pouvez mettre à jour un champ **Durée** le modifiant par :

* La valeur d'un champ durée
* En réinitialisant la valeur

### 🖋️ Mettre à jour un champ Signature manuscrite&#x20;

Vous pouvez mettre à jour un champ **Signature manuscrite** le modifiant par :

* la valeur d'un champ Signature manuscrite
* En réinitialisant la valeur
