Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openerp 从Odoo中的自动操作确认采购订单_Openerp - Fatal编程技术网

Openerp 从Odoo中的自动操作确认采购订单

Openerp 从Odoo中的自动操作确认采购订单,openerp,Openerp,我在Odoo中创建了一个自动操作,当采购订单从state=draft更新为state=sent时触发该操作。此自动操作仅调用运行以下代码的服务器操作: record.button_confirm() 我的想法是,在RFQ发送给供应商后,我尝试自动确认采购订单 发送RFQ后,采购订单按预期确认。但是,采购订单上的供应商也会收到系统发出的与创建的领料相关的通知。它会这样说: “此传输已从以下位置创建:PO00007” 如果我禁用自动操作,而是通过单击采购订单表单上的“确认订单”按钮手动确认采购订单

我在Odoo中创建了一个自动操作,当采购订单从
state=draft
更新为
state=sent
时触发该操作。此自动操作仅调用运行以下代码的服务器操作:

record.button_confirm()
我的想法是,在RFQ发送给供应商后,我尝试自动确认采购订单

发送RFQ后,采购订单按预期确认。但是,采购订单上的供应商也会收到系统发出的与创建的领料相关的通知。它会这样说:

“此传输已从以下位置创建:PO00007”

如果我禁用自动操作,而是通过单击采购订单表单上的“确认订单”按钮手动确认采购订单,则订单将被批准,将创建领料,并且不会发送此通知

我希望我的自动批准模拟手动批准。也就是说,我不希望发送此通知

搜索源代码后,我能够通过在服务器操作中传递上下文键来实现我想要的:

record.with_context(message_create_from_mail_mail=True).button_confirm()
我在源代码中找到了这个解决方案:

然而,我不明白为什么这是必要的,或者这是否是解决这个问题的正确方法。我真的不知道这是什么意思。我只知道它是有效的。我看不到手动“button\u confirm”方法在任何地方传递这个上下文键

在这里,有谁能提供一些指导,说明为什么我只是从服务器操作中运行
按钮\u confirm()
而不是通过UI中的按钮手动触发时,会发送此通知电子邮件?另外,我的解决方案是正确的还是有一些我不知道的副作用