Skip to content

2. Desenvolupament amb Odoo

Fher edited this page Jan 16, 2023 · 9 revisions

Introducció als mòduls

Odoo anomena "aplicacions" al seu sistema modular, és a dir, als complements que permeten ampliar les funcionalitats de l'ERP. Gràcies al sistema modular es pot aprofitar Odoo per a adaptar-lo amb relativa facilitat a les necessitats de l'IMS, però cal tenir clars una sèrie de conceptes que s'expliquen a continuació.

Models de dades

El model de dades és el que permet emmagatzemar un conjunt d'informació referent a un ítem i és fruit del procés d'abstracció i disseny.

El model dins Odoo

Dins els mòduls, cada model de dades ve definit per la definició d'una classe en Python que farà servir tipus de dades proporcionades per Odoo.

from odoo import fields, models

class TestModel(models.Model):
    _name = "test.model"
    _description = "Test Model"

    name = fields.Char()

Font: https://www.odoo.com/documentation/16.0/es/developer/howtos/rdtraining/04_basicmodel.html#object-relational-mapping

El model dins la BBDD

Odoo s'encarrega de generar les taules (incloent-hi regles, claus primàries i claus foranes) i registres dins la base de dades en funció del model de dades que s'ha definit fent servir Python. Tot el procés és automàtic i, per tant, cal evitar fer modificacions manuals dins la base de dades.

 Table "public.test_model"
    Column       |            Type             | Collation | Nullable |                   Default
--------------------+-----------------------------+-----------+----------+---------------------------------------------
id                 | integer                     |           | not null | nextval('test_model_id_seq'::regclass)
create_uid         | integer                     |           |          |
create_date        | timestamp without time zone |           |          |
write_uid          | integer                     |           |          |
write_date         | timestamp without time zone |           |          |
name               | character varying           |           |          |
Indexes:
    "test_model_pkey" PRIMARY KEY, btree (id)
Foreign-key constraints:
    "test_model_create_uid_fkey" FOREIGN KEY (create_uid) REFERENCES res_users(id) ON DELETE SET NULL
    "test_model_write_uid_fkey" FOREIGN KEY (write_uid) REFERENCES res_users(id) ON DELETE SET NULL

Com es pot observar, de forma automàtica s'han afegit nous atributs al model que són necessaris per al correcte funcionament d'Odoo i les seves funcions de traçabilitat.

Font: https://www.odoo.com/documentation/16.0/es/developer/howtos/rdtraining/04_basicmodel.html#model-fields

Vistes

Les vistes fan referència al "front-end", és a dir, tot allò amb el que l'usuari pot interactuar i es programen amb XML o QWeb dependent del cas.

Llistats

Les vistes en format llistat permeten llistar tot un conjunt de registres, des d'aquí l'usuari pot accedir a les operacions de tipus CRUD per a cada registre:

image

Font: https://www.odoo.com/documentation/16.0/es/developer/howtos/rdtraining/07_basicviews.html#list

Formularis

Els formularis permeten a un usuari editar les dades d'un model.

image

Font: https://www.odoo.com/documentation/16.0/es/developer/howtos/rdtraining/07_basicviews.html#form

Informes

Els informes són pàgines web que es generen de forma dinàmica i proporcionen dades útils als usuaris, el codi font d'aquests informes es defineix dins un mòdul fent servir QWeb i les seves dades resultants es poden exportar a diferents formats.

image

Font: https://www.odoo.com/documentation/16.0/es/developer/reference/backend/reports.html#

Taulers

Els taulers (dashboards) permeten mostrar dades interactives que faciliten la seva anàlisi i interpretació:

image

Font: https://www.odoo.com/documentation/16.0/es/developer/howtos/rdtraining/K_dashboard.html?highlight=boards#dashboard-view

Documentació i material de referència