Câmpuri și widget-uri

Câmpurile compun structura unei baze de date. Dacă vă imaginați un model ca o tabelă sau un tabel, câmpurile sunt coloanele unde datele sunt stocate în înregistrări (adică rândurile). Câmpurile definesc de asemenea tipul de date stocate în ele. Modul în care sunt prezentate și forma datelor în UI este definit de widget-ul lor.

Din punct de vedere tehnic, există 15 tipuri de câmpuri în Odoo. Cu toate acestea, puteți alege din 20 de câmpuri în Studio, deoarece unele tipuri de câmpuri sunt disponibile de mai multe ori cu un widget implicit diferit.

Sfat

Câmpuri noi pot fi adăugate doar la vizualizările de tip Formular și Listă. Pe alte vizualizări, puteți adăuga doar Câmpuri existente (câmpuri deja existente pe model).

Câmpuri simple

Câmpurile simple conțin valori de bază, cum ar fi text, numere, fișiere, etc.

Notă

Widget-urile non-implicite, când sunt disponibile, sunt prezentate mai jos ca puncte sau subcapitole.

Text (char)

Câmpul Text este utilizat pentru text scurt care conține orice caracter. O singură linie de text este afișată la completarea câmpului.

  • Etichetă: afișează valoarea într-o formă rotunjită, similar cu o etichetă. Valoarea nu poate fi editată în UI, dar o valoare implicită poate fi setată.

  • Copiază în Clipboard: utilizatorii pot copia valoarea apăsând pe un buton.

  • E-mail: valoarea devine un link mailto (email către).

  • Imagine: afișează o imagine folosind un URL. Valoarea nu poate fi editată manual, dar o valoare implicită poate fi setată.

    Notă

    Aceasta funcționează diferit față de selectarea directă a câmpului Imagine, deoarece imaginea nu este stocată în Odoo când se folosește un câmp Text cu widget-ul Imagine. De exemplu, poate fi util dacă doriți să economisiți spațiu pe disc.

  • Telefon: valoarea devine un link tel.

    Sfat

    Bifați Activează SMS pentru a adăuga o opțiune de a trimite un SMS direct din Odoo lângă câmp.

  • URL: valoarea devine un URL pe care se poate face clic.

Example

Exemple de câmpuri Text cu diferite widget-uri

Text Multilinie (text)

Câmpul Text Multilinie este utilizat pentru text mai lung care conține orice tip de caracter. Două linii de text sunt afișate în UI la completarea câmpului.

  • Copiază în Clipboard: utilizatorii pot copia valoarea apăsând pe un buton.

Example

Exemple de câmpuri Text Multilinie cu diferite widget-uri

Întregi (integer)

Câmpul Integer este utilizat pentru toate numerele întregi (pozitive, negative, sau zero, fără zecimale).

  • Grafic al proporțiilor: afișează valoarea într-un cerc procentual, de obicei pentru o valoare calculată. Valoarea nu poate fi editată în UI, dar o valoare implicită îi poate fi setată.

  • Bară de progres: afișează valoarea lângă o bară procentuală, de obicei pentru o valoare calculată. Câmpul nu poate fi editat manual, dar o valoare implicită îi poate fi setată.

  • Mâner: afișează o pictogramă de mâner pentru a ordona înregistrările manual în Vizualizarea listă.

Example

Exemple de câmpuri Integer cu diferite widget-uri

Zecimal (float)

Câmpul Zecimal este utilizat pentru toate numerele zecimale (pozitive, negative, sau zero, cu zecimale).

Notă

Numerele zecimale sunt afișate în UI (Interfața cu Utilizatorul) cu două zecimale după virgulă, dar sunt stocate în baza de date cu o precizie mai mare.

  • Monetar: este similar cu utilizarea câmpului Monetar. Se recomandă utilizarea acestuia din urmă deoarece oferă mai multe funcționalități.

  • Procentaj: afișează un caracter procent % după valoare.

  • Grafic al proporțiilor: afișează valoarea într-un cerc procentual, de obicei pentru o valoare calculată. Câmpul nu poate fi editat manual, dar o valoare implicită îi poate fi setată.

  • Bară de progres: afișează valoarea lângă o bară procentuală, de obicei pentru o valoare calculată. Câmpul nu poate fi editat manual, dar o valoare implicită îi poate fi setată.

  • Timp: valoarea trebuie să urmeze formatul hh:mm, cu un maxim de 59 minute.

Example

Exemple de câmpuri Zecimale cu diferite widget-uri

Monetar (monetary)

Câmpul Monetar este utilizat pentru toate valorile monetare.

Notă

Când adăugați prima dată un câmp monetar, vă este solicitat să adăugați un câmp monedă dacă nu există deja unul pe model. Odoo vă întreaba să adăugați câmpul Monedă pentru dvs. Odată adăugat, adăugați câmpul Monetar din nou.

Example

Exemplu de câmp Monetar împreună cu câmpul Monedă

Html (html)

Câmpul Html este utilizat pentru a adăuga text care poate fi editat folosind editorul HTML al Odoo.

  • Text Multilinie: dezactivează editorul HTML al Odoo pentru a permite editarea HTML brut.

Example

Exemple de câmpuri Html cu diferite widget-uri

Dată calendaristică (date)

Câmpul Dată calendaristică este utilizat pentru a selecta o dată pe un calendar.

  • Zile rămase: numărul de zile rămase până la data selectată este afișat (ex: Peste 5 zile), pe baza datei curente. Acest câmp trebuie setat ca Doar citire.

Example

Exemple de câmpuri Dată calendaristică cu diferite widget-uri

Dată și oră (datetime)

Câmpul Dată și oră este utilizat pentru a selecta o dată pe un calendar și o ora anume. Timpul curent al utilizatorului este utilizat automat dacă nu este setat.

Sfat

Pe lângă proprietățile generale, unele proprietăți specifice sunt disponibile pentru câmpurile Dată & Oră care au setat widget-ul Dată & Oră sau Interval de date.

Interval de date (daterange)

Widget-ul Interval de date este folosit pentru a afișa o perioadă de timp definită de o dată de început și una de sfârșit pe o singură linie. Un interval de date poate avea o dată de început și de sfârșit obligatorii, de exemplu pentru un eveniment de mai multe zile, sau poate permite o dată de început sau de sfârșit opțională, de exemplu pentru o intervenție pe teren sau o sarcină de proiect.

Adăugarea unui interval de date necesită două câmpuri: un câmp Dată & Oră cu widget-ul Interval de date setat și un alt câmp care este selectat ca dată de început sau de sfârșit. Acest câmp de bază poate fi un câmp Dată existent sau un câmp Dată & Oră, sau unul creat special pentru acest scop.

Pentru a adăuga un interval de date:

  1. Identificați un câmp Dată sau Dată & Oră existent care poate fi folosit ca dată de început/sfârșit de bază sau adăugați unul nou. Dacă intervalul de date:

    • are o dată de început și de sfârșit obligatorii, acest câmp poate fi fie data de început, fie data de sfârșit; rezultatul este același.

    • permite o dată de început sau de sfârșit opțională, acest câmp este data de început sau de sfârșit, respectiv.

    Sfat

    Pentru a evita afișarea aceleiași informații de două ori, câmpul de bază pentru data de început/sfârșit poate fi făcut invizibil activând Invizibil sau eliminat din vizualizare apăsând Elimină din vizualizare.

  2. Adăugați un câmp Dată & Oră și setați câmpul Widget la Interval de date.

  3. Introduceți o Etichetă potrivită.

  4. Selectați câmpul de bază pentru data de început/sfârșit din lista derulantă Câmp dată început sau Câmp dată sfârșit, după caz.

  5. Dacă intervalul de date trebuie să aibă o dată de început și de sfârșit obligatorii, activați Întotdeauna interval.

  6. Actualizați orice alte proprietăți generale sau proprietăți specifice pentru câmpurile Dată & Oră după necesitate, apoi apăsați Închide în colțul din dreapta sus al ecranului.

Example

Exemple de câmpuri Dată și oră cu diferite widget-uri

Zile rămase (remaining_days)

Widget-ul Zile rămase afișează numărul de zile rămase până la data selectată (ex: Peste 5 zile), pe baza datei și orei curente. Acest câmp trebuie setat ca Doar citire.

Bifă (boolean)

Câmpul Bifă este utilizat atunci când o valoare trebuie să fie adevărată sau falsă, indicată prin bifarea sau debifarea unui câmp.

  • Buton: afișează un buton radio. Widget-ul funcționează fără a trebui să treci în modul de editare.

  • Comutator: afișează un buton de comutare. Widget-ul funcționează fără a trebui să treci în modul de editare.

Example

Exemple de câmpuri Bifă cu diferite widget-uri

Selcție (selection)

Câmpul Selcție este utilizat atunci când utilizatorii trebuie să selecteze o singură valoare dintr-un grup de valori predefinite.

  • Etichetă: afișează valoarea într-o formă rotunjită, similar cu o etichetă. Valoarea nu poate fi editată în UI, dar o valoare implicită poate fi setată.

  • Etichete: afișează toate valorile selectabile simultan în interiorul formelor dreptunghiulare, organizate orizontal.

  • Prioritate: afișează simboluri de stea în loc de valori, care pot fi folosite pentru a indica, de exemplu, un nivel de importanță sau satisfacție. Are același efect ca selectarea câmpului Prioritate, deși pentru acesta din urmă există deja patru valori predefinite.

  • Radio: afișează toate valorile selectabile simultan ca butoane radio.

    Sfat

    În mod implicit, butoanele radio sunt organizate vertical. Activați Afișează orizontal pentru a schimba modul de afișare.

  • Bară de stare: afișează toate valorile selectabile simultan sub forma unei bare de progres cu săgeți.

    Sfat

    În mod implicit, valorile din bara de stare sunt selectabile. Dezactivați Clickabil pentru a preveni editarea valorii în interfață.

Example

Exemple de câmpuri Selecție cu diferite widget-uri

Prioritate (selection)

Câmpul Prioritate este folosit pentru a afișa un sistem de evaluare cu trei stele, care poate indica nivelul de importanță sau satisfacție. Acest tip de câmp este un câmp de selecție cu widget-ul Prioritate selectat implicit și patru valori de prioritate predefinite. În consecință, widget-urile Insignă, Insigne, Radio și Selecție au aceleași efecte ca cele descrise la Selecție.

Sfat

Pentru a modifica numărul de stele disponibile prin adăugarea sau eliminarea valorilor, faceți clic pe Editează valorile. Rețineți că prima valoare este egală cu 0 stele (adică, de exempu, atunci când nu este făcută nicio selecție), astfel încât având patru valori rezultă într-un sistem de evaluare cu trei stele.

Example

Exemplu de câmp Prioritate

Fișier (binary)

Câmpul Fișier este utilizat pentru a încărca orice tip de fișier, sau pentru a semna un formular (Semnează widget).

Example

Exemple de câmpuri Fișier cu diferite widget-uri

Imagine (binary)

Câmpul Imagine este folosit pentru a încărca o imagine și a o afișa în Vizualizarea formular. Acest tip de câmp este un câmp fișier cu widget-ul Imagine selectat implicit. În consecință, widget-urile Fișier, Vizualizator PDF și Semnătură au aceleași efecte ca cele descrise la Fișier.

Sfat

Pentru a modifica dimensiunea afișării imaginilor încărcate, selectați Mic, Mediu, sau Mare sub opțiunea Dimensiune.

Semnătură (binary)

Câmpul Semnătură este folosit pentru a semna electronic formularul. Acest tip de câmp este un câmp fișier cu widget-ul Semnătură selectat implicit. În consecință, widget-urile Fișier, Imagine și Vizualizator PDF au aceleași efecte ca cele descrise la Fișier.

Sfat

Pentru a oferi utilizatorilor opțiunea Auto când trebuie să deseneze semnătura, selectați unul dintre câmpurile disponibile Completare automată cu (Text, Many2One și Câmp corelat doar pe model). Semnătura este generată automat folosind datele din câmpul selectat.

Câmpuri relaționale

Câmpurile relaționale sunt utilizate pentru a lega și afișa datele din înregistrări de pe alt model.

Notă

Widget-urile non-implicite, sunt prezentate mai jos.

Many2One (many2one)

Câmpul Many2One este utilizat pentru a lega o altă înregistrare (de pe alt model) cu înregistrarea care este editată. Numele înregistrării din alt model este apoi afișat în înregistrarea care este editată.

Example

Pe modelul Comandă de Vânzare, câmpul Client este un câmp Many2One care indică modelul Contact. Acest lucru permite multe comenzi de vânzare să fie legate de un contact (client).

Diagramă care arată o relație many2one

Sfat

  • Pentru a preveni utilizatorii din a crea o nouă înregistrare în modelul legat, bifați Dezactivează crearea.

  • Pentru a preveni utilizatorii din a deschide înregistrări într-o fereastră pop-up, bifați Dezactivează deschiderea.

  • Pentru a ajuta utilizatorii să selecteze doar înregistrarea potrivită, faceți clic pe Domeniu pentru a crea un filtru.

  • Etichetă: afișează valoarea într-o formă rotunjită, similară cu o etichetă. Valoarea nu poate fi editată în interfața utilizatorului.

  • Radio: afișează toate valorile selectabile simultan ca butoane radio.

One2Many (one2many) (Unul către mai multe)

Câmpul One2Many este utilizat pentru a afișa relațiile existente între o înregistrare de pe modelul curent și mai multe înregistrări de pe alt model.

Example

Aveți posibilitatea să adăugați un câmp One2Many pe modelul Contact pentru a vedea mai multe comenzi de vânzare ale unui client.

Diagrama care arată o relație one2many

Notă

Pentru a folosi un câmp One2Many, cele două modele trebuie să fi fost deja legate folosind un câmp Many2One. Relațiile One2Many nu există independent: se realizează o căutare inversă a relațiilor Many2One existente.

Linii (one2many)

Câmpul Linii este utilizat pentru a crea o tabelă cu rânduri și coloane (de exemplu, linii de produse pe o comandă de vânzare).

Sfat

Pentru a modifica coloanele, faceți clic pe câmpul Linii și apoi Editați vizualizarea de tip lista. Pentru a edita formularul care apare atunci când un utilizator face clic pe Adăugați o linie, faceți clic pe Editați vizualizarea formularului.

Example

Exemplu de câmp Linii

Many2Many (many2many)

Câmpul Many2Many este folosit pentru a lega mai multe înregistrări dintr-un alt model la mai multe înregistrări din modelul curent. Câmpurile Many2Many pot folosi Dezactivează crearea, Dezactivează deschiderea, Domeniu, la fel ca câmpurile Many2One.

Example

Pe modelul Task, câmpul Atribuiți este un câmp Many2Many care indică modelul Contact. Acest lucru permite unui singur utilizator să îi fie atribuite mai multe sarcini și mai mulți utilizatori să fie atribuiți unei singure sarcini.

Diagrama care arată relațiile many2many
  • Casete de selectare: utilizatorii pot selecta mai multe valori folosind casetele de selectare.

  • Etichete: utilizatorii pot selecta mai multe valori afișate sub formă de forme rotunjite, cunoscute și ca etichete. Are același efect ca selectarea câmpului Etichete.

Etichete (many2many)

Câmpul Etichete este folosit pentru a afișa mai multe valori dintr-un alt model sub formă de forme rotunjite, cunoscute și ca etichete. Acest tip de câmp este un câmp Many2Many cu widget-ul Etichete selectat implicit. În consecință, widget-urile Bife, Many2Many au aceleași efecte ca cele descrise la Many2Many.

Sfat

Pentru a afișa etichete cu culori de fundal diferite, bifați Folosiți culori.

Example

Exemplu de câmp Etichete

Proprietăți

Proprietăți generale

  • Invizibil: Activați această proprietate când nu este necesar ca utilizatorii să vadă un câmp în interfață. Acest lucru ajută la simplificarea interfeței afișând doar câmpurile esențiale în funcție de situație.

    Atributul Invizibil se aplică și în Studio. Pentru a vedea câmpurile ascunse în Studio, apăsați pe fila Vizualizare a unei vizualizări și activați Afișează elementele invizibile.

  • Obligatoriu: Activați această proprietate dacă un câmp trebuie completat întotdeauna de utilizator înainte de a putea continua.

  • Doar citire: Activați această proprietate dacă utilizatorii nu trebuie să poată modifica un câmp.

Notă

Puteți alege să activați Invizibil, Obligatoriu și Doar citire doar pentru anumite înregistrări apăsând pe Condițional și creând un filtru.

Example

Pe vizualizarea Formular a modelului Contact, câmpul Titlu apare doar atunci când este selectat Individual, deoarece acest câmp nu ar fi util pentru un contact de tip Companie.

  • Etichetă: numele câmpului în interfață. Acesta nu este numele folosit în baza de date PostgreSQL. Pentru a vedea și modifica acesta din urmă, activați modul dezvoltator și editați Nume tehnic.

  • Tooltip de ajutor: Pentru a explica scopul unui câmp, adăugați o descriere. Textul este afișat într-o casetă de tip tooltip când treceți cu mouse-ul peste semnul întrebării de lângă eticheta câmpului.

  • Widget: Pentru a schimba aspectul sau funcționalitatea implicită a unui câmp, selectați unul dintre widget-urile disponibile.

  • Text de substituție: Pentru a oferi un exemplu despre cum ar trebui completat un câmp, adăugați un text de substituție. Textul apare cu gri deschis până când se introduce o valoare.

  • Valoare implicită: Pentru a afișa o valoare implicită într-un câmp la crearea unei înregistrări, adăugați o valoare.

  • Permite vizibilitatea pentru grupuri: Pentru a limita ce utilizatori pot vedea câmpul, selectați unul sau mai multe grupuri de acces.

  • Interzice vizibilitatea pentru grupuri: Pentru a împiedica anumiți utilizatori să vadă câmpul, selectați unul sau mai multe grupuri de acces.

Proprietăți pentru câmpurile Dată & Oră

Pentru câmpurile Dată & Oră care au setat widget-ul Dată & Oră sau Interval de date, sunt disponibile unele proprietăți specifice:

  • Precizie minimă: Determină cea mai mică unitate de dată care trebuie selectată în selectorul de date. Valorile posibile sunt Zi, Lună, An sau Deceniu. Dacă nu este selectată nicio valoare, utilizatorul trebuie să selecteze o zi în selectorul de date.

  • Precizie maximă: Determină cea mai mare unitate de dată care poate fi folosită pentru a naviga în selectorul de date. Valorile posibile sunt Zi, Lună, An sau Deceniu. Dacă nu este selectată nicio valoare, utilizatorul poate naviga selectorul de date după deceniu.

  • Avertisment pentru date viitoare: Activează această proprietate pentru a afișa o pictogramă de avertizare dacă este selectată o dată viitoare.

  • Date format: By default the date will be shown as Apr 2, 2025, 08:05 AM. Enable this property to show the date in the format 4/2/2025 08:05:00. The numeric mode is the format set on the current language. In this mode the seconds are always shown.

  • Show date: This property is enabled by default for Date & Time fields. Disable this property to show only the time.

  • Afișează ora: Această proprietate este activată implicit pentru câmpurile Dată & Oră. Pe un câmp doar pentru citire, dezactivează proprietatea pentru a afișa doar data. Acest lucru poate menține o vizualizare de listă mai aerisită, de exemplu.

  • Show seconds: This property is disabled by default for Date & Time fields. Enable the property to show the seconds.

  • Interval de timp: Introdu o valoare pentru a determina intervalele de minute afișate în selectorul de timp. De exemplu, introdu 15 pentru a permite intervale de un sfert de oră. Valoarea implicită este setată la 5 minute.

  • Cea mai devreme dată acceptată: Introdu cea mai devreme dată care poate fi selectată în selectorul de date în format ISO, adică YYYY-MM-DD. Dacă data curentă este întotdeauna cea mai devreme dată acceptată, introdu today. În selectorul de date, datele anterioare celei mai devreme date acceptate sunt estompate.

  • Cea mai târzie dată acceptată: Introdu cea mai târzie dată care poate fi selectată în selectorul de date în format ISO, adică YYYY-MM-DD. Dacă data curentă este întotdeauna cea mai târzie dată acceptată, introdu today. În selectorul de date, datele ulterioare celei mai târzii date acceptate sunt estompate.