> For the complete documentation index, see [llms.txt](https://ksaar.gitbook.io/ksaar-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ksaar.gitbook.io/ksaar-documentation/les-elements/elements-matrices.md).

# Éléments matrices

## 🕵🏼 Qu'est-ce qu'une matrice ?

D'un point de vue formel, une matrice est un tableau que l'Utilisateur final de l'Application peut remplir (ajouter des lignes et remplir les champs) et dont il peut modifier le contenu de chaque ligne. Chaque ligne constitue un ensemble de données qui sont liées et qui peuvent donc être réutilisées. Les lignes sont associées à la Matrice.

💡 Cette fonctionnalité permet de **remplir des documents plus facilement**, comme des factures par exemple. Chaque ligne peut aussi **renvoyer à une Fiche** ou à **un Suivi.** \
Dans le cas illustré ci-dessous, la ligne peut renvoyer à une Fiche contenant les informations du fournisseur. Surtout, il est possible d'**effectuer des calculs** utilisant les données de la Matrice.

<figure><img src="/files/sn40FaBl2niOBgF7hl7x" alt=""><figcaption></figcaption></figure>

## 👩🏼‍💻 A quoi sert une matrice ?

✨ L'usage que l'on peut faire des Matrices est pluriel. Prenons un exemple pour illustrer ces **différentes possibilités**. L'entreprise Liaison vend toutes sortes d'outils et utilise KSAAR pour prendre ses commandes et **facturer ses clients**.&#x20;

🛒 Pour chaque commande, les commerciaux créent une liste des articles commandées ainsi que la quantité commandée de chaque article. **La Matrice est le panier** : chaque ligne de la Matrice correspond à un article du panier (cf. capture d'image ci-dessus).&#x20;

🥇 D'une part, chaque ligne de la Matrice peut **renvoyer à des Fiches** (pour consulter des informations liées au produit par exemple) et **à des Suivis** (notamment pour automatiser des actions comme l'envoi de mail/SMS ou remplir des documents).&#x20;

Il est aussi possible d'**effectuer des calculs sur les lignes mais aussi sur les colonnes de la Matrice**.

🥈 D'autre part, l'élément Matrice permet aussi d'afficher des données sur les produits (quantité vendue totale par exemple) . Ainsi, grâce aux Matrices, les commerciaux peuvent, entre autres, retrouver la quantité vendue d'un produit donné.

**🎯 En somme, les Matrices sont des&#x20;*****points de liaisons*****&#x20;entre les données déjà disponibles (informations du produit et du client) et les données entrées par les commerciaux.**&#x20;

**🎯 Les Matrices sont des&#x20;*****éléments dynamiques*****&#x20;car non seulement elles sont modifiables à tout moment mais aussi car elles permettent d'effectuer toutes sortes d'actions : remplir des documents, envoyer des mails/SMS, effectuer des calculs, etc... .**

![](/files/-MeAOwednwvr8GxS5BUO)

## 🤓 Comment créer une Matrice ?

{% hint style="danger" %}
Attention ! On ne peut créer une Matrice **que** **dans un workflow**.&#x20;
{% endhint %}

1️⃣ **Création de la Matrice**. Cliquez sur *+* au centre d'un bloc puis sur l'onglet Données et ajouter un affichage de type **Matrice**.

<figure><img src="/files/WYncRBWxqBc2rQUCeTi2" alt=""><figcaption></figcaption></figure>

Un tableau de la sorte s'affiche :

<figure><img src="/files/ra4VKM9AADsAhdd94M5D" alt=""><figcaption></figcaption></figure>

En cliquant sur la matrice, vous verrez apparaître le menu de configuration de la matrice.

<figure><img src="/files/Orxq3RaUso2mlHx22lz9" alt=""><figcaption></figcaption></figure>

Depuis l'onglet *Paramètres*, vous pouvez renommer votre matrice dans le champs *Identifiant unique de la matrice*. Cette étape peut sembler dérisoire mais elle vous permettra *a posteriori* de réutiliser les documents de cette matrice, notamment pour [**remplir un document**](/ksaar-documentation/les-workflows/creer-des-pages.md#remplir-un-document).

2️⃣ **Remplir la Matrice**. Maintenant que la structure de la Matrice est créée, il est temps de la remplir. Pour cela, cliquez sur *+ Ajouter une colonne* dans l'onglet *Colonnes*. Vous pouvez alors choisir les champs que vous voulez faire apparaître dans votre Matrice.

Dans notre exemple, on souhaite rentrer la quantité d'un produit. J'ajoute donc un champ *Nombre*.

<figure><img src="/files/tx5dNd9U72xbiaEG2NLV" alt=""><figcaption></figcaption></figure>

Le champ apparaît alors dans la Matrice comme suit.

<figure><img src="/files/6H5V1mg5Im6mjqGvOv3e" alt=""><figcaption></figcaption></figure>

3️⃣ **Paramétrer les champs de la Matrice**. Pour modifier le titre de la colonne, il suffit de cliquer sur le nom du champ dans la barre de droite, en l'occurrence ici "Nombre". Si vous cliquez sur "...", vous pourrez soit supprimer la colonne, soit la modifier et lui associer un *Identifiant unique*. La modification s'effectue [**comme pour un champ classique**](https://app.gitbook.com/@direction/s/ksaar-documentation/~/drafts/-Mdpyo9vXDE-QtuOatUn/les-elements-de-base/les-elements/les-champs).

4️⃣ **Créer une Fiche dans une Matrice**. La Matrice est un Workflow dans un Workflow. À l'instar d'un workflow, on peut donc créer des Fiches dans une Matrice. Il suffit pour cela de cliquer l'onglet *Plus* dans la barre de droite.

<figure><img src="/files/t1xfC0V0wLuhUGqqLUpt" alt=""><figcaption></figcaption></figure>

Cliquez ensuite sur le bouton *+* puis sur le bouton *+ Nouvelle fiche*.

<figure><img src="/files/DOvRvhRwhdXlT5kqNUXR" alt=""><figcaption></figcaption></figure>

Une nouvelle Fiche s'affiche alors. Elle fonctionne comme toutes les autres fiches.

👀  Maintenant il faut rendre cette fiche accessible à l'Utilisateur. Pour cela, rien de plus simple. Cliquez sur *+ Ajouter une colonne* puis sur le bouton *Fiche*.

<figure><img src="/files/tMcclvHiEYHVGfW54Zla" alt=""><figcaption></figcaption></figure>

Il vous faut ensuite choisir à quelle Fiche vous associez cette colonne en sélectionnant dans le menu déroulant la Fiche choisie.

<figure><img src="/files/p5DuZhq19bG43XaYo0mh" alt=""><figcaption></figcaption></figure>

Une nouvelle colonne composée de boutons s'affiche. Chaque bouton renvoie à la Fiche correspondant à la ligne de la Matrice. Ainsi chaque ligne de la Matrice est associée à un ensemble de données qui sont rangées dans la Fiche.

<figure><img src="/files/sn40FaBl2niOBgF7hl7x" alt=""><figcaption></figcaption></figure>

### 5️⃣ **Créer un Suivi dans une Matrice**.&#x20;

La procédure est identique à la création d'une Fiche. Dans un premier temps, il faut créer le Suivi en tant que tel puis il faut créer l'accès à ce Suivi en créant un bouton.

### 6️⃣ **Créer un calcul**.&#x20;

Affichez l'onglet *Calculs*, puis cliquez alors que le bouton *+*. Dans notre cas, on souhaite faire la somme de tous les totaux de lignes. Pour cela, cliquez sur *+ Nouveau calcul de colonne*.

<figure><img src="/files/PtCU6uOjOJmeJViohkFz" alt=""><figcaption></figcaption></figure>

Un pop-up s'affiche alors. Renommer votre calcul. Le calcul est enregistré, vous pourrez le réutiliser. Pour les calculs de colonnes, les options "SOMME", "MOYENNE", "MIN" et "MAX" sont disponibles. Ce n'est pas le cas pour les calculs de lignes.

<figure><img src="/files/iAOYx87Gn7UFIx79CRFF" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Les opérateurs à utiliser dans les calculs sont ceux d'Excel :

* LA SOMME : +
* LA SOUSTRACTION : -
* LA MULTIPLICATION : \*
* LA DIVISION : /
  {% endhint %}

## ⌨️ Comment utiliser une Matrice ?

Une fois dans le dossier de la commande, je remplis le panier en ajoutant des lignes successivement.

<figure><img src="/files/ujBvudphBdUnX7hc4JcP" alt=""><figcaption></figcaption></figure>

Je clique donc sur le bouton *+* situé à gauche sous la barre de la Matrice puis sur *+ Nouvelle ligne*.&#x20;

<figure><img src="/files/ZeUSPMYwqx25TCp4LMTa" alt=""><figcaption></figcaption></figure>

Il me suffit ensuite de remplir les champs. Je peux ensuite accéder à la Fiche et au Suivi associés à cette ligne. Dans la Fiche, je peux stocker des informations nécessaires au dossier comme des photographies du produit ou bien l'IBAN du client. Dans le Suivi, je peux effectuer tout type &#x64;**'**[**action**](/ksaar-documentation/les-workflows/creer-des-pages.md) comme le remplissage d'une facture par exemple.

## 🛫 Pour aller plus loin&#x20;

### 📄 **Remplir un document**.&#x20;

Lorsque votre matrice est composée de N lignes, il est possible de [**remplir un docx**](/ksaar-documentation/les-workflows/creer-des-pages.md#remplir-un-document) avec un tableau d'exactement N lignes.

Pour cela, il suffit d'ajouter la Matrice dans les champs à placer, ici il s'agit de la Matrice *Panier*.

<figure><img src="/files/8QXVYcA35QX17Wc68PLe" alt=""><figcaption></figcaption></figure>

Les champs à placer apparaissent alors comme suit.

<figure><img src="/files/LZnNPz2xjnb9H9mzl18T" alt=""><figcaption></figcaption></figure>

⬇️ Voici comment il convient de remplir le tableau. Le nombre de lignes s'ajuste automatiquement.

{% file src="/files/67CWlJsIW9KweCgqvXGt" %}
Exemple de docx rempli avec une Matrice
{% endfile %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ksaar.gitbook.io/ksaar-documentation/les-elements/elements-matrices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
