# I nested form

{% hint style="warning" %}
La gestione e l'aggiornamento di questi componenti è centralizzato e a carico di OpenCity Italia.

Puoi però effettuare alcune modifiche ai campi di un Nested form tramite [le logiche](/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/le-funzioni/impostare-delle-azioni-automatiche-le-logiche.md).
{% endhint %}

La piattaforma permette di utilizzare un set di componenti standard, denominati ***nested forms**,* che permettono di raccogliere dati in modo consistente tra i diversi servizi

Attraverso l'utilizzo di questi componenti, possiamo raccogliere dati in modo consistente tra i diversi servizi, mettendo a disposizione degli utenti funzioni come:

* funzioni di [precompilazione dati tra i servizi](/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/le-funzioni/precompilazione-dei-dati.md#configurazione-del-once-only);
* [acquisizione di dati certificati via PDND](/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/le-funzioni/precompilazione-dei-dati.md#integrazione-con-pdnd);
* visualizzazione e aggiornamento dei dati nel profilo utente;
* funzioni di acquisizione dati terze parti (es. ISEE).

OpenCity Italia mette a disposizione un elenco fornito di nested forms da utilizzare; per usufruire di queste funzioni, però, si consiglia di utilizzare quelli contrassegnati con "OC" e elencati qui:

<table><thead><tr><th width="374">Dati raccolti</th><th>Nome del nested form</th><th data-hidden></th></tr></thead><tbody><tr><td>Anagrafica richiedente</td><td>OC - Richiedente</td><td></td></tr><tr><td>Anagrafica beneficiario persona fisica</td><td>OC - Beneficiario</td><td></td></tr><tr><td>Anagrafica beneficiario soggetto giuridico</td><td>OC - Soggetto giuridico</td><td></td></tr><tr><td>Anagrafica figli</td><td>OC - Figli</td><td></td></tr><tr><td>Anagrafica coniuge</td><td>OC - Coniuge</td><td></td></tr><tr><td>Anagrafica genitore</td><td>OC - Genitori</td><td></td></tr><tr><td>Delega</td><td>OC - Delega</td><td></td></tr><tr><td>Residenza</td><td>OC - Residenza<br>Residenza (archetipo)</td><td></td></tr><tr><td>Cittadinanza</td><td>OC - Cittadinanza</td><td></td></tr><tr><td>Esperienze lavorative</td><td>OC - Esperienze lavorative</td><td></td></tr><tr><td>Titoli di studio</td><td>OC - Titoli di studio</td><td></td></tr><tr><td>ISEE Generico</td><td>OC - ISEE</td><td></td></tr><tr><td>ISEE Ordinario</td><td>OC - ISEE Ordinario</td><td></td></tr><tr><td>Dati di accredito</td><td>OC - IBAN</td><td></td></tr><tr><td>Veicoli</td><td>OC - Veicoli<br>OC - Veicoli (semplificato)</td><td></td></tr><tr><td>Immobili</td><td>OC - Immobili</td><td></td></tr><tr><td>Informativa privacy</td><td>OC - Informativa privacy</td><td></td></tr><tr><td>Nucleo familiare</td><td>OC - Nucleo familiare</td><td></td></tr></tbody></table>

## Usare i nested form all'interno del modulo

Dalla colonna dei componenti seleziona quello chiamato "nested form".

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

Una volta trascinato nel modulo, seleziona nella voce "Form" del componente quello che vuoi utilizzare.

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

## Configurare l'ISEE per un minorenne

Usa questa configurazione quando il servizio richiede l'ISEE di un figlio minorenne, non del richiedente adulto. La chiamata PDND richiede il codice fiscale del minore (`fiscal_code_child`) in aggiunta a quello del richiedente.

### Prerequisiti

Il modulo deve raccogliere il codice fiscale del minore prima della sezione ISEE. Inserisci il nested form del minore in una pagina precedente del servizio:

* **OC - Beneficiario** (chiave API: `beneficiary`): se il minore è il beneficiario diretto del servizio;
* **OC - Figli** (chiave API: `children`): se il servizio coinvolge uno o più figli del richiedente, precompilati via PDND.

### Configurazione

1. Trascina nel modulo il nested form **OC - ISEE** e assegnagli la chiave API `economic_situation_indicator`.
2. Nella sezione "API" del componente, sotto "Custom properties", aggiungi queste proprietà:

| Proprietà           | Valore                                             |
| ------------------- | -------------------------------------------------- |
| `profile_block`     | `true`                                             |
| `eservice`          | `4f3d1f0e-1e2b-4c5a-8f3a-2b6e9f0c8d7e`             |
| `format`            | `minorenne`                                        |
| `fiscal_code_child` | percorso al codice fiscale del minore (vedi sotto) |

3. Per il valore di `fiscal_code_child`, usa il percorso corretto in base al nested form scelto:
   * Con **OC - Beneficiario**: `data.beneficiary.data.fiscal_code.data.fiscal_code`
   * Con **OC - Figli**: `data.children.data[0].fiscal_code.data.fiscal_code`

{% hint style="warning" %}
Il parametro `fiscal_code_child` è obbligatorio con il formato `minorenne`. Se non viene configurato, la chiamata PDND non restituisce l'ISEE del minore e il cittadino non può completare la pratica.
{% endhint %}

{% hint style="info" %}
Per verificare il percorso esatto dei campi nel tuo nested form, usa `console.log(data.[chiave_api])` nella sezione "Custom action" di una logica, come descritto nella pagina [Modificare i campi di un Nested Form](/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/le-funzioni/modificare-i-campi-di-un-nested-form.md).
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.opencityitalia.it/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/i-componenti/i-nested-form.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
