Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
673 views
in Technique[技术] by (71.8m points)

odoo 13 - Odoo13 error on Account Invoice (Account move) partner change

could somebody please check in his system the following situation:

Create a new out invoice

Leave the partner empty for now

Create an invoice line

Select a partner

In our current Odoo 13.0-20201112 (CE), this leads to the following error as he is trying to update the partner_id on field line_ids

Odoo Server Error

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 624, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 669, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 350, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 915, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1322, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1314, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/account_move.py", line 1003, in onchange
    return super(AccountMove, self.with_context(recursive_onchanges=False)).onchange(values, field_name, field_onchange)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 6207, in onchange
    record._onchange_eval(name, field_onchange[name], result)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 5986, in _onchange_eval
    method_res = method(self)
  File "/usr/lib/python3/dist-packages/odoo/addons/sale/models/account_invoice.py", line 52, in _onchange_partner_id
    res = super(AccountMove, self)._onchange_partner_id()
  File "/usr/lib/python3/dist-packages/odoo/addons/purchase/models/account_invoice.py", line 80, in _onchange_partner_id
    res = super(AccountMove, self)._onchange_partner_id()
  File "/usr/lib/python3/dist-packages/odoo/addons/account/models/account_move.py", line 357, in _onchange_partner_id
    line.partner_id = self.partner_id.commercial_partner_id
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1081, in __set__
    self.write(new_records, value)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 2578, in write
    self._update_inverses(records, cache_value)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 2607, in _update_inverses
    valid_records = records.filtered_domain(invf.get_domain_list(corecord))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 5338, in filtered_domain
    result.append(result.pop() & result.pop())
IndexError: pop from empty list

I already set a logger in the filtered domain method and he is trying to evaluate the following domain which seems total rubbish to me

['&', ('full_reconcile_id', '=', False), '&', ('account_id.user_type_id.type', '=', 'receivable')]

which i think should be simply

['&', ('full_reconcile_id', '=', False), ('account_id.user_type_id.type', '=', 'receivable')]

I can't find, where this domain is coming from.

Can somebody confirm this error and hopefully has a solution too ?

question from:https://stackoverflow.com/questions/65918286/odoo13-error-on-account-invoice-account-move-partner-change

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...