Buenas tardes
He creado mi primero modulo en OpenERP 7.0 y me da el siguiente error cuando ejecuto el modulo al modificar/crear un registro y darle a un nuevo boton:
Detalle LOG
Server Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 89, in send return openerp.netsvc.dispatch_rpc(service_name, method, args) File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 296, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 626, in dispatch res = fn(db, uid, *params) File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 190, in execute_kw return self.execute(db, uid, obj, method, *args, **kw or {}) File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 132, in wrapper return f(self, dbname, *args, **kwargs) File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 199, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 187, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) AttributeError: 'x_custom_model' object has no attribute 'button_draft'
En el XML he incluido un boton:
Detalle XML
<record id="view_cirugia_form" model="ir.ui.view">
<field name="name">x_ref.interna.form</field>
<field name="model">x_ref.interna</field>
<field name="arch" type="xml">
<form string="Cirugía" version="7.0">
<header>
<button string="Fijar Borrador" name="button_draft" x_state="cancel,done" type="object"/>
<field name="x_state" widget="statusbar" statusbar_visible="draft,sent,progress,done,cancel"
statusbar_colors="{"sent":"red"}"/>
</header>
<sheet>
Detalle PY
class cirugia(osv.osv):
_name = 'x_ref.interna'
_columns = {
'x_autoriza': fields.char('Autorización',size=20,required=False),
'x_centro': fields.many2one('res.partner', 'Centro',required=False),
'x_company_id': fields.many2one('res.company', 'Compañía',required=False),
'x_doctor': fields.many2one('res.partner', 'Doctor',required=False),
'x_fec_oper': fields.datetime('Fecha Operación'),
'x_location1': fields.many2one('stock.location', 'Ubicación1',required=False),
'x_location2': fields.many2one('stock.location', 'Ubicación2',required=False),
'x_location3': fields.many2one('stock.location', 'Ubicación3',required=False),
'x_location4': fields.many2one('stock.location', 'Ubicación4',required=False),
'x_location5': fields.many2one('stock.location', 'Ubicación5',required=False),
'x_location6': fields.many2one('stock.location', 'Ubicación6',required=False),
'x_location7': fields.many2one('stock.location', 'Ubicación7',required=False),
'x_location8': fields.many2one('stock.location', 'Ubicación8',required=False),
'x_location9': fields.many2one('stock.location', 'Ubicación9',required=False),
'x_location10': fields.many2one('stock.location', 'Ubicación10',required=False),
'x_name': fields.char('Ref.Interna/Cirugía', size=20, required=True),
'x_nhc': fields.char('NHC/Historial Clínico', size=60, required=False),
'x_otros': fields.text('Otros'),
'x_paciente': fields.char('Paciente', size=40, required=False),
'x_poliza': fields.char('Póliza', size=20, required=False),
'x_state': fields.selection([
('draft', 'Borrador'),
('sent', 'Enviada'),
('cancel', 'Cancelada'),
('waiting_date', 'Esperando programación'),
('progress', 'En curso'),
('done', 'Finalizada'),
], 'Estado', readonly=True),
'x_tarjeta': fields.char('Tarjeta', size=20, required=False),
'x_user_id': fields.many2one('res.users', 'Comercial'),
}
def button_draft(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'x_state': 'draft'}, context=context)
cirugia()
La instalación del modulo me ha ido bien pero:
1. Da el error de AttributeError: 'x_custom_model'
2. Si intento Actualizar el nuevo modulo también me da el siguiente error ->
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3217, in _auto_init
if dest_model._table != 'ir_actions':
AttributeError: 'NoneType' object has no attribute '_table'
Agradecería si alguien puede orientarme acerca de cual es el motivo por el cual da el error en el nuevo modulo y porque revienta al intentar actualizar el modulo.
Mucha gracias a todos.