Export și import date

În Odoo, uneori este necesar să exportați sau să importați date pentru rularea rapoartelor sau pentru modificarea datelor. Acest document acoperă exportul și importul de date în și din Odoo.

Important

Uneori, utilizatorii se confruntă cu o eroare „time out” sau o înregistrare nu este procesată, din cauza dimensiunii sale. Acest lucru se poate întâmpla cu exporturi mari sau în cazurile în care fișierul de import este prea mare. Pentru a evita această limitare privind dimensiunea înregistrărilor, procesați exporturile sau importurile în loturi mai mici.

Export date din 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.

Vedere a diferitelor lucruri de activat/clic pentru a exporta date.

When clicking on Export, a Export Data pop-over window appears, with several options for the data to export:

Prezentare generală a opțiunilor de luat în considerare la exportul de date în Odoo.
  1. 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.

  2. La export, există opțiunea de a exporta în două formate: .csv și .xls. Cu .csv, elementele sunt separate printr-o virgulă, în timp ce .xls deține informații despre toate foile de lucru dintr-un fișier, inclusiv conținutul și formatarea.

  3. 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.

  4. The (Select field) icon button is present to add fields to the Fields to export list.

  5. 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.

  6. The (Remove field) icon is used to remove fields. Click the (Remove field) icon to remove the field.

  7. 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.

Sfat

Este util să cunoașteți identificatorul extern al câmpului. De exemplu, Companie asociată în interfața de export cu utilizatorul este egal cu parent_id (identificator extern). Acest lucru este util pentru că, atunci, singurele date exportate sunt cele care ar trebui modificate și reimportate.

Importați date în Odoo

Importarea datelor în Odoo este extrem de utilă în timpul implementării sau în momentele când datele trebuie să fie actualizate în bloc. Următoarea documentație acoperă modul de import al datelor într-o bază de date Odoo.

Atenționare

Importurile sunt permanente și nu pot fi anulate. Cu toate acestea, este posibil să folosiți filtre (create pe sau ultima modificare) pentru a identifica înregistrările modificate sau create de import.

Sfat

Activarea developer mode modifică setările de import vizibile din meniul din stânga. Procedând astfel, dezvăluie un meniu Advanced. În acest meniu avansat sunt incluse două opțiuni: Urmăriți istoricul în timpul importului și Permite potrivirea cu subcâmpuri.

Opțiuni avansate de import când modul dezvoltator este activat.

Dacă modelul folosește openchatter, opțiunea Urmărire istoric în timpul importului setează abonamente și trimite notificări în timpul importului, dar duce la un import mai lent.

În cazul în care opțiunea Permite potrivirea cu subcâmpurile este selectată, atunci toate subcâmpurile dintr-un câmp sunt folosite pentru a se potrivi sub Câmpul Odoo în timpul importului.

Introducere

Datele pot fi importate pe orice obiect de afaceri Odoo folosind fie formatul Excel (.xlsx), fie CSV (.csv). Aceasta include: contacte, produse, extrase bancare, înregistrări de jurnal și comenzi.

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).

Meniul de acțiuni este dezvăluit cu opțiunea de import înregistrări evidențiată.

Click Import Template for Customers at the center of the page to download a template and populate it with the company’s own data. Such templates can be imported in one click since the data mapping is already preconfigured.

To upload the downloaded template or an existing file, follow the next steps:

  1. Faceți clic pe Încărcare Fișier Date și selectați fișierul dorit.

  2. Ajustați opțiunile de Formatare după cum este necesar (doar pentru fișiere CSV).

  3. Asigurați-vă că toate datele din Coloana Fișier sunt mapate corect la Câmpul Odoo corespunzător și nu conțin erori.

  4. (Opțional) Faceți clic pe Încărcare Fișier Date pentru a reîncărca același fișier sau a încărca unul diferit.

  5. Faceți clic pe Test pentru a verifica că datele sunt valide.

  6. Faceți clic pe Import.

Notă

Opțiunile de Formatare nu apar când importați tipul de fișier Excel proprietar (adică .xls sau .xlsx).

Adaptați un șablon

Șabloanele de import sunt furnizate în instrumentul de import al celor mai frecvente date de importat (contacte, produse, extrase bancare etc.). Deschideți-le cu orice software pentru foi de calcul (Microsoft Office, OpenOffice, Google Drive etc.).

Odată ce șablonul este descărcat, continuați să urmați acești pași:

  • Adăugați, eliminați și sortați coloane pentru a se potrivi cel mai bine cu structura de date.

  • Este recomandat să nu să eliminați coloana ID extern (ID) (vezi de ce în secțiunea următoare).

  • Setați un ID unic pentru fiecare înregistrare trăgând în jos secvențierea ID-ului în coloana ID extern (ID).

O animație a mouse-ului care trage în jos coloana ID, astfel încât fiecare înregistrare are un ID unic.

Notă

Când se adaugă o nouă coloană, este posibil ca Odoo să nu o poată mapa automat, dacă eticheta sa nu se potrivește cu niciun câmp din Odoo. Cu toate acestea, coloanele noi pot fi mapate manual atunci când importul este testat. Căutați în meniul derulant câmpul corespunzător.

Meniul drop-down extins în ecranul inițial de import pe Odoo.

Apoi, utilizați eticheta acestui câmp în fișierul de import pentru a vă asigura că importurile viitoare au succes.

Sfat

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.

Importă dintr-o altă aplicație

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.

Setarea unui ID nu este obligatorie la import, dar ajută în multe cazuri:

Pentru a recrea relații între diferite înregistrări, identificatorul unic din aplicația originală trebuie utilizat pentru a o mapa la coloana ID extern (ID) din Odoo.

Când se importă o altă înregistrare care face legătura cu prima, utilizați XXX/ID (XXX/ID extern) pentru identificatorul unic original. Această înregistrare poate fi găsită și folosind numele său.

Atenționare

Trebuie să se observe că conflictele apar dacă două (sau mai multe) înregistrări au același ID Extern.

Câmp lipsește pe coloana hărții

Odoo încearcă să găsească euristic tipul de câmp pentru fiecare coloană din interiorul fișierului importat, pe baza primelor zece rânduri ale fișierelor.

De exemplu, dacă există o coloană care conține doar numere, doar câmpurile cu tipul integer sunt prezentate ca opțiuni.

Deși acest comportament ar putea fi benefic în majoritatea cazurilor, este, de asemenea, posibil ca acesta să eșueze sau coloana să fie mapată la un câmp care nu este propus implicit.

Dacă se întâmplă acest lucru, verificați opțiunea Afișați câmpurile câmpurilor de relație (avansat), atunci o listă completă de câmpuri devine disponibilă pentru fiecare coloană.

Se caută câmpul care să se potrivească cu coloana de taxe.

Schimbați formatul de import al datelor

Notă

Odoo poate detecta automat dacă o coloană este o dată și încearcă să ghicească formatul datei dintr-un set de formate de dată cele mai frecvent utilizate. Deși acest proces poate funcționa pentru multe formate de dată, unele formate de dată nu sunt recunoscute. Acest lucru poate provoca confuzie, din cauza inversiunilor zi-lună; este dificil de ghicit care parte dintr-un format de dată este ziua și care parte este luna, într-o dată, cum ar fi 01-03-2016.

Când importați un fișier CSV, Odoo oferă opțiuni Formatting.

Pentru a vedea ce format de dată a găsit Odoo din fișier, verificați Format de dată care este afișat când faceți clic pe opțiuni de sub selectorul de fișiere. Dacă acest format este incorect, schimbați-l în formatul preferat folosind ISO 8601 pentru a defini formatul.

Important

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.

Sfat

Când importați fișiere Excel (.xls, .xlsx), luați în considerare utilizarea celule de date pentru a stoca datele. Aceasta menține formatele de date locale pentru afișare, indiferent de modul în care data este formatată în Odoo. Când importați un fișier CSV, utilizați secțiunea Odoo Formatting pentru a selecta coloanele cu formatul de dată de importat.

Importă numere cu semne valutare

Odoo acceptă pe deplin numerele cu paranteze pentru a reprezenta semnele negative, precum și numerele cu semne valutare atașate acestora. De asemenea, Odoo detectează automat ce separator de mii/zecimal este folosit. Dacă se folosește un simbol valutar necunoscut de Odoo, este posibil să nu fie recunoscut ca număr și importul se blochează.

Notă

Când importați un fișier CSV, meniul Formatting apare în coloana din stânga. Sub aceste opțiuni, Separatorul de mii poate fi schimbat.

Exemple de numere acceptate (folosind „treizeci și două de mii” ca cifră):

  • 32.000,00

  • 32000,00

  • 32,000.00

  • -32000.00

  • (32000.00)

  • $ 32.000,00

  • (32000.00 €)

Exemplu care nu va funcționa:

  • ABC 32.000,00

  • $ (32.000,00)

Important

Un () (parenteze) în jurul numărului indică faptul că numărul este o valoare negativă. Simbolul monedei trebuie să fie plasat în paranteză pentru ca Odoo să-l recunoască ca valoare negativă a monedei.

Tabelul de previzualizare import nu este afișat corect

În mod implicit, previzualizarea importului este setată pe virgule ca separatori de câmp și ghilimele ca delimitatori de text. Dacă fișierul CSV nu are aceste setări, modificați opțiunile Formatting (afișate sub Import CSV bara de fișiere după selectarea fișierului CSV).

Important

Dacă fișierul CSV are o tabulare ca separator, Odoo nu detectează separările. Opțiunile de format de fișier trebuie modificate în aplicația pentru foi de calcul. Consultați următoarea secțiune Schimbați formatul fișierului CSV.

Schimbați formatul fișierului CSV în aplicația pentru foi de calcul

Când editați și salvați fișierele CSV în aplicațiile de calcul, setările regionale ale computerului sunt aplicate pentru separator și delimitator. Odoo sugerează să utilizați OpenOffice sau LibreOffice, deoarece ambele aplicații permit modificări ale tuturor celor trei opțiuni (din aplicația LibreOffice, accesați caseta de dialog «Salvare ca» ‣ Bifați caseta «Editați setările filtrului» ‣ Salvare).

Microsoft Excel poate modifica codificarea la salvare («Salvare ca» caseta de dialog ‣ meniul drop-down «Instrumente» ‣ fila Codificare).

Diferența dintre ID-ul bazei de date și ID-ul extern

Unele câmpuri definesc o relație cu un alt obiect. De exemplu, țara unui contact este un link către o înregistrare a obiectului „Țară”. Când astfel de câmpuri sunt importate, Odoo trebuie să recreeze legături între diferitele înregistrări. Pentru a ajuta la importarea acestor câmpuri, Odoo oferă trei mecanisme.

Important

Numai un singur mecanism trebuie utilizat pentru fiecare câmp care este importat.

De exemplu, pentru a face referire la țara unei persoane de contact, Odoo propune trei câmpuri diferite de importat:

  • Țara: numele sau codul țării

  • Country/Database ID: ID-ul unic Odoo pentru o înregistrare, definit de coloana ID PostgreSQL

  • Country/External ID: ID-ul acestei înregistrări la care se face referire în altă aplicație (sau fișierul .XML care a importat-o)

Pentru țara Belgia, de exemplu, utilizați una dintre aceste trei moduri de a importa:

  • Țara: Belgia

  • Țară/ID bază de date: 21

  • Țară/ID extern: base.be

În funcție de nevoia companiei, utilizați una dintre aceste trei moduri pentru a face referire la înregistrările în relații. Iată un exemplu când ar trebui folosit unul sau altul, în funcție de nevoie:

  • Utilizați Țara: aceasta este cea mai simplă modalitate când datele provin din fișiere CSV care au fost create manual.

  • Utilizați ID Țară/Bază de date: acesta ar trebui folosit rar. Este folosit în mare parte de către dezvoltatori, deoarece principalul avantaj este că nu există niciodată conflicte (pot fi mai multe înregistrări cu același nume, dar au întotdeauna un ID unic al bazei de date)

  • Utilizați Țară/ID extern: utilizați ID extern când importați date dintr-o aplicație terță parte.

Când sunt folosite ID-uri externe, importați fișiere CSV cu coloana ID extern (ID) care definește ID-ul extern al fiecărei înregistrări importate. Apoi, se poate face o referire la acea înregistrare cu coloane, cum ar fi „Câmp/ID extern”. Următoarele două fișiere CSV oferă un exemplu pentru produse și categoriile acestora.

Importați câmpuri de relații

Un obiect Odoo este întotdeauna legat de multe alte obiecte (de exemplu, un produs este legat de categorii de produse, atribute, furnizori etc.). Pentru a importa aceste relații, înregistrările obiectului asociat trebuie importate mai întâi, din meniul propriu de listă.

Acest lucru poate fi realizat folosind fie numele înregistrării aferente, fie ID-ul acesteia, în funcție de circumstanțe. ID-ul este așteptat atunci când două înregistrări au același nume. Într-un astfel de caz, adăugați / ID la sfârșitul titlului coloanei (de exemplu, pentru atributele produsului: Atribute produs / Atribut / ID).

Opțiuni pentru mai multe potriviri pe câmpuri

Dacă, de exemplu, există două categorii de produse cu numele secundar „Vanzabil” (de exemplu, „Produse diverse/Vânzabile” și „Alte produse/Vânzabile”), validarea este oprită, dar datele pot fi importate în continuare. Cu toate acestea, Odoo recomandă ca datele să nu fie importate, deoarece toate vor fi legate la prima categorie „Vânzabil” găsită în lista Categorie de produse („Produse diverse/Vânzabile”). Odoo, în schimb, recomandă modificarea uneia dintre valorile duplicatului sau a ierarhiei categoriilor de produse.

Cu toate acestea, dacă compania nu dorește să modifice configurația categoriilor de produse, Odoo recomandă utilizarea ID-ului extern pentru acest câmp, „Categorie”.

Importați many2many câmpuri de relație

Etichetele trebuie separate prin virgulă, fără spațiere. De exemplu, dacă un client trebuie să fie conectat la ambele etichete: „Producător” și „Comerciant” atunci „Producător,Vânzător” trebuie să fie codificat în aceeași coloană a fișierului CSV .

Importă relații one2many

Dacă o companie dorește să importe o comandă de vânzare cu mai multe linii de comandă, un anumit rând trebuie să fie rezervat în fișierul CSV pentru fiecare linie de comandă. Prima linie de comandă este importată pe același rând cu informațiile referitoare la comandă. Orice rând suplimentar are nevoie de un rând suplimentar care nu are nicio informație în câmpurile referitoare la comandă.

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:

Importul fișierelor imagine

Pentru a importa fișiere imagine împreună cu fișierul CSV sau Excel încărcat, urmați următorii pași:

  1. Adăugați numele fișierelor imagine în coloana Imagine relevantă din fișierul de date.

  2. Încărcați fișierul de date sau reîncărcați-l făcând clic pe Încărcare Fișier Date.

  3. Faceți clic pe Încărcați fișierele în secțiunea Fișiere de importat.

  4. Selectați fișierele imagine relevante. Numărul de fișiere selectate apare lângă buton.

  5. Faceți clic pe Test pentru a verifica că toate datele sunt valide.

  6. Faceți clic pe Import. În timpul procesului de import, Odoo efectuează o verificare a fișierului pentru a lega automat imaginile încărcate de fișierul de date importat. Dacă nu există o potrivire, fișierul de date este importat fără nicio imagine.

Notă

  • The Files to import section is enabled if the product template has an Image column with all fields populated.

  • Numele fișierelor imagine din fișierul de date trebuie să corespundă cu fișierele imagine încărcate.

  • When importing a large number of images, specify the maximum batch size in megabytes and set a delay to prevent the system from becoming overloaded. To do so, enable the developer mode and fill in the Max size per batch and the Delay after each batch fields in the Files to import section. By default, the delay meets the RPC/API call limit defined in the Odoo Cloud - Acceptable Use Policy.

Importați înregistrări de mai multe ori

Dacă un fișier importat conține una dintre coloanele: ID extern sau ID bază de date, înregistrările care au fost deja importate sunt modificate, în loc să fie create. Acest lucru este extrem de util, deoarece permite utilizatorilor să importe același fișier CSV de mai multe ori, în timp ce au făcut unele modificări între două importuri.

Odoo se ocupă de crearea sau modificarea fiecărei înregistrări, în funcție de faptul că este nouă sau nu.

Această caracteristică permite unei companii să folosească instrumentul Import/Export din Odoo pentru a modifica un lot de înregistrări într-o aplicație de calcul.

Valoarea nu este furnizată pentru un anumit câmp

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.

Exportați/importați diferite tabele dintr-o aplicație SQL în Odoo

Dacă datele trebuie importate din tabele diferite, relațiile trebuie recreate între înregistrările aparținând unor tabele diferite. De exemplu, dacă companiile și oamenii sunt importați, legătura dintre fiecare persoană și compania pentru care lucrează trebuie să fie recreată.

Pentru a gestiona relațiile dintre tabele, utilizați facilitățile „ID extern” ale Odoo. „ID-ul extern” al unei înregistrări este identificatorul unic al acestei înregistrări într-o altă aplicație. „ID-ul extern” trebuie să fie unic în toate înregistrările tuturor obiectelor. Este o practică bună să prefixați acest „ID extern” cu numele aplicației sau al tabelului. (cum ar fi „compania_1”, „persoana_1” – în loc de „1”)

De exemplu, să presupunem că există o bază de date SQL cu două tabele care urmează să fie importate: companii și oameni. Fiecare persoană aparține unei singure companii, așa că trebuie recreată legătura dintre o persoană și compania pentru care lucrează.

Testați acest exemplu, cu un eșantion al unei baze de date PostgreSQL.

Mai întâi, exportați toate companiile și ID-ul extern al acestora. În PSQL, scrieți următoarea comandă:

> 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;

Această comandă SQL creează următorul fișier CSV:

External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True

Pentru a crea fișierul CSV pentru persoanele conectate la companii, utilizați următoarea comandă SQL în 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

Produce următorul fișier CSV:

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

În acest fișier, Fabien și Laurence lucrează pentru compania Bigees (company_1), iar Eric lucrează pentru compania Organi. Relația dintre oameni și companii se realizează folosind ID-ul extern al companiilor. ID-ul extern este prefixat de numele tabelului pentru a evita un conflict de ID între persoane și companii (persoana_1 și compania_1, care au partajat același ID 1 în baza de date inițială).

Cele două fișiere produse sunt gata pentru a fi importate în Odoo fără nicio modificare. După ce ați importat aceste două fișiere CSV, există patru contacte și trei companii (primele două contacte sunt legate de prima companie). Rețineți că importați mai întâi companiile și apoi oamenii.

Actualizarea datelor în Odoo

Datele existente pot fi actualizate în masă prin intermediul unui import de date, atâta timp cât ID-ul Extern rămâne consistent.

Pregătirea exportului de date

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.

În fereastra pop-up Export Date rezultată, bifați caseta de verificare etichetată Vreau să actualizez datele (export compatibil cu importul). Aceasta include automat ID-ul Extern în export. În plus, limitează lista Câmpuri de exportat să includă doar câmpurile care pot fi importate.

Notă

Câmpul ID Extern nu apare în lista Câmpuri de exportat cu excepția cazului în care este adăugat manual, dar este încă inclus în export. Cu toate acestea, dacă caseta de verificare Vreau să actualizez datele (export compatibil cu importul) este bifată, acesta este inclus în export.

Selectați câmpurile necesare care urmează să fie incluse în export folosind opțiunile din fereastra pop-up, apoi faceți clic pe Export.

Importul datelor actualizate

După export, faceți orice modificări necesare la fișierul de date. Când fișierul este gata, poate fi importat urmând același proces ca un import normal de date.

Pericol

Când actualizați datele, este extrem de important ca ID-ul Extern să rămână consistent, deoarece acesta este modul în care sistemul identifică o înregistrare. Dacă un ID este modificat sau eliminat, sistemul poate adăuga o înregistrare duplicat, în loc să actualizeze cea existentă.