SlideShare a Scribd company logo
1 of 22
Download to read offline
Sviluppo moduli

OpenERP v7.0
by Dott.ssa Eliumara López

01 Dicembre 2013
24 Ottobre 2012

Sviluppo moduli su OpenERP v7.0
Indice
.- Cos' è un modulo?
.- Files
.- Viste, Azioni, Menu e altre interfacce
.- Ereditarietà
.- Introduzione al modulo 1
* __init__.py
* __openerp__.py
* modulo_1.py
* modulo_1_view.xml
.- Introduzione al modulo 2
* __init__.py
* __openerp__.py
* modulo_2.py
* modulo_2_view.xml
Sviluppo moduli su OpenERP v7.0
Cos'è un modulo?
La struttura di OpenErp è modulare.

Un modulo in OpenERP è una directory che contiene dei file
prestabiliti oltre a altri che variano a seconda del tipo di funzionalità
implementata.
Sviluppo moduli su OpenERP v7.0
Cos'è un modulo?
Più di 1300 moduli OpenERP sono disponibili su http://apps.openerp.com

Sviluppo moduli su OpenERP v7.0
Files
I files all'interno di un modulo in OpenERP essenzialmente sono:

Alcuni moduli sono più robusti e hanno altre sottocartelle come:
report, edi, wizard, process, ecc...

Sviluppo moduli su OpenERP v7.0
Files
File __init__.py
Contiene un comando di import del modulo stesso.
Permette caricare il modulo creato.

Sviluppo moduli su OpenERP v7.0
Files
File __openerp__.py

Contiene un dizionario python, dove vengono descritte le funzionalità,
dipendenze implementate dal modulo e molto altro ancora.

Sviluppo moduli su OpenERP v7.0
Files
File __openerp__.py
Le chiavi del dizionario sono:
   'name'
   'description'
   'version'
   'author'
   'website'
   'category'
   'depends'
   'installable'
   'active'
   'init_xml'
   'update_xml'
   'demo_xml'
   ...
Sviluppo moduli su OpenERP v7.0
Files

File mio_modulo.py
In questo file sono definiti gli oggetti che compongono le view del
modulo e quelli del database.

Sviluppo moduli su OpenERP v7.0
Files
File mio_modulo.py
Attributi degli oggetti:
_name
_description (facoltativo)
_inherit (facoltativo)
_columns
_constraints (facoltativo)
_sql_constraints (facoltativo)
_defaults
_order (facoltativo)
_log_access

Sviluppo moduli su OpenERP v7.0
Files
File mio_modulo.py
Tipi dati:
boolean: assume valore True o False
Esempio:
'active': fields.boolean('Active')
integer integer_big: valori interi positivi o negativi
Esempio:
'id': fields.integer('Inventory Line Id', readonly=True)
selection: lista di valori che il campo può assumere
Esempio: fields.selection([('draft','Draft'),
('open','Opened'),
('close','Accepted'),('cancel','Canceled')],
'Status', readonly=True)
float: valori decimali
char: stringa con una dimensione massima
text: stringa senza dimensione massima
Esempio:
'note': fields.text('Description', translate=True)
date: data
...
Sviluppo moduli su OpenERP v7.0
Files
File mio_modulo.py
Tipi dati:
many2one
Esempio:
'category_id': fields.many2one('idea.category', 'Category',
required=True )
one2many
Esempio:
'vote_ids' : fields.one2many('idea.vote', 'idea_id', 'Vote')
many2many
Esempio:
'category_id': fields.many2many('res.partner.category',
'res_partner_category_rel', 'partner_id',
'category_id', 'Categories')

Sviluppo moduli su OpenERP v7.0
Files

File mio_modulo_view.xml
Interfacce utente per gestire gli oggetti definiti nel model.
<?xml version="1.0" encoding="utf-8"? >
<openerp >
<data >
[view definitions]
</data >
</openerp >

Sviluppo moduli su OpenERP v7.0
Viste, Azioni, Menu e altre
interfacce
Tipologie di Viste:
 form view
 tree view
 search view
 graph (grafici)
 gantt (Diagramma di gantt)
 calendar (calendario)
 ...
Sviluppo moduli su OpenERP v7.0
Viste, Azioni, Menu e altre
interfacce
Struttura XML delle viste
<record model="ir.ui.view"
id="identificativo_univoco_della_vista">
<field name="name">nome.vista</field>
<field name="model">nome_oggetto</field> # oggetto sul
quale la vista è definita
<field name="type">form</field> # tree, form,
calendar, search, graph, gantt
<field name="arch" type="xml"> # architettura della
vista
<!-- architettura e definizione della vista:
<form>, <tree>, <graph>, … -->
</field>
</record>

Sviluppo moduli su OpenERP v7.0
Viste, Azioni, Menu e altre
interfacce
Azioni
Azioni che determina il comportamento del sistema a seguito di un evento.
Struttura XML delle azioni
<!-- Action -->
<record model="ir.actions.act_window" id="nome_uniovoco">
<field name="name">nome_desc</field>
<field name="res_model">nome.modello</field>
<field name="view_type">tipo_vista</field>
</record>

Sviluppo moduli su OpenERP v7.0
Viste, Azioni, Menu e altre
interfacce
Menu
Azioni che determina il comportamento del sistema a seguito di un evento.
Struttura XML dei menu
<menuitem name="nome_menu"
parent="base.menu_tools" id="nome_menu1" sequence="4"/>
<menuitem
name="nome_menu" parent="nome_menu1"
id="nome_menu_tree"
action="action_nome_menu_tree"/>

Sviluppo moduli su OpenERP v7.0
Ereditarietà
Inherit Model
_inherit='object.name'

Inherit for Extension (_name == _inherit):
class res_partner(osv.osv):
_name = 'res.partner'
_inherit="res.partner"
_columns = {
'codcompanyclient': fields.integer('Code Company
Client',size=4),
'nit': fields.char('NIT',size=10),
'disp': fields.boolean('Disponibilita'),
'es_impiegato': fields.boolean('Es Impiegato'),
}
res_partner()
Sviluppo moduli su OpenERP v7.0
Ereditarietà
Inheritance by prototyping (_name != _inherit):
class other_material(osv.osv):
_name = 'other.material'
_inherit = 'network.material'
_columns = {
'manuf_warranty': fields.boolean('Manufacturer
warranty?'),
}
_defaults = {
'manuf_warranty': lambda *a: False,
}
other_material()

Sviluppo moduli su OpenERP v7.0
Ereditarietà
Inheritance by Delegation:
class tiny_object(osv.osv)
_name = 'tiny.object'
_table = 'tiny_object'
_inherits = {
'tiny.object_a': 'object_a_id',
'tiny.object_b': 'object_b_id',
... ,
'tiny.object_n': 'object_n_id'
}
(...)

Sviluppo moduli su OpenERP v7.0
Ereditarietà
Inherit View
<record model="ir.ui.view" id="view_partner_form">
<field name="name">res.partner.form.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Relations">
<field name="relation_ids" colspan="4" nolabel="1"/>
</page>
</notebook>
</field>
</record>

Sviluppo moduli su OpenERP v7.0
Siti consigliati e Contatti

openerp-italia.org
openerp.com
eliumara.lopez (skype)
@elilopezlopez (twitter)
lopez@cecchi.info

Sviluppo moduli su OpenERP v7.0

More Related Content

Viewers also liked

Viewers also liked (11)

09 API V8 for Dummies
09 API V8 for Dummies09 API V8 for Dummies
09 API V8 for Dummies
 
16 ​Odoo e test automatici
16 ​Odoo e test automatici16 ​Odoo e test automatici
16 ​Odoo e test automatici
 
15 Odoo come sistema di ticketing ed helpdesk avanzato​
15 Odoo come sistema di ticketing ed helpdesk avanzato​15 Odoo come sistema di ticketing ed helpdesk avanzato​
15 Odoo come sistema di ticketing ed helpdesk avanzato​
 
201607 03 - odoo 8.0
201607 03 - odoo 8.0201607 03 - odoo 8.0
201607 03 - odoo 8.0
 
07 Fatturazione Elettronica (PA) e Conservazione Sostitutiva
07 Fatturazione Elettronica (PA) e Conservazione Sostitutiva07 Fatturazione Elettronica (PA) e Conservazione Sostitutiva
07 Fatturazione Elettronica (PA) e Conservazione Sostitutiva
 
03 Estensione delle proprietà di Odoo per la generazione di preventivi complessi
03 Estensione delle proprietà di Odoo per la generazione di preventivi complessi03 Estensione delle proprietà di Odoo per la generazione di preventivi complessi
03 Estensione delle proprietà di Odoo per la generazione di preventivi complessi
 
06 Odoo Community Association
06 Odoo Community Association06 Odoo Community Association
06 Odoo Community Association
 
14 Il borsino: un nuovo modo di gestire il flusso di acquisto
14 Il borsino: un nuovo modo di gestire il flusso di acquisto14 Il borsino: un nuovo modo di gestire il flusso di acquisto
14 Il borsino: un nuovo modo di gestire il flusso di acquisto
 
02 Ritenuta d'acconto
02 Ritenuta d'acconto02 Ritenuta d'acconto
02 Ritenuta d'acconto
 
Le licenze software ed affini
Le licenze software ed affiniLe licenze software ed affini
Le licenze software ed affini
 
Gestione Magazzino con Odoo
Gestione Magazzino con OdooGestione Magazzino con Odoo
Gestione Magazzino con Odoo
 

Similar to OpenERP 7.0 - Sviluppo Moduli

Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaMarcello Teodori
 
Drupal
DrupalDrupal
DrupalNaLUG
 
Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming LanguagePasquale Paola
 
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di FirenzeProgetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di FirenzeProgettoELI4U
 
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Walter Volpi
 
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEEXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEWebinarPro srl
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
 
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value compositionOpen Makers Italy
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsKnowCamp
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...Vincenzo Di Biaggio
 
Un progetto open source per la gestione dei processi ICT. Presentazione e dim...
Un progetto open source per la gestione dei processi ICT. Presentazione e dim...Un progetto open source per la gestione dei processi ICT. Presentazione e dim...
Un progetto open source per la gestione dei processi ICT. Presentazione e dim...CMDBuild org
 
Sviluppare app native per iOS
Sviluppare app native per iOSSviluppare app native per iOS
Sviluppare app native per iOSGaspare Novara
 
Sviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto DigitaleSviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto Digitalelostrettodigitale
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...DrupalDay
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzionesparkfabrik
 
Presentazione della suite da lavoro LibreOffice
Presentazione della suite da lavoro LibreOfficePresentazione della suite da lavoro LibreOffice
Presentazione della suite da lavoro LibreOfficeGiovanni Mennea
 

Similar to OpenERP 7.0 - Sviluppo Moduli (20)

Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con Java
 
Drupal
DrupalDrupal
Drupal
 
Sviluppare moduli per il client web
Sviluppare moduli per il client webSviluppare moduli per il client web
Sviluppare moduli per il client web
 
Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming Language
 
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di FirenzeProgetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
 
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
 
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEEXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
 
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value composition
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...Drupal Day 2015 -  Drupal 8  dal download del core alla pubblicazione in prod...
Drupal Day 2015 - Drupal 8 dal download del core alla pubblicazione in prod...
 
Un progetto open source per la gestione dei processi ICT. Presentazione e dim...
Un progetto open source per la gestione dei processi ICT. Presentazione e dim...Un progetto open source per la gestione dei processi ICT. Presentazione e dim...
Un progetto open source per la gestione dei processi ICT. Presentazione e dim...
 
Sviluppare app native per iOS
Sviluppare app native per iOSSviluppare app native per iOS
Sviluppare app native per iOS
 
Sviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto DigitaleSviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto Digitale
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzione
 
Presentazione della suite da lavoro LibreOffice
Presentazione della suite da lavoro LibreOfficePresentazione della suite da lavoro LibreOffice
Presentazione della suite da lavoro LibreOffice
 

More from Associazione Odoo Italia (10)

10 Gestione Cespiti​
10 Gestione Cespiti​10 Gestione Cespiti​
10 Gestione Cespiti​
 
Reports e stampe con OpenERP
Reports e stampe con OpenERPReports e stampe con OpenERP
Reports e stampe con OpenERP
 
Import/Export di dati con OpenERP
Import/Export di dati con OpenERPImport/Export di dati con OpenERP
Import/Export di dati con OpenERP
 
Causali e Compensazioni Easy Way
Causali e Compensazioni Easy WayCausali e Compensazioni Easy Way
Causali e Compensazioni Easy Way
 
Distinta base a dimensioni variabili
Distinta base a dimensioni variabiliDistinta base a dimensioni variabili
Distinta base a dimensioni variabili
 
OpenERP Community Association
OpenERP Community AssociationOpenERP Community Association
OpenERP Community Association
 
OpenERP in Italia - tipico caso d'uso
OpenERP in Italia - tipico caso d'usoOpenERP in Italia - tipico caso d'uso
OpenERP in Italia - tipico caso d'uso
 
Launchpad e code review
Launchpad e code reviewLaunchpad e code review
Launchpad e code review
 
Contbilità: le novità
Contbilità: le novitàContbilità: le novità
Contbilità: le novità
 
Open erp vs sap
Open erp vs sapOpen erp vs sap
Open erp vs sap
 

OpenERP 7.0 - Sviluppo Moduli

  • 1. Sviluppo moduli OpenERP v7.0 by Dott.ssa Eliumara López 01 Dicembre 2013 24 Ottobre 2012 Sviluppo moduli su OpenERP v7.0
  • 2. Indice .- Cos' è un modulo? .- Files .- Viste, Azioni, Menu e altre interfacce .- Ereditarietà .- Introduzione al modulo 1 * __init__.py * __openerp__.py * modulo_1.py * modulo_1_view.xml .- Introduzione al modulo 2 * __init__.py * __openerp__.py * modulo_2.py * modulo_2_view.xml Sviluppo moduli su OpenERP v7.0
  • 3. Cos'è un modulo? La struttura di OpenErp è modulare. Un modulo in OpenERP è una directory che contiene dei file prestabiliti oltre a altri che variano a seconda del tipo di funzionalità implementata. Sviluppo moduli su OpenERP v7.0
  • 4. Cos'è un modulo? Più di 1300 moduli OpenERP sono disponibili su http://apps.openerp.com Sviluppo moduli su OpenERP v7.0
  • 5. Files I files all'interno di un modulo in OpenERP essenzialmente sono: Alcuni moduli sono più robusti e hanno altre sottocartelle come: report, edi, wizard, process, ecc... Sviluppo moduli su OpenERP v7.0
  • 6. Files File __init__.py Contiene un comando di import del modulo stesso. Permette caricare il modulo creato. Sviluppo moduli su OpenERP v7.0
  • 7. Files File __openerp__.py Contiene un dizionario python, dove vengono descritte le funzionalità, dipendenze implementate dal modulo e molto altro ancora. Sviluppo moduli su OpenERP v7.0
  • 8. Files File __openerp__.py Le chiavi del dizionario sono:    'name'    'description'    'version'    'author'    'website'    'category'    'depends'    'installable'    'active'    'init_xml'    'update_xml'    'demo_xml'    ... Sviluppo moduli su OpenERP v7.0
  • 9. Files File mio_modulo.py In questo file sono definiti gli oggetti che compongono le view del modulo e quelli del database. Sviluppo moduli su OpenERP v7.0
  • 10. Files File mio_modulo.py Attributi degli oggetti: _name _description (facoltativo) _inherit (facoltativo) _columns _constraints (facoltativo) _sql_constraints (facoltativo) _defaults _order (facoltativo) _log_access Sviluppo moduli su OpenERP v7.0
  • 11. Files File mio_modulo.py Tipi dati: boolean: assume valore True o False Esempio: 'active': fields.boolean('Active') integer integer_big: valori interi positivi o negativi Esempio: 'id': fields.integer('Inventory Line Id', readonly=True) selection: lista di valori che il campo può assumere Esempio: fields.selection([('draft','Draft'), ('open','Opened'), ('close','Accepted'),('cancel','Canceled')], 'Status', readonly=True) float: valori decimali char: stringa con una dimensione massima text: stringa senza dimensione massima Esempio: 'note': fields.text('Description', translate=True) date: data ... Sviluppo moduli su OpenERP v7.0
  • 12. Files File mio_modulo.py Tipi dati: many2one Esempio: 'category_id': fields.many2one('idea.category', 'Category', required=True ) one2many Esempio: 'vote_ids' : fields.one2many('idea.vote', 'idea_id', 'Vote') many2many Esempio: 'category_id': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories') Sviluppo moduli su OpenERP v7.0
  • 13. Files File mio_modulo_view.xml Interfacce utente per gestire gli oggetti definiti nel model. <?xml version="1.0" encoding="utf-8"? > <openerp > <data > [view definitions] </data > </openerp > Sviluppo moduli su OpenERP v7.0
  • 14. Viste, Azioni, Menu e altre interfacce Tipologie di Viste:  form view  tree view  search view  graph (grafici)  gantt (Diagramma di gantt)  calendar (calendario)  ... Sviluppo moduli su OpenERP v7.0
  • 15. Viste, Azioni, Menu e altre interfacce Struttura XML delle viste <record model="ir.ui.view" id="identificativo_univoco_della_vista"> <field name="name">nome.vista</field> <field name="model">nome_oggetto</field> # oggetto sul quale la vista è definita <field name="type">form</field> # tree, form, calendar, search, graph, gantt <field name="arch" type="xml"> # architettura della vista <!-- architettura e definizione della vista: <form>, <tree>, <graph>, … --> </field> </record> Sviluppo moduli su OpenERP v7.0
  • 16. Viste, Azioni, Menu e altre interfacce Azioni Azioni che determina il comportamento del sistema a seguito di un evento. Struttura XML delle azioni <!-- Action --> <record model="ir.actions.act_window" id="nome_uniovoco"> <field name="name">nome_desc</field> <field name="res_model">nome.modello</field> <field name="view_type">tipo_vista</field> </record> Sviluppo moduli su OpenERP v7.0
  • 17. Viste, Azioni, Menu e altre interfacce Menu Azioni che determina il comportamento del sistema a seguito di un evento. Struttura XML dei menu <menuitem name="nome_menu" parent="base.menu_tools" id="nome_menu1" sequence="4"/> <menuitem name="nome_menu" parent="nome_menu1" id="nome_menu_tree" action="action_nome_menu_tree"/> Sviluppo moduli su OpenERP v7.0
  • 18. Ereditarietà Inherit Model _inherit='object.name' Inherit for Extension (_name == _inherit): class res_partner(osv.osv): _name = 'res.partner' _inherit="res.partner" _columns = { 'codcompanyclient': fields.integer('Code Company Client',size=4), 'nit': fields.char('NIT',size=10), 'disp': fields.boolean('Disponibilita'), 'es_impiegato': fields.boolean('Es Impiegato'), } res_partner() Sviluppo moduli su OpenERP v7.0
  • 19. Ereditarietà Inheritance by prototyping (_name != _inherit): class other_material(osv.osv): _name = 'other.material' _inherit = 'network.material' _columns = { 'manuf_warranty': fields.boolean('Manufacturer warranty?'), } _defaults = { 'manuf_warranty': lambda *a: False, } other_material() Sviluppo moduli su OpenERP v7.0
  • 20. Ereditarietà Inheritance by Delegation: class tiny_object(osv.osv) _name = 'tiny.object' _table = 'tiny_object' _inherits = { 'tiny.object_a': 'object_a_id', 'tiny.object_b': 'object_b_id', ... , 'tiny.object_n': 'object_n_id' } (...) Sviluppo moduli su OpenERP v7.0
  • 21. Ereditarietà Inherit View <record model="ir.ui.view" id="view_partner_form"> <field name="name">res.partner.form.inherit</field> <field name="model">res.partner</field> <field name="inherit_id" ref="base.view_partner_form"/> <field name="type">form</field> <field name="arch" type="xml"> <notebook position="inside"> <page string="Relations"> <field name="relation_ids" colspan="4" nolabel="1"/> </page> </notebook> </field> </record> Sviluppo moduli su OpenERP v7.0
  • 22. Siti consigliati e Contatti openerp-italia.org openerp.com eliumara.lopez (skype) @elilopezlopez (twitter) lopez@cecchi.info Sviluppo moduli su OpenERP v7.0