Export și import date

Export date din Odoo

În lucrul cu o bază de date, uneori este necesar să exportați datele într-un fișier separat.Făcând asta, puteți obține rapoarte asupra activităților dvs. (chiar dacă Odoo oferă un instrument de raportare precis și ușor pentru fiecare aplicație disponibilă).

Cu Odoo, puteți exporta valorile din orice câmp în orice înregistrare. Pentru a face asta, activați moul de vizualizare tip Listă pe articolele care trebuie exportate, faceți clic pe Acțiune, apoi pe Export.

vizualizare a diferitelor lucruri de activat/apăsat pentru a exporta date

Destul de simplu, această acțiune vine încă cu câteva specificități. În realitate, atunci când faceți clic pe Export, o fereastră pop-up apare cu mai multe opțiuni pentru datele de exportat:

prezentarea generală a tuturor opțiunilor de luat în considerare atunci când exportați date în Odoo
  1. Cu opțiunea Vreau să actualizez datele bifată, sistemul arată doar câmpurile care pot fi importate. Acest lucru este foarte util în cazul în care doriți să actualizați înregistrările existente. În esență, acest lucru funcționează ca un filtru. Lăsând caseta nebifată, se oferă mai multe opțiuni de câmp pentru că arată toate câmpurile, nu doar cele care pot fi importate.

  2. Când exportați, puteți alege între două formate: .csv și .xls. Cu .csv, articolele sunt separate cu o virgulă, în timp ce .xls conține informații despre toate foile de lucru dintr-un fișier, inclusiv atât conținutul cât și formatarea.

  3. Acestea sunt articolele pe care le doriți să le exportați. Folosiți săgețile pentru a afișa mai multe opțiuni de sub-câmp. Desigur, puteți utiliza bara de căutare pentru a găsi câmpuri specifice mai ușor. Pentru a utiliza opțiunea de căutare mai eficient, afișați toate câmpurile făcând clic pe toate săgețile!

  4. Butonul + este acolo pentru a adăuga câmpuri în lista „de exportat”.

  5. „Manerele” de lângă câmpurile selectate vă permit să mutați câmpurile în sus și în jos pentru a schimba ordinea în care trebuie să fie afișate în fișierul exportat.

  6. Coșul de gunoi este acolo dacă aveți nevoie să eliminați câmpurile.

  7. Pentru rapoartele recurente, ar putea fi interesant să salvați preconfigurări de export. Selectați-le pe toate și faceți clic pe bara de șabloane. Acolo, faceți clic pe Șablon nou și dați un nume propriu. Următoarea dată când aveți nevoie să exportați aceeași listă, selectați doar șablonul corespunzător.

Sfat

E bine să țineți minte identificatorul extern al câmpului. De exemplu, Compania asociată este egală cu parent_id. Făcând asta, vă ajută să exportați doar ce doriți să importați în continuare.

Importați date în Odoo

Cum să începeți

Puteți importa date în orice obiect de afaceri Odoo utilizând formatele Excel (.xlsx) sau CSV (.csv): contacte, produse, declarații bancare, înregistrări în jurnal și chiar comenzi!

Deschideți vizualizarea obiectului pe care doriți să-l populați și faceți clic pe Favorite ‣ Înregistrați importul.

../../_images/import_button.png

Acolo vă sunt furnizate șabloane pe care le puteți umple ușor cu propriile date. Asemenea șabloane pot fi importate într-un singur clic; Maparea datelor este deja făcută.

Cum să adaptați șablonul

  • Adăugați, eliminați și sortați coloanele pentru a vă potrivi cel mai bine structura datelor.

  • Vă recomandăm să nu eliminați ID (vedeți de ce în secțiunea următoare).

  • Setați un ID unic pentru fiecare înregistrare extinzând secvența ID-ului.

../../_images/dragdown.gif
  • Când adăugați o nouă coloană, Odoo nu poate să o mapeze automat dacă eticheta ei nu se potrivește cu niciun câmp în Odoo. Nu vă faceți griji! Puteți mapea coloane noi manual când testați importul. Căutați lista pentru câmpul corespunzător.

    ../../_images/field_list.png

    În continuare, utilizați eticheta acestui câmp în fișierul dvs. pentru a face-o să funcționeze imediat la următoarea dată.

Cum să importați dintr-o altă aplicație

Pentru a recrea relațiile dintre diferite înregistrări, ar trebui să utilizați identificatorul unic din aplicația originală și să-l mapeați la coloana ID (ID extern) în Odoo. Când importați o altă înregistrare care se leagă de prima, utilizați XXX/ID (XXX/ID extern) la identificatorul unic original. Puteți găsi de asemenea această înregistrare folosind numele ei, dar veți fi blocat dacă cel puțin 2 înregistrări au același nume.

ID va fi de asemenea folosit pentru a actualiza importul original dacă aveți nevoie să re-importați date modificate mai târziu, astfel este o bună practică să specificați atunci când este posibil.

Nu pot găsi câmpul pe care vreau să-l mapez la coloana mea

Odoo încearcă să găsească cu o heuristică, bazată pe primele zece linii ale fișierelor, tipul de câmp pentru fiecare coloană din fișierul dvs. De exemplu dacă aveți o coloană care conține doar numere, doar câmpurile de tip Integer vor fi afișate pentru a vă alege. În timp ce acest comportament ar putea fi bun și ușor pentru majoritatea cazurilor, este de asemenea posibil ca să meargă greșit sau că doriți să mapezi coloana ta la un câmp care nu este propusă în mod implicit.

Dacă se întâmplă asta, trebuie doar să verificați opțiunea Afișați câmpurile câmpurilor de relație (avansat), veți putea apoi alege din lista completă de câmpuri pentru fiecare coloană.

../../_images/field_list.png

Unde pot schimba formatul de import al datei?

Odoo poate detecta automat dacă o coloană este o dată, și va încerca să ghicească formatul datei dintr-un set de formate de date cele mai des utilizate. În timp ce acest proces poate funcționa pentru multe formate de date, unele formate de date nu vor fi recunoscute. Acest lucru poate cauza confuzie din cauza inversărilor zi-lună; este dificil să ghicească care parte a unui format de dată este ziua și care parte este luna într-o dată ca «01-03-2016».

Pentru a vedea care este formatul de dată pe care Odoo l-a găsit din fișierul dvs. puteți verifica Formatul datei care este afișat atunci când faceți clic pe Opțiuni sub selectorul de fișiere. Dacă acest format este incorect, puteți să-l schimbați la placul dvs. folosind ISO 8601 pentru a defini formatul.

Notă

Dacă importați un fișier excel (.xls, .xlsx), puteți utiliza celulele de dată pentru a stoca datele, deoarece afișarea datelor în excel este diferită de modul în care este stocată. În acest mod, veți fi sigur că formatul datei este corect în Odoo, indiferent de formatul dvs. local de dată.

Pot importa numere cu semnul monedei (de ex.: $32.00)?

Da, acceptăm în totalitate numerele cu paranteze pentru a reprezenta semnul negativ, precum și numerele cu semnul monedei atașat lor. Odoo detectează automat care separator de mii/zecimale folosiți (puteți schimba acestea în opțiuni). Dacă utilizați un simbol de monedă care nu este cunoscut de Odoo, acesta nu poate fi recunoscut ca număr și va se bloca.

Exemple de numere acceptate (folosind treizeci și două mii ca exemplu):

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

Ce pot face atunci când tabelul previzualizării importului 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 dvs. csv nu are aceste setări, puteți modifica opțiunile de format al fișierului (afișate sub bara Parcurgeți fișierul CSV după ce selectați fișierul).

Rețineți că dacă fișierul dvs. CSV are o tabulație ca separator, Odoo nu va detecta separările. Veți avea nevoie să schimbați opțiunile de format al fișierului în aplicația dvs. de tabele. Vedeți următoarea întrebare.

Cum pot schimba opțiunile de format al fișierului CSV la salvare în aplicația de tabele?

Dacă editați și salvați fișiere CSV în aplicații de tabele, setările regionale ale computerului dvs. vor fi aplicate pentru separator și delimitator. Vă sugerăm să utilizați OpenOffice sau LibreOffice Calc, deoarece vă vor permite să modificați toate cele trei opțiuni (în «Salvați ca» dialog box ‣ Verificați căsuța «Editați setările filtrului» ‣ Salvați).

Microsoft Excel vă va permite să modificați doar codarea la salvare (în «Salvați ca» dialog box ‣ faceți clic pe lista de derulare «Unelte» ‣ fila Codare).

Ce este diferența dintre ID-ul bazei de date și ID-ul extern?

Unele câmpuri definesc o relație cu alt obiect. De exemplu, țara unui contact este un link la un înregistrare a obiectului «Țară». Când doriți să importați asemenea câmpuri, Odoo va trebui să recreeze linkuri între diferite înregistrări. Pentru a vă ajuta să importați asemenea câmpuri, Odoo oferă trei mecanisme. Trebuie să utilizați una și numai o mecanism pentru fiecare câmp pe care doriți să importați.

De exemplu, pentru a face referire la țara unui contact, Odoo vă propune 3 câmpuri diferite de importat:

  • Țară: numele sau codul țării

  • Țară/ID-ul bazei de date: ID-ul unic Odoo pentru o înregistrare, definit de ID-ul coloanei postgresql

  • Țară/ID-ul extern: ID-ul acestei înregistrări referențiate într-o altă aplicație (sau fișierul .XML care l-a importat)

Pentru țara Belgia, puteți utiliza una dintre aceste 3 modalități de import:

  • Country: Belgia

  • Country/Database ID: 21

  • Country/External ID: base.be

În funcție de nevoile dvs., ar trebui să utilizați una dintre aceste 3 modalități de a face referire înregistrări în relații. Aici este când ar trebui să utilizați una sau alta, în funcție de nevoile dvs.:

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

  • Utilizați Country/Database ID: Ar trebui să utilizați rar această notare. Este folosit în principal de dezvoltatori, deoarece principalul său avantaj este să nu aibă niciodată conflicte (puteți avea mai multe înregistrări cu același nume, dar ele au întotdeauna un ID unic Database ID)

  • Utilizați Country/External ID: Utilizați ID-ul extern atunci când importați date dintr-o aplicație de terță parte.

Când utilizați ID-urile externe, puteți importa fișiere CSV cu coloana „ID-ul extern” pentru a defini ID-ul extern al fiecărei înregistrări pe care o importați. Apoi, veți puteți face o referință la acea înregistrare cu coloane precum „Field/External ID”. Următoarele două fișiere CSV vă dau un exemplu pentru Produse și categoriile lor.

CSV file for categories.

CSV file for Products.

Ce pot face dacă am mai multe potriviri pentru un câmp?

Dacă, de exemplu, aveți două categorii de produse cu numele copilului „Vândut” (adică „Misc. Produse/Vândut” & „Alte Produse/Vândut”), validarea dvs. este oprită, dar totuși puteți importa datele dvs. Cu toate acestea, vă recomandăm să nu importați datele, deoarece ele vor fi toate legate de prima categorie «Vândut» găsită în lista Categorie de produse („Misc. Produse/Vândut”). Vă recomandăm să modificați o valoare duplicată sau ierarhia categoriilor de produse.

Cu toate acestea, dacă nu doriți să modificați configurația categoriilor de produse, vă recomandăm să utilizați ID-ul extern pentru acest câmp «Categorie».

Cum pot importa un câmp de relație many2many (de exemplu, un client care are mai multe etichete)?

Etichetele trebuie separate prin virgulă fără spațiu. De exemplu, dacă doriți ca clientul dvs. să fie legat de ambele etichete «Manufacturer» și «Retailer», atunci veți codifica „Manufacturer,Retailer” în aceeași coloană din fișierul CSV.

CSV file for Manufacturer, Retailer

Cum pot importa o relație one2many (de exemplu, mai multe linii de comandă a unei Comenzi de vânzare)?

Dacă doriți să importați comenzi de vânzare care au mai multe linii de comandă; pentru fiecare linie de comandă, aveți nevoie să rezervați o linie specifică în fișierul CSV. Prima linie de comandă va fi importată pe aceeași linie ca informațiile relative la comandă. Orice linie suplimentară va avea nevoie de o linie suplimentară care nu are nicio informație în câmpurile relative la comandă. Ca exemplu, aici este purchase.order_functional_error_line_cant_adpat.CSV fișierul de câteva oferte pe care le puteți importa, bazat pe date demo.

File for some Quotations.

Fișierul CSV următor arată cum să importați comenzi de achiziție cu linii de comandă respective:

Purchase orders with their respective purchase order lines.

Fișierul CSV următor arată cum să importați clienți și contactele lor respective:

Clienți și contactele lor respective.

Pat pot importa de mai multe ori același înregistrare?

Dacă importați un fișier care conține una dintre coloanele „External ID” sau „Database ID”, înregistrările care au fost deja importate vor fi modificate în loc de a fi create. Acest lucru este foarte util, deoarece vă permite să importați de mai multe ori același fișier CSV în timp ce ați făcut câteva modificări între între două importuri. Odoo se va ocupa de crearea sau modificarea fiecărei înregistrări în funcție dacă este nou sau nu.

Acesta caracteristică vă permite să utilizați instrumentul Import/Export al Odoo pentru a modifica un lot de înregistrări în aplicația dvs. de tabele favorite.

Ce se întâmplă dacă nu ofer o valoare pentru un anumit câmp?

Dacă nu setați toate câmpurile în fișierul CSV, Odoo va atribui valoarea implicită pentru fiecare câmp nedefinit. Dar dacă setați câmpuri cu valori goale în fișierul CSV, Odoo va seta valoarea GOALĂ în câmp, în loc de atribuirea valorii implicite.

Cum să exportați/importați diferite tabele dintr-o aplicație SQL în Odoo?

Dacă aveți nevoie să importați date din diferite tabele, va trebui să recreați relațiile între înregistrările care aparțin de tabele diferite. (de exemplu, dacă importați companii și persoane, va trebui să recreați legătura dintre fiecare persoană și compania unde lucrează).

Pentru a gestiona relațiile între tabele, puteți utiliza facilitățile „External ID” ale Odoo. „External ID” a unei înregistrări este identificatorul unic al acestei înregistrări într-o altă aplicație. Acest „External ID” trebuie să fie unic pe toate înregistrările tuturor obiectelor, astfel încât este o bună practică să prefixați acest „External ID” cu numele aplicației sau a tabelei. (ca «companie_1», «persoană_1» în loc de «1»)

Ca exemplu, presupunem că aveți o bază de date SQL cu două tabele pe care doriți să le importați: companii și persoane. Fiecare persoană aparține unei companii, astfel încât veți avea de a recrea legătura dintre o persoană și compania unde lucrează. (Dacă doriți să testați acest exemplu, aici este un dump al unei astfel de baze de date PostgreSQL)

În primul rând, vom exporta toate companiile și „External ID”-urile lor. Î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 va crea 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 persoane, legate de companii, vom utiliza 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

Va 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

Ca puteți vedea în acest fișier, Fabien și Laurence lucrează pentru compania Bigees (companie_1) și Eric lucrează pentru compania Organi. Relația dintre persoane și companii este făcută folosind External ID-ul companiilor. Am trebuit să prefixăm „External ID” cu numele tabelei pentru a evita un conflict de ID între persoane și companii (persoană_1 și companie_1 care au partajat același ID 1 în baza de date originală).

Fișierele produse sunt gata să fie importate în Odoo fără nicio modificare. După ce ați importat aceste două fișiere CSV, veți avea 4 contacte și 3 companii. (primele două persoane sunt legate de prima companie). Trebuie mai întâi să importați companiile și apoi persoanele.

Cum să adaptați un șablon de import

Șabloanele de import sunt furnizate în instrumentul de import a datelor cele mai comune de importat (contacte, produse, declarații bancare, etc.). Le puteți deschide cu orice software de tabele (Microsoft Office, OpenOffice, Google Drive, etc.).

Cum să personalizați fișierul

  • Eliminați coloanele pe care nu le aveți nevoie. Vă sfătuim să nu eliminați ID (vedeți de ce aici mai jos).

  • Setați un ID unic pentru fiecare înregistrare extinzând secvența ID-ului.

    ../../_images/dragdown.gif
  • Când adăugați o nouă coloană, Odoo ar putea să nu poată să o mapăm automat dacă eticheta sa nu se potrivește cu niciun câmp al sistemului. Dacă este așa, găsiți corespondentul câmpului folosind căutarea.

    ../../_images/field_list.png

    Apoi, utilizați eticheta pe care ați găsit-o în șablonul dvs. de import pentru a face-o funcționează imediat de data viitoare când încercați să importați.

De ce o coloană „ID”

ID (External ID) este un identificator unic pentru elementul de linie. Simțiți-vă liber să utilizați cel al software-ului dvs. anterior pentru a ușura trecerea la Odoo.

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

  • Actualizați importurile: puteți importa același fișier de mai multe ori fără a crea duplicate;

  • Importați câmpurile de relație (vedeți mai jos).

Cum să importați câmpurile de relație

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 trebuie să importați în primul rând înregistrările obiectului legat din meniul lor propriu de listă.

Puteți face acest lucru folosind fie numele înregistrării legate, fie ID-ul. 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 de produs: Atribute de produs / Atribut / ID).