Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Odobritve
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Estate Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

Error in odoo17

Naroči se

Get notified when there's activity on this post

This question has been flagged
4 Odgovori
10450 Prikazi
Avatar
Cruz
I want immediate help to solve it.

Traceback (most recent call last): File "/opt/odoo17/odoo/odoo/tools/cache.py", line 99, in lookup r = d[key] File "", line 2, in __getitem__ File "/opt/odoo17/odoo/odoo/tools/func.py", line 87, in locked return func(inst, *args, **kwargs) File "/opt/odoo17/odoo/odoo/tools/lru.py", line 34, in __getitem__ a = self.d[obj] KeyError: ('ir.model.data', , 'gb_custom_hr.action_report_employment') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/odoo17/odoo/odoo/tools/convert.py", line 556, in _tag_root f(rec) File "/opt/odoo17/odoo/odoo/tools/convert.py", line 312, in _tag_menuitem act = self.env.ref(a_action).sudo() File "/opt/odoo17/odoo/odoo/api.py", line 572, in ref res_model, res_id = self['ir.model.data']._xmlid_to_res_model_res_id( File "/opt/odoo17/odoo/odoo/addons/base/models/ir_model.py", line 2182, in _xmlid_to_res_model_res_id return self._xmlid_lookup(xmlid) File "", line 2, in _xmlid_lookup File "/opt/odoo17/odoo/odoo/tools/cache.py", line 104, in lookup value = d[key] = self.method(*args, **kwargs) File "/opt/odoo17/odoo/odoo/addons/base/models/ir_model.py", line 2175, in _xmlid_lookup raise ValueError('External ID not found in the system: %s' % xmlid) ValueError: External ID not found in the system: gb_custom_hr.action_report_employment The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/odoo17/odoo/odoo/http.py", line 1722, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/opt/odoo17/odoo/odoo/service/model.py", line 133, in retrying result = func() File "/opt/odoo17/odoo/odoo/http.py", line 1749, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/opt/odoo17/odoo/odoo/http.py", line 1953, in dispatch result = self.request.registry['ir.http']._dispatch(endpoint) File "/opt/odoo17/odoo/addons/website/models/ir_http.py", line 235, in _dispatch response = super()._dispatch(endpoint) File "/opt/odoo17/odoo/odoo/addons/base/models/ir_http.py", line 222, in _dispatch result = endpoint(**request.params) File "/opt/odoo17/odoo/odoo/http.py", line 722, in route_wrapper result = endpoint(self, *args, **params_ok) File "/opt/odoo17/odoo/addons/web/controllers/dataset.py", line 28, in call_button action = self._call_kw(model, method, args, kwargs) File "/opt/odoo17/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/opt/odoo17/odoo/odoo/api.py", line 466, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/opt/odoo17/odoo/odoo/api.py", line 453, in _call_kw_multi result = method(recs, *args, **kwargs) File "", line 2, in button_immediate_upgrade File "/opt/odoo17/odoo/odoo/addons/base/models/ir_module.py", line 75, in check_and_log return method(self, *args, **kwargs) File "/opt/odoo17/odoo/odoo/addons/base/models/ir_module.py", line 650, in button_immediate_upgrade return self._button_immediate_function(type(self).button_upgrade) File "/opt/odoo17/odoo/odoo/addons/base/models/ir_module.py", line 583, in _button_immediate_function registry = modules.registry.Registry.new(self._cr.dbname, update_module=True) File "", line 2, in new File "/opt/odoo17/odoo/odoo/tools/func.py", line 87, in locked return func(inst, *args, **kwargs) File "/opt/odoo17/odoo/odoo/modules/registry.py", line 113, in new odoo.modules.load_modules(registry, force_demo, status, update_module) File "/opt/odoo17/odoo/odoo/modules/loading.py", line 476, in load_modules processed_modules += load_marked_modules(env, graph, File "/opt/odoo17/odoo/odoo/modules/loading.py", line 364, in load_marked_modules loaded, processed = load_module_graph( File "/opt/odoo17/odoo/odoo/modules/loading.py", line 227, in load_module_graph load_data(env, idref, mode, kind='data', package=package) File "/opt/odoo17/odoo/odoo/modules/loading.py", line 71, in load_data tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind) File "/opt/odoo17/odoo/odoo/tools/convert.py", line 627, in convert_file convert_xml_import(env, module, fp, idref, mode, noupdate) File "/opt/odoo17/odoo/odoo/tools/convert.py", line 693, in convert_xml_import obj.parse(doc.getroot()) File "/opt/odoo17/odoo/odoo/tools/convert.py", line 613, in parse self._tag_root(de) File "/opt/odoo17/odoo/odoo/tools/convert.py", line 556, in _tag_root f(rec) File "/opt/odoo17/odoo/odoo/tools/convert.py", line 569, in _tag_root raise ParseError('while parsing %s:%s, somewhere inside\n%s' % ( odoo.tools.convert.ParseError: while parsing /opt/odoo17/odoo/addons/gb_custom_hr/views/menu.xml:5, somewhere inside

i was adding the wizard in employee module using my custom module. Now, i got stuck with this error. Anyone please helps me out.

0
Avatar
Opusti
Avatar
Lex
Best Answer

Hello,

Unfortunately, I cannot directly access and check your Odoo code. 

However, I can guide you on how to verify the order of declarations in the manifest file and ensure the menu view is placed last.

Look for the following declarations in the manifest file:

  • 'qweb': [ ... ], (Defines QWeb views)
  • 'actions': [ ... ], (Defines actions)
  • 'menu': [ ... ], (Defines menu items)

Hope it helps

 



1
Avatar
Opusti
Cruz
Avtor

Is it necessary to have these 3 declarations in __manifest__.py file.

Cruz
Avtor

'data':[
'security/ir.model.access.csv',
'views/hr_employee_views.xml',
'views/hr_employee_history_views.xml',
'views/hr_employee_report_views.xml',
'report/ir_actions_report.xml',
'report/employee_report.xml',
'wizard/employee_details_report_view.xml',
'views/menu.xml',
],
Is this correct

Cruz
Avtor

It's get resolved, after the data in __manifest__.py get changed as above.

But new error is formed:
Traceback (most recent call last):
File "/opt/odoo17/odoo/odoo/http.py", line 1722, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/opt/odoo17/odoo/odoo/service/model.py", line 133, in retrying
result = func()
File "/opt/odoo17/odoo/odoo/http.py", line 1749, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/opt/odoo17/odoo/odoo/http.py", line 1953, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/opt/odoo17/odoo/addons/website/models/ir_http.py", line 235, in _dispatch
response = super()._dispatch(endpoint)
File "/opt/odoo17/odoo/odoo/addons/base/models/ir_http.py", line 222, in _dispatch
result = endpoint(**request.params)
File "/opt/odoo17/odoo/odoo/http.py", line 722, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/opt/odoo17/odoo/addons/web/controllers/dataset.py", line 28, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/opt/odoo17/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo17/odoo/odoo/api.py", line 466, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/opt/odoo17/odoo/odoo/api.py", line 453, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-83>", line 2, in button_immediate_upgrade
File "/opt/odoo17/odoo/odoo/addons/base/models/ir_module.py", line 75, in check_and_log
return method(self, *args, **kwargs)
File "/opt/odoo17/odoo/odoo/addons/base/models/ir_module.py", line 650, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/opt/odoo17/odoo/odoo/addons/base/models/ir_module.py", line 583, in _button_immediate_function
registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "<decorator-gen-16>", line 2, in new
File "/opt/odoo17/odoo/odoo/tools/func.py", line 87, in locked
return func(inst, *args, **kwargs)
File "/opt/odoo17/odoo/odoo/modules/registry.py", line 113, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/opt/odoo17/odoo/odoo/modules/loading.py", line 476, in load_modules
processed_modules += load_marked_modules(env, graph,
File "/opt/odoo17/odoo/odoo/modules/loading.py", line 364, in load_marked_modules
loaded, processed = load_module_graph(
File "/opt/odoo17/odoo/odoo/modules/loading.py", line 227, in load_module_graph
load_data(env, idref, mode, kind='data', package=package)
File "/opt/odoo17/odoo/odoo/modules/loading.py", line 71, in load_data
tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind)
File "/opt/odoo17/odoo/odoo/tools/convert.py", line 627, in convert_file
convert_xml_import(env, module, fp, idref, mode, noupdate)
File "/opt/odoo17/odoo/odoo/tools/convert.py", line 693, in convert_xml_import
obj.parse(doc.getroot())
File "/opt/odoo17/odoo/odoo/tools/convert.py", line 613, in parse
self._tag_root(de)
File "/opt/odoo17/odoo/odoo/tools/convert.py", line 567, in _tag_root
raise ParseError(msg) from None # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback
odoo.tools.convert.ParseError: while parsing /opt/odoo17/odoo/addons/gb_custom_hr/wizard/employee_details_report_view.xml:3
Error while validating view near:

<footer>
<button name="action_print_report" type="object" string="Print" class="btn-primary"/>
<button string="Cancel" class="btn-secondary" special="cancel"/>
</footer>
</form>
action_print_report is not a valid action on employee.details.report.wizard

View error context:
{'file': '/opt/odoo17/odoo/addons/gb_custom_hr/wizard/employee_details_report_view.xml',
'line': 13,
'name': 'employee.report.wizard.form',
'view': ir.ui.view(2714,),
'view.model': 'employee.details.report.wizard',
'view.parent': ir.ui.view(),
'xmlid': 'view_report_employee_form'}

Dương Nguyễn

Probably the method 'action_print_report' is not present in the wizard python file, please check again sir

Cruz
Avtor

Yes, that was the issue. Thank you

Dương Nguyễn

wait sir, i'm the one the help you in the first place and point out the last issue, please mark my answer as best answer not this one

Avatar
Cybrosys Techno Solutions Pvt.Ltd
Best Answer

Hi,

The error message "External ID not found in the system" typically occurs when Odoo is unable to locate the specified external identifier (XML ID) in its database.

In your case, the XML ID gb_custom_hr.action_report_employment is not found in the system. This could happen for several reasons:

1)Double-check the XML ID to ensure that it is spelled correctly and matches the actual ID used in your code or configuration.

2)Verify that the XML ID is correctly defined in your code or data files. It should be defined either in a view, a menu item, an action, or any other relevant place.

3)If this XML ID is defined in a module, ensure that the module containing the XML ID is installed and properly loaded in your Odoo instance.

4)Ensure that you are referencing the XML ID within the correct scope. For example, if the XML ID belongs to a specific module, make sure you are referencing it within that module's context.

5) Make sure you have given the  XML id in the manifest before it is referenced or used in a different place.


Hope it helps

0
Avatar
Opusti
Avatar
Niyas Raphy (Walnut Software Solutions)
Best Answer

Hi,

Check for the usage of action_report_employment in your module and make sure this record will load into the db before it is referenced or used in a different place.

For example, if you have a menu linked with action, the action declaration should come first and then the menu definition

If you are new to odoo development, see:  Odoo  Development Tutorials

Thanks

0
Avatar
Opusti
Cruz
Avtor

I just added the action in wizard and menu item in views.

Niyas Raphy (Walnut Software Solutions)

does it solved?

Cruz
Avtor

No, still on it

Avatar
Dương Nguyễn
Best Answer

This error happens when you have malfunction xml file and in this case that xml file belong to the module 'gb_custom_hr' and the file name is 'menu.xml' . In order to help, i need you to provide the xml file or the whole addons 'gb_custom_hr' sir. I'll trouble shot for you.

0
Avatar
Opusti
Cruz
Avtor

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<menuitem id="menu_employee_reporter" name="Reports" parent="hr.menu_hr_root" sequence="1"/>
<menuitem id="menu_employee_reporting" name="Reports" action="action_report_employment" parent="menu_employee_reporter" sequence="1"/>
</data>
</odoo>

Cruz
Avtor

The provided code is menu.xml in views.

Dương Nguyễn

Oh i know where, the error said the xml id 'action_report_employment' has not been found anywhere inside the module 'gb_custom_hr' . Can you search the name 'action_report_employment' in the module or if you need quicik resolve, just give the module via email daiduongnguyen2709@gmail.com sir

Cruz
Avtor

This xml id 'action_report_employment' exists in my wizard

Cruz
Avtor

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_report_employee_form" model="ir.ui.view">
<field name="name">employee.report.wizard.form</field>
<field name="model">employee.details.report.wizard</field>
<field name="arch" type="xml">
<form string="Print Details">
<group>
<group>
<field name="name"/>
</group>
<group>
<field name="date_from"/>
<field name="date_to"/>
</group>
</group>
<footer>
<button name="action_print_report" type="object" string="Print" class="btn-primary"/>
<button string="Cancel" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_report_employment" model="ir.actions.act.window">
<field name="name">Employee Details</field>
<field name="type">ir.actions.act.window</field>
<field name="res_model">employee.details.report.wizard</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_report_employee_form"/>
<field name="target">new</field>
</record>
</odoo>

Dương Nguyễn

Ok good, so does it load in manifest ?
it should be something like this in your manifest:
'data': [
'wizard/your wizard xml here',
'views/menu.xml',
],
note because the action is in the wizard xml so it need to load first

Cruz
Avtor

Yes, I just added those in __manifest__.py

Dương Nguyễn

So dose it solved, try upgrade the module

Cruz
Avtor

No, still the same issue

Dương Nguyễn

You mark the wrong best answer

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now