Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Odoo 12-TypeError:create()缺少1个必需的位置参数:“VAL”_Odoo_Odoo 10_Odoo 11_Odoo 12 - Fatal编程技术网

Odoo 12-TypeError:create()缺少1个必需的位置参数:“VAL”

Odoo 12-TypeError:create()缺少1个必需的位置参数:“VAL”,odoo,odoo-10,odoo-11,odoo-12,Odoo,Odoo 10,Odoo 11,Odoo 12,我试图在CRM模块中为字段创建和修改新记录时获取邮件,因此我定义了此函数,有人可以帮助我解决此问题 在py文件中: @api.multi def write(self, vals): if 'lead_status' in vals and self.ids: for rec in self: template = self.env.ref('crm_extended.crm_lead_mail_template') tem

我试图在CRM模块中为字段创建和修改新记录时获取邮件,因此我定义了此函数,有人可以帮助我解决此问题

在py文件中:

@api.multi
def write(self, vals):
    if 'lead_status' in vals and self.ids:
        for rec in self:
            template = self.env.ref('crm_extended.crm_lead_mail_template')
            template.send_mail(rec.id, force_send=True)          
    return super(crm_extended, self).write(vals)

@api.model
def create(self, vals):
    rec = super(crm_extended, self).create(vals)
    if 'opportunity_id' in vals:
        template = self.env.ref('crm_extended.create_crm_lead_mail_template')
        for rec in self:
            template.send_mail (rec.id, force_send=True) 
    return rec

@api.multi
def create(self, vals):
    res = super(crm_extended,self).create(vals)
    if res and res.customer_name:
        template = self.env.ref ('crm_extended.create_crm_lead_mail_template')
        template.send_mail (res.id, force_send = True)          
    return res
当改变状态或给保存,奥多弹出我一个错误如下

Error:
Odoo Server Error

Traceback (most recent call last):
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 656, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 314, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/odoo/odoo-12.0/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 698, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 346, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/odoo-12.0/odoo/service/model.py", line 98, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 941, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/odoo-12.0/odoo/http.py", line 519, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/odoo-12.0/addons/web/controllers/main.py", line 962, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/opt/odoo/odoo-12.0/addons/web/controllers/main.py", line 954, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo/odoo-12.0/odoo/api.py", line 759, in call_kw
    return _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo/odoo-12.0/odoo/api.py", line 746, in _call_kw_multi
    result = method(recs, *args, **kwargs)
TypeError: create() missing 1 required positional argument: 'vals'

我不知道怎么了。当我复制并保存一条旧记录时,它成功了。

您犯了一个错误:您不能使用@api.multi来创建odoo的方法


你必须使用@api.model

stll我没有收到邮件,兄弟,我已经给出了90天的日期,如果没有出现任何错误,仍然没有收到邮件,这意味着你有错误的发送邮件服务器配置或编码错误。我建议您使用pdbpython调试器调试代码并逐行检查,这样您就可以彻底检查。