Professional Documents
Culture Documents
Índice
Localização dos módulos openERP
Estrutura de um módulo
Conteúdo do __init__.py
Conteúdo do __openerp__.py
Parte do conteúdo de transporte.py
Partes do conteúdo de transporte_view.xml
Alguns menuitem
Uma action
Tipo de Visão: tree
Tipo de visão: form
Filter (ou search)
Tipo de visão: calendar
Estrutura de um módulo
Esta é a estrutura básica de um módulo no openERP:
● name_modulo (pasta):
○ __init__.py
○ __openerp__.py
○ transporte.py
○ transporte_view.xml
Cada item de um módulo tem funções específicas. É no __init__.py que indica-se quais
arquivos .py (o controller que é ao mesmo tempo a model) serão importados pelo server na
hora que este módulo tiver sido instalado.
Conteúdo do __openerp__.py
1. {
2. 'name': 'Transporte',
3. 'version': '1.0.1',
4. 'category': 'transport',
5. "sequence": 6,
6. 'description': """
7. Responsavel pelo controle de transporte
8. """,
9. 'author': 'LAMP',
10. 'images': [],
11. 'depends': ['base','ud'],
12. 'init_xml': [],
13. 'update_xml':
['transporte_view.xml','security/ud_transporte_security.xml',
14. 'security/ir.model.access.csv'
15. ],
16. 'demo_xml': [
17. ],
18. 'test': [
19. ],
20. 'installable': True,
21. 'application': True,
22. # Web client
23. 'js': [],
24. 'css': []
25.}
Parte do conteúdo de transporte.py
1. class manutencao(osv.osv):
2. _name = 'ud.transporte.manutencao'
3.
4. STATUS_MANUTENCAO_CHOICES = (
5. ('aberta',u'Aberta'),
6. ('concluida',u'Concluída'),
7. )
8.
9. _columns = {
10. 'veiculo':fields.many2one('ud.transporte.veiculo', 'Veículo',
required=True),
11. 'descricao_manutencao':fields.text('Descrição'),
12. 'data_entrada':fields.date('Entrada'),
13. 'data_saida':fields.date('Saída'),
14. 'custo_manutencao':fields.float('Custo'),
15. 'state':fields.selection(STATUS_MANUTENCAO_CHOICES, 'Status'),
16. }
17.
18.
19. def button_open(self, cr, uid, ids, context=None):
20. return self.write(cr, uid, ids, {'state': 'aberta'})
21. def button_finished(self, cr, uid, ids, context=None):
22. return self.write(cr, uid, ids, {'state': 'concluida'})
23.
24. _defaults = {
25. 'state':lambda *a:'aberta',
26. 'data_entrada': lambda *a:time.strftime("%Y-%m-%d"),
27. }
28.
29.
30. manutencao()