Luis,
Tienes que regresar lo mismo que regresaría la original.
Y si llegara a entrar al raise te darás cuenta, que ya no frena todo lo que estaba haciendo la función, y hace rollback de lo demás.
Mira, aquí te mando un cambio de lógica de esto que te comento.
119 + def action_move_create(self, cr, uid, ids, context=None):
120 + invoice_line_obj=self.pool.get('account.invoice.line')
121 + account_obj=self.pool.get('account.account')
122 + lines = invoice_line_obj.search(cr,uid,[('invoice_id','=',ids)])
123 + ban=0
124 + for line in lines:
125 + id_account=invoice_line_obj.browse(cr,uid,line).account_id.id
126 + type_line=account_obj.browse(cr,uid,id_account).type
127 + if type_line == 'receivable' or type_line == 'payable':
132 + raise osv.except_osv(_('Error'), _("Type of account in line's most be differt to
133 + return super(account_invoice, self).action_move_create(cr, uid, ids)
Luis,
Tienes que regresar lo mismo que regresaría la original.
Y si llegara a entrar al raise te darás cuenta, que ya no frena todo lo que estaba haciendo la función, y hace rollback de lo demás.
Mira, aquí te mando un cambio de lógica de esto que te comento.
119 + def action_ move_create( self, cr, uid, ids, context=None): line_obj= self.pool. get('account. invoice. line') obj=self. pool.get( 'account. account' ) line_obj. search( cr,uid, [('invoice_ id','=' ,ids)]) invoice_ line_obj. browse( cr,uid, line).account_ id.id account_ obj.browse( cr,uid, id_account) .type osv(_(' Error') , _("Type of account in line's most be differt to invoice, self).action_ move_create( cr, uid, ids)
120 + invoice_
121 + account_
122 + lines = invoice_
123 + ban=0
124 + for line in lines:
125 + id_account=
126 + type_line=
127 + if type_line == 'receivable' or type_line == 'payable':
132 + raise osv.except_
133 + return super(account_