如何使用onChange函数重置Odoo11中的字段? (条形码扫描)

时间:2017-12-14 07:29:57

标签: openerp odoo-10 odoo-11

我的模块中有一个条形码字段(类型:字符),它包含使用条形码扫描的产品的扫描条形码值扫描器即可。此扫描的产品将添加到 POS订单中的字段(类型:一个2多个)中。在此之后,应该清除条形码字段以获取下一个产品的条形码。 这项工作在Odoo10 但是,它在Odoo11中无效。在Odoo11中,对于onchange的工作,我们必须更改该条形码字段中的值,然后按Enter键或单击“保存”按钮并进行编辑。然后它会工作。但是,我需要在扫描后,该字段应该被清除。  我在下面给出了一段代码。等待正确的解决方案。提前致谢。 :)

class PosOrder(models.Model):
    _inherit = "pos.order"

    barcode = fields.Char('Product')

    @api.multi
    @api.onchange('barcode')
    def _onchange_barcode(self):
        for record in self:
            #my codes
            record.barcode = ""
            print ("Value in Barcode field is ",record.barcode,". Have nice time")

以上代码将在终端中打印以下行:  条形码字段中的值是。玩得开心 它将条形码字段设置为空白,但不会影响前端。我附上了截图。 enter image description here

0 个答案:

没有答案