OpenERP,创建视图过滤器时出错

时间:2014-05-23 19:55:23

标签: openerp stock

我在stock.picking对象上创建过滤器时出现问题。就在最近,我建立了一个简单的特权转发" - 在每个库存位置,您可以定义"分配用户组",这要归功于特定组中的用户可以或不可以确认移出或移出该位置。

Stock.picking:location_id - > assigned_user_group - >用户

现在我想在选股树视图上创建一个过滤器(稍后设置为默认值),该过滤器将仅显示移动哪些位置(源位置和目的地位置;我在stock.picking对象中使用它们)可以被管理由观看用户。

到目前为止,我写了一个看起来像这样的过滤器:

<record id="view_picking_internal_search_pl" model="ir.ui.view">
        <field name="model">stock.picking</field>
        <field name="inherit_id" ref="stock.view_picking_internal_search"/>
        <field name="arch" type="xml">
            <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed" position="after">
                <filter icon="terp-check" name="locgroup" string="Location Group" domain="[('user_id','in',[user.id for user in location_id.user_group.users])]" context="{'group_by':'date'}"/>
            </filter>
        </field>
    </record>

我还在字段视图中添加了字段location_id。

但我仍然得到一个错误(选择过滤器后),即使谷歌也不知道任何事情:

TypeError: results.group_by is undefined

我的问题是:

  1. 通过在过滤字段中查看域名 - 我做错了什么?

  2. 甚至可以这样吗?

  3. 我很乐意欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,我认为您的域名不正确,可能是:

[('user_group.users.id', '=', uid)]

(因为元组的第一个元素是模型上的字段; uid 是搜索视图中提供的特殊值)

接下来,出现此错误:

TypeError: results.group_by is undefined

似乎是一个Javascript错误(来自openerp-web界面),它经常会在收到意外值时抛出错误(例如,当我们定义一个视图时出错)。

您能否告诉我们,使用上述域名是否解决了您的问题?

注意:您的字段 user_group 是必填字段吗?如果没有,我认为上面的域不会显示未设置user_group的选择,如果你想显示未设置user_group的选择,你可以设置这样的域:

['|',('user_group.users.id', '=', uid), ('user_group','=',False)]

此致