1

在 Odoo V11 CE 中,我试图弄清楚如何从 hr.payslip.line 中获取 'amount' 字段,其中 'code' = "NET" 并在父 hr.payslip 的表单视图中显示该字段。

hr.payslip 通过相关字段“slip_id”与 hr.payslip.line 具有 One2many 关系。在我的情况下,每张工资单都有多条工资单行,但只有其中一行有“代码”“NET”。

这是我到目前为止的代码:

class HrPayslip(models.Model):
 _name = "hr.payslip"
 _inherit = ['hr.payslip', 'mail.thread', 'mail.activity.mixin']

 net_pay = fields.Float(string='Net Pay', compute='_get_netpay')

@api.multi
 def _get_netpay(self):
for line in self:
 line.net_pay = self.env['hr.payslip.line'].search([('code', '=', "NET")], limit = 1).amount

我认为它正在工作,但后来我意识到它没有从 hr.payslip.line 表中正确的“code = NET”行中获取“金额”值。无论我在看哪个工资单,“net_pay”值都是从同一行返回的,大致位于表格的中间。

我认为“self.env”意味着只考虑通过“slip_id”相关的记录,但似乎我不明白它的实际作用。

如何使计算字段查找具有代码“NET”且具有与父工资单的 id 匹配的 slip_id 的行?

4

0 回答 0