TEL:400-8793-956
当前位置:程序、服务器

如何解决在OpenErp-8的单个表单视图中显示多个计算字段的问题

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-20 15:23:41

 问:请帮助我解决错误:如何解决在OpenErp-8的单个表单视图中显示多个计算字段。

 
答:您可以将字段设置为函数类型
 
在odoo-8.0中,有compute属性可以使字段成为函数
 
例如:seat_reserved = fields.Integer(oldname ='register_current',string ='Reserved Seats',store = True,readonly = True,compute ='_ compute_seats')
 
@ api.multi
@ api.depends('seats_ max','registration_ ids.state','registration_ ids.nb_ register')
def _compute_ seats(self):
    “”“确定保留,可用,保留但未确认和使用的座位。”“”
    #将字段初始化为0
    对于自身事件:
        event.seats_未确认= event.seats_保留= event.seats_已使用= 0
    #按事件和州汇总注册
    如果self.ids:
        状态_字段= {
            'draft':'seats_ confirmed',
            'open':'seats_ reserved',
            'done':'seats_ used',
        }
        查询=“”“ SELECT事件_ id,状态,总和(nb_ register)
                    来自事件的注册
                    事件_ ID IN%s和状态IN(“草稿”,“打开”,“完成”)
                    GROUP BY event_ id,状态
                “”
        self。_ cr.execute(查询,(tuple(self.ids),))
        对于事件ID,状态,自我中的num。&cr.fetchall():
            event = self.browse(event_ id)
            event [state_ field [state]] + = num
    #个计算席位可用
    对于自身事件:
        event.seats_ available = \
            event.seats_ max-(保留的event.seats_使用的event.seats_)\
            如果event.seats_ max> 0,否则为0
您可以在event.py文件的事件模块中看到
上一篇: 在c编程中处理错误的最佳方法是什么?
下一篇: 如何解决连接到服务器的PostgresSQL错误:收到对SSL协商的无效响应