繁体   English   中英

如何在销售 .order.line 中为 Odoo10 传递向导字段 ID

[英]How to pass wizard fields ids in sale .order.line for Odoo10

我继承了sale.order.line并添加了一个向导( sale.pack.wizard ),可以通过sale.order表单的按钮sale.order 此外,我在向导中有一个现场testOne2many类型)。 现在,我想在sale.order.line模型的方法中获取test字段 ID。 那么,我该怎么做呢?

class SaleOrderLine(models.Model):
    _inherit = "sale.order.line"

    @api.depends('product_uom_qty', 'discount', 'price_unit', 'tax_id', 'product_id','price_subtotal')
    def _compute_amount(self):
        active_id = self.env.context.get('active_ids', []) or []
        new = self.env['sale.pack.wizard'].browse(active_id)
        #Here i want to show 'test' field id from wizard

class SalePackWizard(models.TransientModel):
    _name = "sale.pack.wizard"
    _description = "Sale Pack Wizard"

    product_id = fields.Many2one('product.product', string="Product Pack", required=True, domain="[('is_pack','=',True)]")
    test = fields.One2many('product.gold','service',string="Pack Products",change_default=True, default=_onchange_action_product_add )

你不能以那种方式达到你的目的。 您必须考虑到 Odoo 中有一个计划操作( AutoVacuum osv_memory 对象),它每 30 分钟(默认情况下)删除每个瞬态模型记录。 这意味着,如果您能够获得向导测试字段值,即使如此,它也只会在第一次打开向导后 30 分钟内返回任何值。

因此,在您的情况下,我要做的是在sale.order.line模型中创建一个新字段,用于存储您需要的向导信息。 然后,我将在向导中创建一个按钮,当您单击此按钮时,执行一个方法,该方法将您需要的信息填充到新的sale.order.line字段中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM