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 (☰ (three horizontal lines) 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 on ⚙️ Action, and then Export.
Când faceți clic pe Export, apare o fereastră pop-over Export Data, cu mai multe opțiuni pentru exportul datelor:
Cu opțiunea Vreau să actualizez datele (export compatibil cu importul), sistemul arată doar câmpurile care pot fi importate. Acest lucru este util în cazul în care înregistrările existente trebuie actualizate. Acesta funcționează ca un filtru. Lăsând caseta nebifată, oferă mai multe opțiuni de câmp deoarece arată toate câmpurile, nu doar pe cele care pot fi importate.
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.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.
Butonul pictogramă + (semnul plus) este prezent pentru a adăuga câmpuri la lista Câmpuri de exportat.
↕️ (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).
Pictograma 🗑️ (coș de gunoi) este folosită pentru a elimina câmpuri. Faceți clic pe pictograma 🗑️ (coș de gunoi) pentru a elimina câmpul.
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 just created. 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 în care datele trebuie actualizate în bloc. Următoarea documentație acoperă cum să importați date î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 . În acest meniu avansat sunt incluse două opțiuni: Urmăriți istoricul în timpul importului și Permite potrivirea cu subcâmpuri.
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, and click on
.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
).
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).
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.
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:
Actualizați importurile: importați același fișier de mai multe ori fără a crea duplicate.
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 remarcat faptul că va exista un conflict dacă două sau mai multe înregistrări au același nume.
ID extern (ID) poate fi folosit și pentru a actualiza importul inițial, dacă datele modificate trebuie reimportate ulterior, prin urmare, este o bună practică să le specificați ori de câte ori este posibil.
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ă.
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
).Microsoft Excel poate modifica codificarea la salvare (
).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.