我想包括的信息,具体的发货单,在其中的发票行已交付或将要交付。
是否可以从与给定"stock.picking“相关联的"account_invoice_line”字段中检索“名称”字段?
实现这一目标的最简单方法是哪一种?
此代码为sale_order_line_ids在account_invoice_line中提供了一个新字段。
class AccountInvoiceLine(models.Model):
_inherit = 'account.invoice.line'
sale_order_line_ids = fields.Many2many('sale.order.line', 'sale_order_line_invoice_rel', 'invoice_line_id', 'order_line_id', string='Sale Order Lines', readonly=True);
我希望能够获得特定account_invoice_line的stock_picking名称。
我在表中看到以下字段:
Table procurement_order
Field: sale_line_id
Field: purchase_line_id
另外:
Table stock_move
Field: picking_id
Field: procurement_id
Field: purchase_line_id
因此,我需要倒退,但获得picking_id似乎是可行的,而不是复杂的。
如何在account_invoice_line模型中实现该字段?
发布于 2018-01-06 05:29:26
这是在黑暗中有点刺痛,但你应该能够使用这个或非常类似的:
# Assuming `invoice_line_id` is an individual `account.invoice.line` record
invoice_line_id.sale_order_line_ids.mapped('procurement_id').mapped('move_ids').mapped('picking_id')
您可以在ORM文档中看到,mapped
用于获取记录或记录集的数据。当您可能有许多行并且希望为所有行收集数据时,它非常有用。
在这种情况下,上面的行将返回链接到属于该发票行的任何销售订单行的所有stock.picking
记录的浏览记录集。
注意:您可能会从这获得比您想要的更多的数据,因此您必须自己进行测试,以确认它只返回您所期望的内容。
https://stackoverflow.com/questions/48102439
复制相似问题