> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importa attività in Maintain

> Scopri come importare attività utilizzando l'interfaccia utente (solo modalità APM), Cognite Toolkit o Trasformazioni.

Maintain supporta tre metodi per importare attività:

* **Caricamento CSV**: Importa attività utilizzando l'interfaccia utente (solo modalità APM).
* **Cognite Toolkit**: Ingestisci attività utilizzando [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) per la modellazione dei dati (modalità APM e IDM/CDM).
* **Trasformazioni**: Converti i dati da tabelle RAW o altre fonti utilizzando [Trasformazioni CDF](/cdf/integration/) (modalità APM e IDM/CDM).

## Importa tramite caricamento CSV (modalità APM)

<Info>
  **Disponibilità della modalità**: Solo modalità APM. La modalità IDM/CDM non supporta l'importazione CSV nell'interfaccia utente.
</Info>

Le attività importate tramite CSV possono essere visualizzate e modificate come attività create in Maintain.

<Steps>
  <Step title="Scarica il modello di file CSV">
    Il file CSV importato deve conformarsi al modello specifico del tuo progetto. Per scaricare **maintain-import-template.csv**:

    1. Naviga su **Attività** e seleziona **Aggiungi attività**.
    2. Seleziona **Importa attività**.
    3. Seleziona **Scarica modello**.
  </Step>

  <Step title="Compila il modello di file CSV">
    Il modello CSV conterrà solo una singola riga di valori che rappresentano i possibili valori che puoi fornire per un'attività importata. Questa riga è chiamata riga di intestazione e non deve essere rimossa quando si popola il modello.

    <Tip>
      Sebbene la riga di intestazione **row** non debba essere rimossa, puoi rimuovere valori specifici dall'intestazione o cambiare l'ordine dei valori. Ad esempio, se un certo campo non è rilevante per l'importazione in uno scenario specifico, puoi rimuoverlo dall'intestazione e dalle righe successive. Ciò comporterà che il campo rimanga vuoto in tutte le attività importate.
    </Tip>

    Per importare un'attività singola, aggiungi una nuova riga al modello e inserisci i valori appropriati separati da virgole. Ogni valore nella nuova riga dovrebbe contenere il valore che desideri popolare nella rispettiva riga di intestazione fornita nel modello.
    Ad esempio, se il tuo modello contiene la seguente riga di intestazione: `title,status,department`, crea un file CSV con una riga aggiuntiva:

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    title,status,department
    Erect scaffolding,Done,Rigging
    ```

    Creerai un'attività con il titolo "Erect scaffolding", stato "Done" e dipartimento "Rigging" quando importato.

    <a id="format-date-fields" />

    ### Formatta i campi data

    Alcuni campi attività in **Maintain** rappresentano date e devono avere un formato specifico per essere importati correttamente. I campi data possono essere identificati nel modello CSV da un valore di intestazione speciale nella forma `startTime (DD/MM/YYYY)`. In questo esempio, `startTime` è il nome del campo, mentre `DD/MM/YYYY` è il formato della data che deve essere utilizzato nelle righe successive del file CSV.
    Ad esempio, importando il seguente file si otterrà l'attività creata con `startTime` impostato al 10 dicembre 2023.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    title,startTime (DD/MM/YYYY)
    Erect scaffolding,10/12/2023
    ```

    <a id="format-boolean-fields" />

    ### Formatta i campi booleani

    Alcuni campi attività in **Maintain** rappresentano valori booleani, come `true` o `false`. I campi booleani possono essere identificati nel modello CSV da un valore di intestazione speciale nella forma `isActive (true/false)`. Questi campi hanno solo due valori validi, `true` o `false`.
    Ad esempio, importando il seguente file si otterrà l'attività creata con `isActive` impostato a `false`.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titolo, è attivo (vero/falso)
    Montare ponteggi, falso
    ```

    <a id="format-values-containing-commas" />

    ### Formattare valori contenenti virgole

    A causa del formato CSV che separa i valori utilizzando le virgole, prestare attenzione quando un campo attività deve contenere anche una virgola. **Mantenere** i processi dei file CSV secondo il [standard RFC 4180](https://www.rfc-editor.org/rfc/rfc4180), che richiede che i valori contenenti virgole siano racchiusi tra virgolette doppie.
    Ad esempio, importando il seguente file, l'attività verrà creata con `città` impostata su `Boston, MA`.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titolo,città
    Montare ponteggi,"Boston, MA"
    ```

    <a id="unset-values" />

    ### Valori non impostati

    È possibile lasciare il campo vuoto nei campi attività non richiesti per rappresentare valori mancanti o irrilevanti per l'attività specifica.
    Ad esempio, importando il seguente file, l'attività verrà creata con `stato` impostato su `New York`, ma non avrà alcun valore nel campo `città`.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titolo,città,stato
    Montare ponteggi,New York
    ```

    <a id="connect-an-activity-to-an-asset" />

    ### Collegare un'attività a un bene

    **Mantenere** supporta il collegamento delle attività agli asset CDF, che viene utilizzato per contestualizzare l'attività in modelli 3D, documenti, PSN e altro. Affinché **Mantenere** crei il collegamento appropriato a un bene in CDF, è necessario fornire l'ID esterno dell'asset CDF nel modello di importazione.
    Se hai la contestualizzazione degli asset nel tuo progetto, ci sarà un campo speciale `assetExternalId` nel modello che devi compilare con l'ID esterno dell'asset dell'attività.
    Ad esempio, importando il seguente file e assumendo che esista un asset CDF con ID esterno `NY_BUILDING_23`, l'attività sarà contestualizzata a questo asset quando verrà inserita in Mantenere.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titolo,assetExternalId
    Montare ponteggi,NY_BUILDING_23
    ```

    Se l'ID esterno fornito non viene esportato, l'utente vedrà un errore durante l'importazione.

    <Tip>
      Gli utenti finali potrebbero non conoscere l'ID esterno del bene a cui è collegata l'attività. Se è necessario fornire agli utenti finali un elenco dei possibili beni e dei loro ID esterni, si consiglia di recuperare questi dati utilizzando l'[API asset](/api-reference/concepts/20230101/assets) di CDF o altri estrattori di dati.
    </Tip>
  </Step>

  <Step title="Importa un file CSV compilato">
    Una volta che hai un modello CSV popolato, puoi importarlo in **Mantenere**:

    1. Naviga a **Attività** > **Aggiungi attività**.
    2. Seleziona **Importa attività**.
    3. Seleziona il campo **Clicca per selezionare il file CSV da importare**.
    4. Seleziona e carica il file CSV popolato dal tuo computer.
    5. Verifica di aver importato il file controllando la sezione **Ispettore file**. Un messaggio verde dovrebbe mostrare il numero di righe da importare e se hai avvisi o errori.
    6. Se non ci sono errori, seleziona **Importa** per avviare il processo di importazione.
    7. Quando l'importazione ha successo, vedrai un messaggio di successo verde con il pulsante **Mostra attività**.
    8. Facoltativo. Seleziona **Mostra attività** per navigare alle attività importate e controllare che siano corrette secondo il file CSV.
  </Step>
</Steps>

## Importa tramite Cognite Toolkit

<Info>
  **Disponibilità della modalità**: Modalità APM e IDM/CDM. Questo è l'approccio raccomandato per l'ingestione programmatica delle attività.
</Info>

Utilizza il [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) per ingerire attività attraverso le capacità di modellazione dei dati di CDF. Questo metodo funziona per entrambe le modalità di distribuzione e fornisce controllo delle versioni e distribuzioni riproducibili.

### Requisiti

Prima di importare attività tramite il Cognite Toolkit, assicurati di avere:

* Una vista attività personalizzata configurata nel tuo spazio di modello dati (o utilizza la vista standard `OrdineManutenzioneCognite` da `cdf_idm`)
* La vista attività mappata nella tua configurazione di Maintain sotto `viewMappings`
* Accesso al [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)

### Configura la mappatura della vista attività

Nella tua configurazione di Maintain, verifica che la sezione `viewMappings` punti alla tua vista attività:

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
{
  "viewMappings": {
    "activity": {
      "type": "view",
      "space": "cdf_idm",
      "version": "v1",
      "externalId": "CogniteMaintenanceOrder"
    }
  }
}
```

Se hai creato una vista di attività personalizzata (ad esempio, `APM_Activity` o `ExtendedActivity`), aggiorna la mappatura per puntare alla tua vista personalizzata:

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
{
  "viewMappings": {
    "activity": {
      "type": "view",
      "space": "maintain_schema_extention",
      "version": "v1",
      "externalId": "APM_Activity"
    }
  }
}
```

Scopri di più su [estendere i modelli di dati](/cdf/maintain/guides/config#extend-data-models) e [configurare le mappature delle viste](/cdf/maintain/guides/config#view-mappings).

### Ingestisci attività con il Cognite Toolkit

Utilizza il [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) come approccio raccomandato per l'ingestione delle attività in modalità IDM.

<Steps>
  <Step title="Crea la struttura dei dati dell'attività">
    Se non lo hai già fatto, crea file YAML per Container, View e Node per le tue attività. Segui la struttura standard di modellazione dei dati:

    * `APM_Activity.Container.yaml` - Definisce lo schema del contenitore
    * `APM_Activity.View.yaml` - Definisce le proprietà e le relazioni della vista
    * `apmActivities.Node.yaml` - Contiene le istanze delle tue attività
      Consulta la [documentazione del Cognite Toolkit](/cdf/deploy/cdf_toolkit/) per esempi dettagliati e modelli.
  </Step>

  <Step title="Configura le mappature dei campi">
    Assicurati che i tuoi nodi di attività includano i campi richiesti per Mantenere:

    | Campo             | Descrizione                                                     | Richiesto    |
    | ----------------- | --------------------------------------------------------------- | ------------ |
    | `externalId`      | Identificatore unico per l'attività                             | Sì           |
    | `title`           | Titolo dell'attività                                            | Sì           |
    | `status`          | Stato dell'attività (ad esempio, "Aperto", "In Corso", "Fatto") | Raccomandato |
    | `startTime`       | Data/ora di inizio                                              | Raccomandato |
    | `endTime`         | Data/ora di fine                                                | Raccomandato |
    | `rootLocation`    | Identificatore della posizione principale                       | Raccomandato |
    | `assetExternalId` | ID esterno dell'asset collegato                                 | Facoltativo  |
    | `mainAsset`       | Relazione diretta con l'asset                                   | Facoltativo  |

    <Tip>
      Includi campi aggiuntivi in base alle tue impostazioni di [Configurazione dei Campi](/cdf/maintain/guides/config#field-configuration) in Mantenere.
    </Tip>
  </Step>

  <Step title="Distribuisci le attività">
    Distribuisci i tuoi dati di attività utilizzando il Cognite Toolkit:

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev
    ```

    Utilizza il `--drop-data` flag se hai bisogno di sostituire le attività esistenti:

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev --drop-data
    ```

    Scopri di più sui [flag di distribuzione del Toolkit Cognite](/cdf/maintain/guides/config#critical-deployment-flags).
  </Step>

  <Step title="Verifica in Maintain">
    1. Accedi a [Manutenzione](https://maintain.cogniteapp.com). 2. Naviga verso **Attività**. 3. Verifica che le tue attività importate appaiano con i dati corretti.
  </Step>
</Steps>

### Ingestisci attività con Trasformazioni

<Info>
  **Disponibilità della modalità**: Modalità APM e IDM/CDM. Questo è l'approccio consigliato per i dati in blocco.
</Info>

In alternativa, puoi utilizzare [Trasformazioni CDF](/cdf/integration/) per convertire i dati da tabelle RAW o altre fonti in nodi di attività.

### Risoluzione dei problemi

Se riscontri problemi con le attività dopo l'ingestione, consulta la tabella per cause e soluzioni.

| Problema                           | Soluzione                                                                                            |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Attività non visibili              | Verifica che la configurazione `viewMappings` punti allo spazio, alla vista e alla versione corretti |
| Campi mancanti                     | Controlla che la tua Configurazione dei Campi includa tutti i campi che stai ingerendo               |
| Collegamenti agli asset interrotti | Assicurati che le relazioni `assetExternalId` o `mainAsset` puntino a asset esistenti                |
| Posizione radice errata            | Verifica che `rootLocation` corrisponda alla tua configurazione della posizione                      |
