在odoo合作伙伴视图中获取最后订购日期客户

时间:2018-04-10 08:29:11

标签: python odoo odoo-10

如何在我的odoo合作伙伴视图中获取最后确认的销售订单日期 例如

客户J.上次购买:10/03/2018 / 50天前 是否有一个模块用于此或如何创建一个只能访问odoo GUI&的计算字段?开发者模式。

我试过了:

lines = self.env['sale.order'].sorted(
  [('partner_id', '=', company_id),
  key=lambda l: l.date_order, reverse=True)
  self.x_last_order = lines[:1].date_order

所以我将我的compted字段调整为: enter image description here

但我不会得到结果或错误。

1 个答案:

答案 0 :(得分:5)

您可以使用order方法的limitsearch参数:

last_confirmed_order = self.env['sale.order'].search(
    [('partner_id', '=', company_id)],
    order='date_order desc',
    limit=1
)

修改

如果您使用界面创建计算字段,可能是您的问题:

  

字段 Compute 是用于计算字段值的Python代码   在一组记录上。必须为每个字段分配字段的值   记录类字典分配

让我们试试这个:

for record in self:
    last_confirmed_order = self.env['sale.order'].search(
        [('partner_id', '=', record.company_id)],
        order='date_order desc',
        limit=1
    )
    record['x_last_order'] = last_confirmed_order.date_order

但我必须说搜索的域名看起来不太好,我的意思是,为什么要将合作伙伴的ID与公司的ID进行比较?