I got the error below when trying to install Subcontracting module in my Odoo 14 (Community Edition) production database.
Error:
Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files\Odoo 14.0.20220429\server\odoo\tools\convert\.py",\ line\ 677,\ in\ _tag_root
\ \ \ \ f\(rec\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 330,\ in\ _tag_function
\ \ \ \ _eval_xml\(self,\ rec,\ env\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 201,\ in\ _eval_xml
\ \ \ \ return\ odoo\.api\.call_kw\(model,\ method_name,\ args,\ kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\api\.py",\ line\ 395,\ in\ call_kw
\ \ \ \ result\ =\ _call_kw_model\(method,\ model,\ args,\ kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\api\.py",\ line\ 368,\ in\ _call_kw_model
\ \ \ \ result\ =\ method\(recs,\ \*args,\ \*\*kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\mrp_subcontracting\models\res_company\.py",\ line\ 16,\ in\ create_missing_subcontracting_location
\ \ \ \ company_without_subcontracting_loc\._create_subcontracting_location\(\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\mrp_subcontracting\models\res_company\.py",\ line\ 28,\ in\ _create_subcontracting_location
\ \ \ \ 'location_id':\ parent_location\.id,
AttributeError:\ 'NoneType'\ object\ has\ no\ attribute\ 'id'
The\ above\ exception\ was\ the\ direct\ cause\ of\ the\ following\ exception:
Traceback\ \(most\ recent\ call\ last\):
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\base\models\ir_http\.py",\ line\ 237,\ in\ _dispatch
\ \ \ \ result\ =\ request\.dispatch\(\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 685,\ in\ dispatch
\ \ \ \ result\ =\ self\._call_function\(\*\*self\.params\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 361,\ in\ _call_function
\ \ \ \ return\ checked_call\(self\.db,\ \*args,\ \*\*kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\service\model\.py",\ line\ 94,\ in\ wrapper
\ \ \ \ return\ f\(dbname,\ \*args,\ \*\*kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 349,\ in\ checked_call
\ \ \ \ result\ =\ self\.endpoint\(\*a,\ \*\*kw\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 914,\ in\ __call__
\ \ \ \ return\ self\.method\(\*args,\ \*\*kw\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 533,\ in\ response_wrap
\ \ \ \ response\ =\ f\(\*args,\ \*\*kw\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\web\controllers\main\.py",\ line\ 1398,\ in\ call_button
\ \ \ \ action\ =\ self\._call_kw\(model,\ method,\ args,\ kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\web\controllers\main\.py",\ line\ 1386,\ in\ _call_kw
\ \ \ \ return\ call_kw\(request\.env\[model\],\ method,\ args,\ kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\api\.py",\ line\ 399,\ in\ call_kw
\ \ \ \ result\ =\ _call_kw_multi\(method,\ model,\ args,\ kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\api\.py",\ line\ 386,\ in\ _call_kw_multi
\ \ \ \ result\ =\ method\(recs,\ \*args,\ \*\*kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\base\models\res_config\.py",\ line\ 642,\ in\ execute
\ \ \ \ installation_status\ =\ self\._install_modules\(to_install\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\base\models\res_config\.py",\ line\ 36,\ in\ _install_modules
\ \ \ \ result\ =\ to_install_modules\.button_immediate_install\(\)
\ \ File\ "",\ line\ 2,\ in\ button_immediate_install
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\base\models\ir_module\.py",\ line\ 74,\ in\ check_and_log
\ \ \ \ return\ method\(self,\ \*args,\ \*\*kwargs\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\base\models\ir_module\.py",\ line\ 475,\ in\ button_immediate_install
\ \ \ \ return\ self\._button_immediate_function\(type\(self\)\.button_install\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\addons\base\models\ir_module\.py",\ line\ 593,\ in\ _button_immediate_function
\ \ \ \ modules\.registry\.Registry\.new\(self\._cr\.dbname,\ update_module=True\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\modules\registry\.py",\ line\ 89,\ in\ new
\ \ \ \ odoo\.modules\.load_modules\(registry\._db,\ force_demo,\ status,\ update_module\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\modules\loading\.py",\ line\ 461,\ in\ load_modules
\ \ \ \ loaded_modules,\ update_module,\ models_to_check\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\modules\loading\.py",\ line\ 349,\ in\ load_marked_modules
\ \ \ \ perform_checks=perform_checks,\ models_to_check=models_to_check
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\modules\loading\.py",\ line\ 222,\ in\ load_module_graph
\ \ \ \ load_data\(cr,\ idref,\ mode,\ kind='data',\ package=package\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\modules\loading\.py",\ line\ 69,\ in\ load_data
\ \ \ \ tools\.convert_file\(cr,\ package\.name,\ filename,\ idref,\ mode,\ noupdate,\ kind\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 733,\ in\ convert_file
\ \ \ \ convert_xml_import\(cr,\ module,\ fp,\ idref,\ mode,\ noupdate\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 799,\ in\ convert_xml_import
\ \ \ \ obj\.parse\(doc\.getroot\(\)\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 719,\ in\ parse
\ \ \ \ self\._tag_root\(de\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 677,\ in\ _tag_root
\ \ \ \ f\(rec\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\tools\convert\.py",\ line\ 685,\ in\ _tag_root
\ \ \ \ \)\)\ from\ e
Exception
The\ above\ exception\ was\ the\ direct\ cause\ of\ the\ following\ exception:
Traceback\ \(most\ recent\ call\ last\):
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 641,\ in\ _handle_exception
\ \ \ \ return\ super\(JsonRequest,\ self\)\._handle_exception\(exception\)
\ \ File\ "C:\Program\ Files\Odoo\ 14\.0\.20220429\server\odoo\http\.py",\ line\ 317,\ in\ _handle_exception
\ \ \ \ raise\ exception\.with_traceback\(None\)\ from\ new_cause
odoo.tools.convert.ParseError: while parsing file:/c:/program%20files/odoo%2014.0.20220429/server/odoo/addons/mrp_subcontracting/data/mrp_subcontracting_data.xml:9, near
Please advise how to fix the error.
Thank you.
Regards,
HW