> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://docs.brainframe.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Document formulieren

${frame}[Interactieve demo](https://app.arcade.software/share/cnP8vgBzQ7mGFLG8ib6B)

Documentformulieren maken van het aanmaken en bewerken van documenten een begeleide en gestructureerde ervaring. In plaats van een enkele rich-texteditor of bestandsvoorbeeld zien auteurs een indeling met **secties** en **velden** die zijn afgestemd op het documenttype — metadata, configureerbare eigenschappen, risicosamenvattingen, gekoppelde documenten en meer.

## Doel

Documentformulieren bestaan om **documenteigenschappen op een gestructureerde manier weer te geven en te verzamelen**.

Ze zijn nuttig wanneer:

* Documenten consistente metadata nodig hebben (eigenaar, classificatie, beoordelingsdatum, gekoppelde assets, enz.)
* Risicogerelateerde documenten **initieel**, **huidig** en **doelrisico** in één oogopslag moeten tonen
* Gerelateerde documenten zichtbaar en rechtstreeks in het formulier bewerkbaar moeten zijn
* Auteurs een vaste structuur moeten volgen in plaats van te beginnen met een leeg document

Een documentformulier vervangt geen documenttypes of documenteigenschappen. Het is enkel een andere **weergave- en bewerkingslayout** die een documenttype kan gebruiken. De onderliggende gegevens blijven opgeslagen in documenteigenschappen, gekoppelde items, risicobeoordelingen enzovoort.

> **Opmerking:** Documentformulieren verschillen van **Aanvraagformulieren (Request Forms)**. Aanvraagformulieren zijn publieke of interne indieningsworkflows die processen activeren. Documentformulieren zijn lay-outs voor het bekijken en bewerken van documenten van een bepaald type.

## Hoe alles samenhangt

| Laag                      | Wat wordt gedefinieerd                                                                                                         |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Documenteigenschappen** | Aangepaste velden die op een document moeten worden ingevuld (bijv. eigenaar, kriticiteit, deadline, ...)                      |
| **Documentformulier**     | Definieert de lay-out en groepering van velden/widgets via secties                                                             |
| **Documenttype**          | Kan worden ingesteld om een documentformulier te gebruiken of niet, en bepaalt welke eigenschappen verplicht of optioneel zijn |

## Belangrijkste componenten

Een documentformulier bestaat uit schaalbare **secties** die **velden** bevatten. Velden vallen in drie categorieën.

### 1. Configureerbare documenteigenschappen

Dit zijn **werkruimte-gedefinieerde documenteigenschappen** die op het formulier kunnen worden geplaatst. Elke eigenschap heeft een **antwoordtype** dat bepaalt hoe deze in de gebruikersinterface wordt weergegeven:

| Antwoordtype                  | Invoerstijl                                                  |
| ----------------------------- | ------------------------------------------------------------ |
| **1 – Tekst**                 | Meerregelig tekstveld                                        |
| **2 – Enkelvoudige selectie** | Keuzelijst                                                   |
| **3 – Meervoudige selectie**  | Chips / meerdere keuzes                                      |
| **4 – Linkkiezer**            | Koppelingen naar andere documenten van geconfigureerde types |
| **5 – Datum**                 | Datumkiezer                                                  |

Eigenschappen ondersteunen:

* **Titel** en **beschrijving/label** (helptekst)
* **Meertalige vertalingen** voor titel en label (wanneer vertalingen zijn ingeschakeld)
* **Verplicht-vlag** (afgedwongen in combinatie met de documenttypeconfiguratie)

### 2. Widgets

Widgets tonen uitgebreidere documentgegevens of gespecialiseerde bewerkingsfuncties:

| Widget                                  | Doel                                                                                                                                                                                                                                                                                                                                                                                                    |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Documentvoorbeeld/-editor**           | Rich-textinhoud (Summernote) binnen het formulier                                                                                                                                                                                                                                                                                                                                                       |
| **Bestandsupload**                      | Een documentbestand toevoegen of vervangen                                                                                                                                                                                                                                                                                                                                                              |
| **Initieel / huidig / doelrisico**      | Risicobadges op basis van de meest recente risicobeoordeling; bewerken opent het risicobeoordelingspaneel in Activiteiten                                                                                                                                                                                                                                                                               |
| **Gekoppelde documenten (specifiek)**   | Gekoppelde documenten van **één gekozen documenttype**, met optionele inline bewerking van eigenschappen en metadata                                                                                                                                                                                                                                                                                    |
| **Gekoppelde documenten (gegroepeerd)** | Alle gekoppelde documenten **gegroepeerd per type**                                                                                                                                                                                                                                                                                                                                                     |
| **Horizontale lijn**                    | Visuele scheidingslijn                                                                                                                                                                                                                                                                                                                                                                                  |
| **Risicowidgets**                       | **Initieel risico**, **huidig risico** en **doelrisico** uit de meest recente risicobeoordeling van het document. In bewerkingsmodus opent een potloodactie de risicobeoordelingsworkflow in de zijbalk Activiteiten. Als het documenttype een standaard risico-KPI heeft en er nog geen beoordeling bestaat, kan dit KPI automatisch worden voorgeselecteerd wanneer de risicobewerking wordt geopend. |

#### Eigenschappen van gekoppelde-documentwidgets

Widgets voor gekoppelde documenten kunnen per veld worden geconfigureerd:

* **Documenttype om weer te geven** — bepaalt welk gekoppeld documenttype wordt getoond (de gegroepeerde widget toont alle gekoppelde documenttypes)
* **Documenteigenschappen weergeven/bewerken** — kies welke eigenschappen van het gekoppelde documenttype inline worden getoond en of ze alleen leesbaar of bewerkbaar zijn. Alleen eigenschappen die aan het gekoppelde documenttype zijn toegewezen (verplicht of optioneel) zijn beschikbaar.
* **Metadata weergeven** — optionele weergave van aanmaakdatum, wijzigingsdatum, processtatus en initieel/huidig/doelrisico van gekoppelde items.

### 3. Documentmetadata

Alleen-lezen of bewerkbare documentmetadata:

| Component           | Doel                                                                   |
| ------------------- | ---------------------------------------------------------------------- |
| **Documentnaam**    | Titel van het document                                                 |
| **Identificatie**   | Unieke identificatie (indien ingeschakeld op het documenttype)         |
| **Huidige versie**  | Actief versienummer                                                    |
| **Aanmaakdatum**    | Datum waarop het document werd aangemaakt                              |
| **Wijzigingsdatum** | Datum van de laatste wijziging                                         |
| **Richtlijntekst**  | Instructies voor auteurs (worden niet opgeslagen als documentgegevens) |

## Secties en lay-out

Documentformulieren gebruiken een **12-koloms GridStack-raster**. Elk formulier bestaat uit één of meer **secties**, elk met:

* **Positie en grootte** — rastercoördinaten `x`, `y`, `w`, `h`
* **Titel** — sectiekop die aan gebruikers wordt getoond
* **Velden** — geordende lijst van metadata, eigenschappen en widgets

In de formuliereditor kunnen secties:

* Worden toegevoegd en verwijderd
* Worden verplaatst en van grootte veranderd binnen het raster
* **Vertaalde titels** krijgen (zie hieronder)

Bij het bekijken of bewerken van een document worden secties weergegeven als **inklapbare kaarten**. Het raster past zich automatisch aan de inhoud aan.

## Aangepaste vertalingen

Meertalige ondersteuning is beschikbaar op twee niveaus.

### Sectietitels

In de formuliereditor kan voor elke sectietitel **vertaling** worden ingeschakeld. Wanneer dit is geactiveerd, kan een titel worden opgegeven voor elke ingeschakelde werkruimtetaal. Deze worden opgeslagen als `title_translated` (een taalgebaseerde mapping). Tijdens het gebruik kiest de interface de titel op basis van de actieve taal van de gebruiker, met terugval naar Engels en vervolgens naar de standaardtitel.

### Labels van documenteigenschappen

Documenteigenschappen kunnen vertalingen inschakelen voor:

* **Titel** — veldlabel op het formulier
* **Label/beschrijving** — helptekst naast het veld

Vertalingen van eigenschappen worden geconfigureerd onder **Werkruimte-instellingen → Documenteigenschappen**, niet in de formuliereditor zelf. Het formulier verwijst naar de eigenschapsdefinitie; vertaalde labels worden tijdens het weergeven opgelost op basis van de taal van de gebruiker.

## Configuratie van documentformulieren (formuliereditor)

Documentformulieren worden beheerd onder **Werkruimte-instellingen → Documentformulier**.

### Een formulier aanmaken of bewerken

1. **Stel een titel in** — de naam die wordt weergegeven bij het toewijzen van het formulier aan documenttypes.
2. **Voeg secties toe** — nieuwe formulieren starten met twee lege secties; extra secties kunnen worden toegevoegd.
3. **Ontwerp de lay-out** in de formulierontwerper:

   * **Linkerpaneel** — doorzoekbare lijst van beschikbare componenten (Metadata, Eigenschap, Widget)
   * **Rechter werkvlak** — GridStack-secties waarin componenten worden geplaatst
4. **Sleep componenten** vanuit het paneel naar een sectie, of herschik velden binnen of tussen secties.
5. **Configureer velden** indien nodig:

   * **Richtlijntekst** — bewerk de inhoud van de instructietekst
   * **Gekoppelde documenten (specifiek)** — kies het documenttype; configureer zichtbaarheid van eigenschappen en metadata
   * **Gekoppelde documenten (gegroepeerd)** — configureer zichtbaarheid van metadata
6. **Bewerk sectietitels** — klik op het potloodicoon van een sectie; schakel indien gewenst vertalingen per taal in.
7. **Opslaan** — de lay-out wordt opgeslagen.

### Regels voor het componentenpaneel

* De meeste componenten kunnen **slechts één keer** per formulier voorkomen (en verdwijnen daarom uit het paneel zodra ze zijn gebruikt).
* **Horizontale lijn** en **Gekoppelde documenten (specifiek)** kunnen **meerdere keren** worden toegevoegd (bijvoorbeeld voor verschillende documenttypes).
* **Documenteigenschappen** uit de werkruimte verschijnen in het paneel onder het type **Eigenschap**. Alle werkruimte-eigenschappen zijn beschikbaar; u kiest welke in elk formulier worden opgenomen.

## Configureerbare documenteigenschappen

Documenteigenschappen worden afzonderlijk gedefinieerd onder **Werkruimte-instellingen → Documenteigenschappen**. Zij vormen de bouwstenen die formulieren kunnen weergeven.

### Een eigenschap definiëren

Bij het toevoegen of bewerken van een eigenschap configureert u:

| Instelling                   | Beschrijving                                                                 |
| ---------------------------- | ---------------------------------------------------------------------------- |
| **Titel**                    | Label dat wordt weergegeven op formulieren en in filters (minimaal 3 tekens) |
| **Beschrijving / label**     | Optionele helptekst                                                          |
| **Antwoordtype**             | Tekst, enkelvoudige selectie, meervoudige selectie, linkkiezer of datum      |
| **Waarden van antwoordtype** | Opties voor keuzelijsten/chips, toegestane linktypes of standaardwaarden     |
| **Vertalingen**              | Titel en beschrijving per taal (wanneer meertaligheid is ingeschakeld)       |

#### Specifieke kenmerken per antwoordtype

* **Tekst (1)** — optionele standaardtekst
* **Enkelvoudige selectie (2) / Meervoudige selectie (3)** — lijst met opties
* **Linkkiezer (4)** — één of meer **documenttypes** waarmee gebruikers mogen koppelen (bijv. Medewerker, Product, Controle)
* **Datum (5)** — datumveld

Net als formulieren kunnen eigenschappen werkruimtespecifiek zijn of afkomstig zijn uit Brainframe-standaarddefinities (importeerbaar in de werkruimte).

### Relatie met documentformulieren

1. **Maak eigenschappen aan** in de instellingen voor documenteigenschappen.
2. **Sleep eigenschappen** vanuit het formuliereditorpaneel naar secties.
3. Tijdens gebruik rendert het formulier elke eigenschap met het juiste invoerelement en leest/schrijft het naar de eigenschappenset van het document.

Een eigenschap hoeft niet op een formulier te staan om deel uit te maken van een documenttype — zie de configuratie van documenttypes hieronder. Omgekeerd maakt het toevoegen van een eigenschap aan een formulier deze niet automatisch verplicht; dat wordt bepaald door het documenttype.

## Configuratie op documenttypes

Documentformulieren worden **per documenttype toegewezen** onder **Werkruimte-instellingen → Documenttypes**.

### Documentweergave versus formulierweergave

Elk documenttype heeft een instelling **Weergave**:

| Weergave              | Gedrag                                                                                                                                                     |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Documentweergave**  | Traditionele ervaring — OnlyOffice, Summernote, Markdown, diagram, enz., afhankelijk van sjabloon en bestandstype                                          |
| **Formulierweergave** | De toegewezen **documentformulierlay-out** wordt gebruikt voor aanmaken, bekijken en bewerken. Het formulier heeft voorrang op de standaard documenteditor |

Wanneer **Formulierweergave** is geselecteerd:

1. Kies **Weergave selecteren** — selecteer het documentformulier dat moet worden gebruikt (verplicht).
2. Sla het documenttype op.

Documenten van dat type laden vervolgens de formulierlay-out via `auth/getDocumentForm` (werkruimtebreed gecachet). Als een document al ingebedde `documentFormData` bevat, kan die momentopname rechtstreeks worden gebruikt.

### Verplichte en optionele documenteigenschappen

In hetzelfde documenttypedialoogvenster, los van de formulierkoppeling:

* **Verplichte documenteigenschappen** — moeten worden ingevuld; validatie wordt afgedwongen bij het aanmaken en bewerken van documenten van dit type
* **Optionele documenteigenschappen** — beschikbaar maar niet verplicht

Deze lijsten:

* Bepalen welke eigenschappen deel uitmaken van het gegevensmodel van het documenttype
* Ondersteunen validatie en standaardinitialisatie
* Beperken welke eigenschappen **inline in widgets voor gekoppelde documenten** kunnen worden weergegeven

**Belangrijk onderscheid:**

| Configuratie                              | Reikwijdte                                                                                  |
| ----------------------------------------- | ------------------------------------------------------------------------------------------- |
| **Verplicht / optioneel op documenttype** | Welke eigenschappen bestaan en vereist zijn voor documenten van dat type                    |
| **Velden op documentformulier**           | Welke eigenschappen (en widgets) zichtbaar zijn en hoe ze in de interface zijn gerangschikt |

Een verplichte eigenschap zou normaal gesproken op het formulier moeten verschijnen zodat auteurs deze kunnen invullen. Een optionele eigenschap kan van het formulier worden weggelaten en toch op het document bestaan (bijvoorbeeld voor latere invulling of uitsluitend voor zoek- en filterdoeleinden).

## Samenvatting

| Concept                | Rol                                                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Documentformulier**  | Herbruikbare, rastergebaseerde gebruikersinterface (secties + velden)                                              |
| **Documenteigenschap** | Getypeerde definitie van een aangepast veld (tekst, selectie, datum, links, ...)                                   |
| **Documenttype**       | Kiest tussen formulier- en documentweergave, wijst een formulier toe en bepaalt verplichte/optionele eigenschappen |
| **Sectie**             | Gegroepeerd, inklapbaar en optioneel vertaald blok binnen het formulier                                            |
| **Widget**             | Gespecialiseerde interface voor risico's, koppelingen, bestanden, editor, enz.                                     |
| **Vertalingen**        | Sectietitels in de formuliereditor; eigenschapstitels en labels in de instellingen voor documenteigenschappen      |

Samen stellen deze componenten beheerders in staat te bepalen **welke gegevens documenten bevatten** (eigenschappen + regels van het documenttype) en **hoe auteurs met die gegevens werken** (formulierlay-out), zonder het onderliggende Brainframe-documentmodel te wijzigen.
