模型采购和模型供应商上单通过invoice_lines = fields.One2many('account.move.line', 'purchase_line_id', string="Bill Lines", readonly=True, copy=False)关联,我在遍历采购的时候我想擦用account_move_taxes =self.env['account.move.line'].search的方式查询出此时遍历的采购行的供应商税金是多少
时间: 2024-03-06 07:50:31 浏览: 115
如果您想在遍历purchase_order_lines时查询相关的供应商税金,您可以使用以下代码:
```
for order_line in purchase_order_lines:
supplier_taxes = self.env['account.move.line'].search([
('purchase_line_id', '=', order_line.id),
('move_id.move_type', '=', 'in_invoice'),
('tax_line_id', '!=', False),
('tax_line_id.tax_exigibility', '=', 'on_payment'),
('tax_line_id.tax_group_id', '=', order_line.taxes_id.id),
])
# 在这里,supplier_taxes将包含与order_line关联的供应商税金
```
在上面的代码中,我们使用search()函数来查询与order_line关联的供应商税金。我们使用了一些过滤器来限制结果:
- `('purchase_line_id', '=', order_line.id)`:限制结果只包含与当前遍历的采购行相关联的记录。
- `('move_id.move_type', '=', 'in_invoice')`:限制结果只包含账单行(而不是付款行等)。
- `('tax_line_id', '!=', False)`:限制结果只包含具有税金(而不是其他类型的行)的记录。
- `('tax_line_id.tax_exigibility', '=', 'on_payment')`:限制结果只包含在付款时需要纳税的记录。
- `('tax_line_id.tax_group_id', '=', order_line.taxes_id.id)`:限制结果只包含与当前遍历的采购行相关的税金。
请注意,上面的代码假定您已经将供应商税金配置为“按付款时纳税”。如果您将它们配置为“按发票时纳税”,则需要更改上面的代码以反映这一点。
阅读全文