Esportare e importare dati¶
In Odoo, a volte è necessario esportare o importare dati per l’esecuzione di rendiconti o per la modifica dei dati. In questa pagina troverai informazioni utili sull’esportazione e importazione dei dati all’interno e all’esterno di Odoo.
Importante
A volte, gli utenti visualizzano un errore di tipo «timeout» oppure uno dei loro record non viene elaborato a causa delle dimensioni. Questo può accadere con esportazioni di grandi dimensioni o nel caso in cui il file importato è troppo grande. Per raggirare il limite relativo alle dimensioni dei record, è necessario elaborare esportazioni e/o importazioni in piccoli gruppi.
Esportare dati da Odoo¶
When working with a database, it is sometimes necessary to export data in a distinct file. Doing so can aid in reporting on activities, although, Odoo provides a precise reporting tool with each available application.
With Odoo, the values can be exported from any field in any record. To do so, activate the list view (List) icon, on the items that need to be exported, and then select the records that should be exported. To select a record, tick the checkbox next to the corresponding record. Finally, click the Action button, and select (Export).
When clicking on Export, a Export Data pop-over window appears, with several options for the data to export:
With the I want to update data (import-compatable export) option ticked, the system only shows the fields that can be imported. This is helpful in the case where the existing records need to be updated. This works like a filter. Leaving the box unticked, gives many more field options because it shows all the fields, not only the ones that can be imported.
Durante l’esportazioni, è possibile scegliere tra due formati:
.csve.xls. Nel formato .csv`, gli elementi vengono separati da una virgola mentre il formato.xlsraggruppa tutte le informazioni sui fogli di lavoro in un file compresi contenuto e formattazione.These are the items that can be exported. Use the (Show sub-fields) icon to display more sub-field options. Use the Search bar to find specific fields. To use the Search option more efficiently, click on all the (Show sub-fields) icon to display all fields.
The (Select field) icon button is present to add fields to the Fields to export list.
The (Sort) icon to the left of the selected fields can be used to move the fields up and down, to change the order in which they are displayed in the exported file. Drag-and-drop using the (Sort) icon.
The (Remove field) icon is used to remove fields. Click the (Remove field) icon to remove the field.
For recurring reports, it is helpful to save export presets. Select all the needed fields, and click on the template drop-down menu. Once there, click on New template, and give a unique name to the export template. Click the (floppy drive) icon to save the configuration. The next time the same list needs to be exported, select the related template that was previously saved from the drop-down menu.
Suggerimento
È utile conoscere l’identificatore esterno del campo. Ad esempio, il campo Azienda correlata nell’interfaccia utente dell’esportazione corrisponde a parent_id (identificatore esterno). Questo è utile perché in questo modo vengono esportati solo i dati che devono essere modificati e reimportati.
Importare dati in Odoo¶
L’importazione di dati in Odoo è estremamente utile durante l’implementazione o quando è necessario aggiornare dati in massa. La seguente documentazione spiega come importare dati in un database Odoo.
Avvertimento
Le importazioni sono permanenti e non possono essere annullate. Tuttavia, è possibile utilizzare filtri (creato il o ultima modifica) per individuare i record modificati o creati a seguito dell’importazione.
Suggerimento
Attivando la modalità sviluppatore le impostazioni di importazione visibili, nel menu a sinistra, saranno diverse. In questo modo, avrai accesso ad un menu . Due sono le opzioni incluse nel menu avanzato: Mantieni uno storico durante l’importazione e Consenti la corrispondenza con i sottocampi.
Se il modello utilizza OpenChatter, l’opzione Mantieni uno storico durante l’importazione configura abbonamenti e invia notifiche durante l’importazione che però sarà più lenta.
Se viene selezionata l’opzione Consenti la corrispondenza con i sottocampi, tutti i sottocampi relativi ad un campo specifico verranno utilizzati per la corrispondenza con il campo Odoo durante l’importazione.
Esordiente¶
I dati possono essere importati su quasliasi oggetto business Odoo che utilizza i formati come Excel (.xlsx) o CSV (.csv). Sono inclusi: contatti, prodotti, rendiconti bancari, registrazioni contabili e ordini.
Open the view of the object to which the data should be imported/populated, click on (Action) icon, and in the drop-down menu select (Import records).
Dopo aver fatto clic su Importa record, Odoo mostra una nuova pagina contenente modelli che possono essere scaricati e popolati con i dati dell’azienda. Tali modelli possono essere importati con un clic, in quanto la mappatura dei dati è già stata effettuata. Per scaricare un modello fai clic su Importa modello per clienti al centro della pagina.
Importante
Al momento dell’importazione di un file di tipo CSV, Odoo fornisce delle opzioni di formattazione. Tali opzioni nom appaiono durante l’importazione del tipo di file Excel privato (.xls, .xlsx).
Sistema le opzioni di formattazione e assicurati che tutte le colonne nel campo Odoo e nella Colonna file siano prive di errori. Infine, fai clic su Importa per importare i dati.
Adattare un modello¶
Nello strumento di importazione vengono forniti i modelli per l’importazione di dati più comuni (contatti, prodotti, rendiconti bancari, ecc.). Aprili con qualsiasi software che supporta fogli di calcolo (Microsoft Office, OpenOffice, Google Drive, ecc.).
Una volta che il modello è stato scaricato, segui questi step:
Aggiungi, elimina e ordina le colonne per adattare al meglio la struttura dei dati.
è fortemente consigliato di non rimuovere la colonna relativa all”ID esterno (scopri perché nella prossima sezione;
configura un ID unico per ogni record trascinando verso il basso la sequenza dell’ID nella colonna ID esterno.
Nota
Quando aggiungi una nuova colonna, Odoo potrebbe non essere in grado di mapparla automaticamente se l’etichetta non corrisponde a nessun campo in Odoo. Tuttavia, puoi mappare nuove colonne manualmente quando provi l’importazione. Cerca il campo corrispondente nel menu a discesa.
In seguito, utilizza l’etichetta del campo nel file d’importazione per assicurarti che le importazioni future avverranno con successo.
Suggerimento
Another useful way to find out the proper column names to import is to export a sample file using the fields to be imported. This way, if there is not a sample import template, the names are accurate.
Importare da un’altra applicazione¶
The External ID (ID) is a unique identifier for a line item. It is possible to use an External ID (ID) from previous software to facilitate the transition to Odoo.
La configurazione di un ID non è obbligatoria durante l’importazione ma aiuta in molti casi:
Aggiornamento importazioni: importa lo stesso file varie volte senza creare duplicati
Per ricreare le relazioni tra vari record, l’identificatore unico dell’applicazione originale dovrebbe essere utilizzato per mapparla verso la colonna ID esterno in Odoo.
Quando un altro record viene importato ed è collegato al primo, utilizza XXX/ID (XXX/ID esterno) per l’identificatore unico originale. Il record può essere anche trovato utilizzando il suo nome.
Avvertimento
È necessario sottolineare che vi sarà un conflitto se due o più record hanno lo stesso ID esterno.
Campi mancanti nella mappatura delle colonne¶
Odoo si impegna a cercare il tipo di campo per ogni colonan all’interno del file importato, in base alle prime dieci righe dei file.
Ad esempio, se c’è una colonna che contiene solo numeri, solo i campi di tipo intero verranno presentati come opzioni.
Anche se questo comportamento sembra essere vantaggioso nella maggior parte dei casi, a volte capita che potrebbe fallire o che la colonna venga mappata ad un campo che non viene proposto per impostazione predefinita.
Se ciò si verifica, controlla l”opzione Mostra campi dei campi relazione (avanzato). In seguito, sarà disponibile una lista completa di campi per ogni colonna.
Modificare il formato di importazione dei dati¶
Nota
Odoo è in grado di individuare automaticamente se una colonna corrisponde ad una data e cercherà di indovinare il formato da un insieme di formati più utilizzati. Il processo funziona per molti formati ma ci sono anche formati data non riconosciuti. Questo potrebbe causare confusione a causa dell’inversione giorno-mese. È difficile indovinare quale parte del formato data corrisponde al giorno e quale al mese in una data come «01-03-2016».
Durante l’importazione di un file CSV, Odoo fornisce varie opzioni di formattazione.
Per visualizzare il formato data individuato da Odoo nel file puoi controllare il Formato data mostrato quando fai clic su opzioni sotto il selettore di file. Se il formato non è corretto puoi modificarlo a piacimento utilizzando l”ISO 8601 per indicare il formato giusto.
Importante
ISO 8601 is an international standard, covering the worldwide exchange, along with the
communication of date and time-related data. For example, the date format should be YYYY-MM-DD.
In the case of July 24th 1981, it should be written as 1981-07-24.
Suggerimento
Al momento dell’importazione di file Excel (.xls, .xlsx), tieni a mente l’utilizzo di celle data per memorizzare le date. Questo mantiene i formati data locali per la visualizzazione, indipendentemente dalla formattazione della data in Odoo. Quando importi un file CSV , utilizza la sezione Formattazione per selezionare il formato data delle colonne da importare.
Importare numeri con simboli di valuta¶
Odoo supporta numeri con parentesi per rappresentare segni negativi così come numeri seguiti da simboli di valuta. Inoltre, Odoo individua automaticamente anche i separatori di centinaia e migliaia. Se viene utilizzato un simbolo valuta non conosciuto da Odoo, potrebbe non essere riconosciuto come numero e l’importazione non va a buon fine.
Nota
Quando importi un file CSV, il menu Formattazione appare nella colonna a sinistra. Tra queste opzioni, è possibile modificare il Separatore delle migliaia.
Esempi di numeri supportati (utilizziamo trentadue mila come esempio):
32.000,00
32000,00
32,000.00
-32000.00
(32000.00)
$ 32.000,00
(32000.00 €)
Esempi di formati che non funzionano:
ABC 32.000,00
$ (32.000,00)
Importante
Una () (parentesi) attorno al numero indica che il numero rappresenta un valore negativo. Il simbolo di valuta deve essere posizionato all’interno della parentesi affinché Odoo possa riconoscerlo come un valore valuta negativo.
Anteprima tabella di importazione non visualizzata correttamente¶
Per impostazione predefinita, l’anteprima di importazione presenta le virgole come separatori e le virgolette come delimitatori di testo. Se il file CSV non presenta queste configurazioni, modifica le impostazioni di Formattazione (visualizzate nella sezione Importa del file CSV dopo aver selezionato il file CSV).
Importante
Se il file CSV presenta una tabulazione come separatore, Odoo non riconosce le suddivisioni. Le opzioni relative al formato di file devono essere modificate dall’applicazione Fogli di calcolo. Consulta la seguente sezione Modificare formato file CSV
Modificare il formato file CSV nell’applicazione Fogli di calcolo¶
Quando modifichi e salvi file CSV in app con fogli di calcolo, le impostazioni locali del tuo pc verranno applicate per la definizione di separatori e delimitatori. Odoo consiglia di utilizzare OpenOffice o LibreOffice, in quanto entrambe le applicazioni consentono di modificare tutte e tre le opzioni (dall’app LibreOffice, vai nella finestra di dialogo ).
Microsoft Excel ti permette di modificare i dati inseriti al momento del salvataggio (dalla :menuselection:` finestra di dialogo “Salva come” –> fai clic sull’elenco a discesa “Strumenti” –> scheda Inserimento`).
Differenza tra ID database e ID esterno¶
Alcuni campi stabiliscono collegamenti con altri oggetti. Ad esempio, il Paese di un contatto rappresenta un collegamento ad un record dell’oggetto «Paese». Quando campi simili vengono importati, Odoo dovrà ricreare i collegamenti tra i vari record. Per aiutarti a importare questi campi, Odoo fornisce tre meccanismi.
Importante
È possibile utilizzare **solo un* meccanismo per campo importato.
Ad esempio, per indicare il Paese di un contatto, Odoo propone 3 diversi campi da importare:
Paese: il nome o codice del Paese
ID Paese/database: ID Odoo unico di un record, definito dall’ID della colonna PostgreSQL
ID Paese/esterno: l’ID del record indicato in un’altra applicazione (oppure il file
.XMLda cui è stato importato)
Per il Belgio, ad esempio, puoi usare uno dei 3 metodi per eseguire l’importazione:
Paese:
BelgioID Paese/databse:
21ID Paese/esterno:
base.be
In basse alle necessità dell’azienda è possibile utilizzare uno dei tre metodi per fare riferimento ai record in relazioni. Di seguito, spieghiamo quando usare i vari metodi a seconda delle necessità:
usa Paese: questo è il metodo più facile quando i dati provengono da file CSV creati manualmente;
usa ID Paese/database: da utilizzare solo se necessario. Principalmente, sono gli sviluppatori ad utilizzarla perché consente di non avere mai conflitti (potresti avere vari record con lo stesso nome ma aventi un unico ID database)
usa ID Paese/esterno: usa l”ID esterno
Quando utilizzi ID esterni, importa file CSV con la colonna ID esterno che definisce l”ID esterno di ogni record importato. In seguito, si può fare riferimento al record con colonne come Campo/ID esterno. I seguenti file CSV forniscono un esempio per prodotti e categorie.
Importare campi relazione¶
In Odoo, un oggetto è sempre legato a molti altri oggetti (ad es. un prodotto è collegato a categorie prodotto, attributi, fornitori, ecc.). Per importare relazioni di questo tipo è necessario prima importare i record dell’oggetto in questione dal relativo menu a elenco.
È possibile farlo utilizzando il nome del record correlato oppure l’ID a seconda delle circostanze. L’ID viene utilizzato quando due record hanno lo stesso nome. In questo caso, aggiungi / ID alla fine del titolo della colonna (ad es. per gli attributi prodotto: Attributi prodotto/Attributo/ID).
Opzioni per corrispondenze multiple sui campi¶
Ad esempio, se ci sono due categorie prodotto aventi come nome principale Vendibile (ad es. Prodotti vari/Vendibili e Altri prodotti/Vendibili), la convalida viene interrotta ma i dati potrebbero ancora essere importati. Tuttavia, Odoo consiglia di non importare i dati perché verranno tutti collegati alla prima categoria di tipo Vendibile presente nell’elenco Categoria prodotto (Prodotti vari/Vendibili). Odoo, invece, consiglia di modificare uno dei valori duplicati o la gerarchia della categoria prodotto.
Tuttavia, se l’azienda non desidera modificare la configurazione delle categorie prodotto, Odoo suggerisce di utilizzare l”ID esterno per il campo “Categoria”.
Importare campi relazione many2many¶
I tag dovrebbero essere separati da una virgola senza spazi. Ad esempio, se è necessario collegare un cliente a due tag: Produttore e Rivenditore, è necessario registrare “Produttore,Rivenditore” nella stessa colonna del file CSV.
Importare relazioni one2many¶
Se un’azienda vuole importare un ordine di vendita con più righe, è fondamentale inserire una riga specifica nel file CSV per ogni riga d’ordine. La prima riga d’ordine viene importata sulla stessa riga come informazioni relative all’ordine. Qualsiasi riga aggiuntiva necessità di una riga extra che non presenta informazioni nei campi relativi all’ordine.
Example
A company imports quotations using a CSV file, based on demo data:
A company imports purchase orders with their respective purchase order lines using a CSV file:
A company imports customers and their respective contacts using a CSV file:
Importare record più volte¶
Se un file importato contiente una delle colonne ID esterno o ID database, i record che sono già stati importati vengono modificati invece di essere creati di nuovo. Questa funzione è di grande aiuto in quanto permette agli utenti di importare lo stesso file CSV più volte anche dopo aver apportato modifiche tra le due importazioni.
Odoo si occupa di creare o modificare ogni record che sia nuovo o meno.
Questa funzionalità consente ad un’azienda di utilizzare lo Strumento importa/esporta per modificare un insieme di record in un’app fogli di calcolo.
Valori non forniti per un campo specifico¶
If all fields are not set in the CSV file, Odoo assigns the default value for every non-defined field. However, if fields are set with empty values in the CSV file, Odoo sets the empty value in the field, instead of assigning the default value.
Esportare/importare varie tabelle da un applicazione SQL in Odoo¶
Se è necessario importare dati da varie tabelle, le relazioni devono essere ricreate tra i record appartenenti a tabelle diverse. Ad esempio, se le aziende e le persone vengono importate, il link tra ogni persona e l’azienda per la quale lavorano deve essere riprodotto.
Per gestire le relazioni tra tabelle, usa la struttura ID esterno di Odoo. L” ID esterno di un record è l’identificatore unico del record stesso in un’altra applicazione, L” ID esterno deve essere unico tra tutti i record di tutti gli oggetti. È una buona pratica per prefissare ID esterno con il nome dell’applicazione o della tabella (come “company_1”, “person_1” - invece di “1”).
Supponiamo che ci sia un database SQL con due tabelle che devono essere importate: aziende e persone. Ogni persona appartiene ad un’azienda, quindi il collegamento tra la persona e l’azienda per la quale lavora deve essere ricreato.
Testa l’esempio con un campione di database PostgreSQL.
Per prima cosa, esporta le aziende e i loro ID esterni. In PSQL, digita il seguente comando:
> copy (select 'company_'||id as "External ID",company_name as "Name",'True' as "Is a Company" from companies) TO '/tmp/company.csv' with CSV HEADER;
Il comando SQL genera il seguente file CSV
External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True
Per creare il file CSV per le persone collegate alle aziende usa il seguente comando SQL in PSQL:
> copy (select 'person_'||id as "External ID",person_name as "Name",'False' as "Is a Company",'company_'||company_id as "Related Company/External ID" from persons) TO '/tmp/person.csv' with CSV
It produces the following CSV file:
External ID,Name,Is a Company,Related Company/External ID
person_1,Fabien,False,company_1
person_2,Laurence,False,company_1
person_3,Eric,False,company_2
person_4,Ramsy,False,company_3
Nel file, Fabien e Laurence sono dipendenti dell’azienda Bigees (company_1) ed Eric lavora per l’azienda Organi. La relazione tra persone e aziende viene realizzata utilizzando l”ID esterno delle aziende. L”ID esterno viene prefissato dal nome della tabella per evitare conflitti ID tra persone e aziende (person_1 e company_1 condividono lo stesso ID 1 nel database originale).
I due file prodotti sono pronti per essere importati in Odoo senza modifiche. Dopo aver importato i due file CSV, ci sono quattro contatti e tre aziende (i primi due contatti sono collegati alla prima azienda). Tieni a mente di importare prima le aziende ed in seguito i dipendenti.
Aggiornare dati in Odoo¶
I dati esistenti possono essere aggiornati in massa attraverso l’importazione se l”ID esterno è lo stesso.
Preparare l’esportazione dei dati¶
To update data through an import, first navigate to the data to be updated, and select the (List) icon to activate list view. On the far-left side of the list, tick the checkbox for any record to be updated. Then, click Actions button, and select (Export) from the drop-down menu.
Nella finestra pop-up Esporta dati che si apre, spunta la casella dal nome È un aggiornamento dati (compatibile con l’importazione). L”ID esterno verrà incluso automaticamente nell’esportazione. In aggiunta, limita l’elenco dei Campi da esportare solo a quelli effettivamente importabili.
Nota
Il campo ID esterno non appare nell’elenco Campi da esportare a meno che non venga aggiunto manualmente ma è comunque incluso nell’esportazione. Tuttavia, se la casella È un aggiornamento dati (compatibile con l’importazione) è spuntata, verrà incluso nell’esportazione.
Seleziona i campi richiesti da includere nell’esportazione utilizzando le opzioni nella finestra pop-up e poi fai clic su Esporta.
Importare dati aggiornati¶
In seguito all’esportazione, modifica i dati nel file. Quando il file è pronto, può essere importato seguendo lo stesso processo di una normale importazione di dati.
Pericolo
Durante l’aggiornamento dei dati, è estremamente importante che l”ID esterno sia coerente poiché serve al sistema per identificare un record. Se un ID viene alterato o eliminato, il sistema potrebbe aggiungere un record duplicato invece di aggiornare quello esistente.