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

Get last order date customer in odoo partner view

如何在我的 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字段调整为:

但我仍然没有得到结果或错误。

您可以使用 search 方法的 orderlimit 参数:

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

编辑

如果您使用接口创建计算字段,您的问题可能是这样的:

The field Compute is the Python code to compute the value of the field on a set of records. The value of the field must be assigned to each record with a dictionary-like assignment.

让我们试试这个:

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进行比较?