Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
95 lines
3.9 KiB
Plaintext
95 lines
3.9 KiB
Plaintext
---
|
|
title: Campi di Relazione
|
|
description: Collega i record tra oggetti diversi utilizzando campi di relazione.
|
|
---
|
|
|
|
## Tipi di relazioni
|
|
|
|
### Uno-a-molti
|
|
|
|
Un record nell'Oggetto A può essere collegato a molti record nell'Oggetto B.
|
|
|
|
**Esempio:** Un'Azienda può avere molte Persone (dipendenti).
|
|
|
|
### Molti-a-uno
|
|
|
|
Molti record nell'Oggetto A possono essere collegati a un record nell'Oggetto B.
|
|
|
|
**Esempio:** Molte Persone possono appartenere a un'Azienda.
|
|
|
|
### Relazioni che puntano a più tipi di oggetto
|
|
|
|
Alcuni oggetti possono collegarsi a più tipi di oggetto su un lato della relazione.
|
|
|
|
**Esempio:** Una Nota può essere collegata a una Persona E a un'Azienda E a un'Opportunità contemporaneamente. La Nota si trova sul lato "molti", collegandosi a più lati "uno".
|
|
|
|
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
|
|
|
|
Analogamente, un Progetto (sul lato "uno") potrebbe ricevere collegamenti da più Persone, più Aziende e più Note.
|
|
|
|
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
|
|
|
|
<Warning>
|
|
**Limitazione di importazione/esportazione**: Le relazioni che puntano a più tipi di oggetto non sono ancora supportate per l'importazione/esportazione CSV. È nella nostra roadmap.
|
|
</Warning>
|
|
|
|
### Molti-a-molti
|
|
|
|
Molti record nell'Oggetto A possono essere collegati a molti record nell'Oggetto B.
|
|
|
|
**Esempio:** Molte Persone possono essere collegate a molti Progetti, e viceversa.
|
|
|
|
Le relazioni molti-a-molti utilizzano lo schema dell'**oggetto di giunzione**: un oggetto intermedio che collega entrambe le parti. Con la funzionalità delle relazioni di giunzione, Twenty visualizza direttamente i record collegati finali, nascondendo l'oggetto intermedio dall'interfaccia utente.
|
|
|
|
<Warning>
|
|
**Funzionalità beta**: le relazioni di giunzione devono essere abilitate in **Impostazioni → Community → Funzionalità** prima dell'uso.
|
|
</Warning>
|
|
|
|
Vedi [Come creare molte relazioni](/l/it/user-guide/data-model/how-tos/create-many-to-many-relations) per una guida completa passo-passo.
|
|
|
|
## Creazione di un campo di relazione
|
|
|
|
1. Vai a **Impostazioni → Modello dati**
|
|
2. Seleziona l'oggetto in cui vuoi aggiungere la relazione
|
|
3. Clicca su **+ Nuovo campo**
|
|
4. Seleziona **Relazione** come tipo di campo
|
|
5. Scegli l'oggetto o gli oggetti di destinazione a cui collegare
|
|
6. Configura le impostazioni della relazione:
|
|
* **Nome del campo sull'oggetto di origine**: il nome del campo di relazione sull'oggetto che stai modificando
|
|
* **Nome del campo sull'oggetto di destinazione**: il nome del campo di relazione che apparirà sull'oggetto di destinazione
|
|
* Tipo di relazione (uno-a-molti, molti-a-uno)
|
|
7. Clicca su **Salva**
|
|
|
|
## Relazioni standard
|
|
|
|
Twenty offre relazioni predefinite tra oggetti standard:
|
|
|
|
| Oggetto di origine | Oggetto di destinazione | Tipo di relazione |
|
|
| ------------------ | ----------------------- | ----------------- |
|
|
| Persone | Aziende | Molti-a-uno |
|
|
| Opportunità | Aziende | Molti-a-uno |
|
|
| Opportunità | Persone | Molti-a-uno |
|
|
|
|
## Migliori Pratiche
|
|
|
|
### Pianificazione delle relazioni
|
|
|
|
* **Mappa il tuo modello di dati**: pianifica le relazioni prima di crearle
|
|
* **Considera la direzione**: pensa a quale oggetto "possiede" la relazione
|
|
* **Evita le dipendenze circolari**: mantieni pulito il tuo modello di dati
|
|
|
|
### Denominare le relazioni
|
|
|
|
* **Usa nomi chiari**: rendi evidente ciò che la relazione rappresenta
|
|
* **Sii coerente**: usa schemi di denominazione simili tra le relazioni
|
|
* **Considera entrambi i lati**: assegna un nome appropriato a entrambi i lati della relazione
|
|
|
|
### Prestazioni
|
|
|
|
* **Non esagerare con le relazioni**: troppe relazioni possono rallentare il tuo spazio di lavoro
|
|
|
|
## Limitazioni
|
|
|
|
* **L'eliminazione delle relazioni** rimuove il collegamento ma non i record correlati
|
|
* **Le relazioni circolari** dovrebbero essere evitate per l'integrità dei dati
|