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

Când lucrați cu o bază de date, uneori este necesar să exportați datele într-un fișier distinct. Acest lucru poate ajuta la raportarea activităților, deși, Odoo oferă un instrument de raportare precis și ușor cu fiecare aplicație disponibilă.

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, then select the records that should be exported. To select a record, tick the checkbox next to the corresponding record. Finally, click on Actions, then Export.

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

Când faceți clic pe Export, apare o fereastră pop-over Export Data, cu mai multe opțiuni pentru exportul datelor:

Prezentare generală a opțiunilor de luat în considerare atunci când exportați 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 just 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. Acestea sunt articolele care pot fi exportate. Utilizați pictograma > (săgeata dreapta) pentru a afișa mai multe opțiuni de sub-câmp. Utilizați bara Căutare pentru a găsi anumite câmpuri. Pentru a utiliza mai eficient opțiunea Search, faceți clic pe toate > (săgeți la dreapta) pentru a afișa toate câmpurile.

  4. Butonul pictogramă + (semnul plus) este prezent pentru a adăuga câmpuri la lista Câmpuri de exportat.

  5. ↕️ (săgeata sus-jos) din stânga câmpurilor selectate poate fi folosită pentru a muta câmpurile în sus și în jos, pentru a schimba ordinea în care sunt afișate în fișierul exportat. Trageți și plasați folosind pictograma ↕️ (săgeată sus-jos).

  6. Pictograma 🗑️ (coș de gunoi) este folosită pentru a elimina câmpuri. Faceți clic pe pictograma 🗑️ (coș de gunoi) pentru a elimina câmpul.

  7. Pentru rapoartele recurente, este util să salvați presetări de export. Selectați toate câmpurile necesare și faceți clic pe meniul derulant al șablonului. Odată ajuns acolo, faceți clic pe Șablon nou și dați un nume unic exportului tocmai creat. Faceți clic pe pictograma 💾 (unitate de dischetă) pentru a salva configurația. Data viitoare când aceeași listă trebuie să fie exportată, selectați șablonul asociat care a fost salvat anterior din meniul derulant.

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

Importing data into Odoo is extremely helpful during implementation, or in times where data needs to be updated in bulk. The following documentation covers how to import data into an Odoo database.

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.

Deschideți vizualizarea obiectului în care ar trebui să fie importate/populate datele și faceți clic pe ⚙️ (Acțiune) ‣ Import records.

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

După ce faceți clic pe Importați înregistrări, Odoo dezvăluie o pagină separată cu șabloane care pot fi descărcate și completate cu datele proprii ale companiei. Astfel de șabloane pot fi importate cu un singur clic, deoarece maparea datelor este deja făcută. Pentru a descărca un șablon, faceți clic pe Importați șablon pentru clienți în centrul paginii.

Important

Când importați un fișier CSV, Odoo oferă opțiuni Formatting. Aceste opțiuni nu apar la importul tipului de fișier Excel proprietar (.xls, .xlsx).

Opțiuni de formatare prezentate atunci când un fișier CVS este importat în Odoo.

Efectuați ajustările necesare opțiunilor Formatare și asigurați-vă că toate coloanele din câmpul Odoo și Coloana fișierului sunt lipsite de erori. În cele din urmă, faceți clic pe Import pentru a importa datele.

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

O altă modalitate utilă de a afla numele corecte de coloane de importat este să exportați un fișier eșantion folosind câmpurile care ar trebui importate. În acest fel, dacă nu există un model de șablon de import, numele sunt corecte.

Importă dintr-o altă aplicație

ID extern (ID) este un identificator unic pentru elementul rând. Simțiți-vă liber să utilizați unul din software-ul anterior pentru a facilita tranziția la 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

It should be noted that conflicts occur if two (or more) records have the same External ID.

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 este un standard internațional, care acoperă schimbul la nivel mondial, împreună cu comunicarea datelor legate de dată și oră. De exemplu, formatul datei ar trebui să fie AAAA-LL-ZZ. Deci, în cazul zilei de 24 iulie 1981, ar trebui scris ca „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ă.

Ca exemplu, iată un fișier CSV al unor citate care pot fi importate, pe baza datelor demonstrative:

Următorul fișier CSV arată cum să importați comenzile de achiziție cu liniile lor de comandă de achiziție respective:

Următorul fișier CSV arată cum să importați clienții și contactele lor respective:

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

Dacă toate câmpurile nu sunt setate în fișierul CSV, Odoo atribuie valoarea implicită pentru fiecare câmp nedefinit. Dar, dacă câmpurile sunt setate cu valori goale în fișierul CSV, Odoo setează valoarea goală în câmp, în loc să atribuie valoarea implicită.

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.

Update data in Odoo

Existing data can be updated in bulk through a data import, as long as the External ID remains consistent.

Prepare data export

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, and select Export from the drop-down menu.

On the resulting Export Data pop-up window, tick the checkbox labeled, I want to update data (import-compatible export). This automatically includes the External ID in the export. Additionally, it limits the Fields to export list to only include fields that are able to be imported.

Notă

The External ID field does not appear in the Fields to export list unless it is manually added, but it is still included in the export. However, if the I want to update data (import-compatible export) checkbox is ticked, it is included in the export.

Select the required fields to be included in the export using the options on the pop-up window, then click Export.

Import updated data

After exporting, make any necessary changes to the data file. When the file is ready, it can be imported by following the same process as a normal data import.

Pericol

When updating data, it is extremely important that the External ID remain consistent, as this is how the system identifies a record. If an ID is altered, or removed, the system may add a duplicate record, instead of updating the existing one.