od中的重复记录问题

2024-09-24 22:17:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在销售订单行和发票行中添加了新的自定义字段,然后重写了一个名为action_invoice_create()的方法,该方法在用户单击按钮时触发。在

我试图从这个方法得到的输出是这样的:

order_line SR
order_line ZRE
invoice_line SR
invoice_line ZRE

但目前我得到的输出显示重复的记录:

^{pr2}$

所以我需要一个帮助来修正for循环以获得正确的输出。在

^{3}$

数据格式:

{'order_line': [(0, 0, {'state': 'draft', 'x_qty': 0.0, 'x_partner': False, 'x_price_unit': 0.0, 'x_onhand': 0.0, 'x_reverse': 0.0, 'x_reference': False, 'x_stock_partner': False, 'x_vat_code_id': 51})]}

Tags: 方法用户订单falsepartnercreate记录line
1条回答
网友
1楼 · 发布于 2024-09-24 22:17:04

你可以直接取消循环的循环记录发票编号像这样检查它是否正常工作。在

class SalesOrder(models.Model):
_inherit = 'sale.order'
_description = 'Move VAT Code'

@api.multi
def action_invoice_create(self, grouped=False, final=False):
    res = super(SalesOrder, self).action_invoice_create()
    for record in self:
        for rec in record.order_line:
          print('order_line %s' % rec.x_vat_code_id.name)
        for invoice in record.invoice_ids:
          for invoice_line in invoice.invoice_line_ids:
              invoice_line['vat_code_id'] = rec.x_vat_code_id.id
              print('invoice_line %s' % rec.x_vat_code_id.name)

    return res

相关问题 更多 >