Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

Openerp事务管理插入数据后,引发一个异常会自动回滚数据



  • 症状:插入数据后,查询数据库不显示,断点模式进行的调试,通常来说,认为插入数据后能够通过数据库管理工具直接看到。在某些特定情况下,插入数据永远不可能被查询到,例如插入数据后,引发一个异常,会发生什么呢?数据自动回滚掉!!!下面是测试代码,有兴趣的朋友可以看看(把这个方法加到oe对象中通过view中的按钮可以调用)。

    def test_func(self, cr, uid, ids, context=None):
            payslip_input_do = self.pool.get('hr.payslip.input')
            input_vals={}
            input_vals["payslip_id"]=5
            input_vals["code"]="GRXS_WCJE"
            input_vals["name"]="个人销售完成金额"
            input_vals["amount"]=299.58
            input_vals["contract_id"]=1
            input_vals["sequence"]=101
            ret=payslip_input_do.create(cr,uid,input_vals)
            raise osv.except_osv(_('Error!'), _('Wrong python code defined for salary rule %s (%s).')% ('自定义的报错信息','自定义的报错代码'))       
            return True



  • 症状:插入数据后,查询数据库不显示,断点模式进行的调试,通常来说,认为插入数据后能够通过数据库管理工具直接看到。在某些特定情况下,插入数据永远不可能被查询到,例如插入数据后,引发一个异常,会发生什么呢?数据自动回滚掉!!!下面是测试代码,有兴趣的朋友可以看看(把这个方法加到oe对象中通过view中的按钮可以调用)。

    def test_func(self, cr, uid, ids, context=None):
            payslip_input_do = self.pool.get('hr.payslip.input')
            input_vals={}
            input_vals["payslip_id"]=5
            input_vals["code"]="GRXS_WCJE"
            input_vals["name"]="个人销售完成金额"
            input_vals["amount"]=299.58
            input_vals["contract_id"]=1
            input_vals["sequence"]=101
            ret=payslip_input_do.create(cr,uid,input_vals)
            raise osv.except_osv(_('Error!'), _('Wrong python code defined for salary rule %s (%s).')% ('自定义的报错信息','自定义的报错代码'))       
            return True



  • 不知道你想说明什么问题


    我觉得 事务 应该就是这样处理吧


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待