Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

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

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

[ODOO 10] "Unknown field in domain" error when inheriting a view to add sub-fields

Subscribe

Get notified when there's activity on this post

This question has been flagged
viewsfieldsinheritanceone2many
1 Reply
8068 Views
Avatar
Maxime MARAIS

Hi,

I created a new class inheriting stock.pack.operation. This class adds a One2many field named carrier_pack and an Integer field named carrier_pack_count. The field carrier_pack_count is a computed value, returning the number of objects in the field carrier_pack. The class is well installed and I can find both fields with the developer tools via the Technical>Database>Models menu.

I also try to display an icon in the list of operations of a stock.picking view. I created a new ir.ui.view <record> inheriting stock.view_picking_form. This form targets "//form/sheet/notebook/page/field[@name='pack_operation_product_ids']/tree" and adds some code as follows:

<field name="arch" type="xml">    <xpath expr="//form/sheet/notebook/page/field[@name='pack_operation_product_ids']/tree" position="inside">        <button type="object" name="show_pack" string="Pack expedited" icon="fa-truck" attrs="{'invisible': [('carrier_pack_count', '!=', 0)]}"/>    </xpath></field>

given the //form/sheet/notebook/page/field[@name='pack_operation_product_ids']/tree is :

<field name="pack_operation_product_ids" options="{'reload_on_button': True}" context="{'default_picking_id': id, 'default_location_id': location_id, 'default_location_dest_id': location_dest_id}" mode="tree,kanban">    <tree editable="bottom" decoration-muted="result_package_id" decoration-danger="qty_done&gt;product_qty" decoration-success="qty_done==product_qty and state!='done' and not result_package_id">        <field name="package_id" groups="stock.group_tracking_lot" invisible="1"/>        <field name="product_id" required="1" attrs="{'readonly': [('fresh_record', '=', False)]}"/>        <field name="fresh_record" invisible="1"/>        <field name="product_uom_id" attrs="{'readonly': [('fresh_record', '=', False)]}" groups="product.group_uom"/>        <field name="lots_visible" invisible="1"/>        <!-- [...] -->        <button name="split_lot" string="Lot Split" type="object" icon="fa-list" groups="stock.group_production_lot"            attrs="{'invisible': ['|', ('lots_visible', '=', False), ('state', 'not in', ['confirmed', 'assigned', 'waiting', 'partially_available','done'])]}"/>        <button name="show_details" string="Modify" type="object" icon="fa-pencil" groups="stock.group_stock_multi_locations"            states="confirmed,assigned,waiting,partially_available"/>    </tree><!-- [...] --></field>

adding my new button results in having the following code:

<!-- [...] -->        <button name="split_lot" string="Lot Split" type="object" icon="fa-list" groups="stock.group_production_lot"            attrs="{'invisible': ['|', ('lots_visible', '=', False), ('state', 'not in', ['confirmed', 'assigned', 'waiting', 'partially_available','done'])]}"/>        <button name="show_details" string="Modify" type="object" icon="fa-pencil" groups="stock.group_stock_multi_locations"            states="confirmed,assigned,waiting,partially_available"/>

<button type="object" name="show_pack" string="Pack expedited" icon="fa-truck" attrs="{'invisible': [('carrier_pack_count', '!=', 0)]}"/> </tree>

<!-- [...] -->

Fields like lots_visible or state used in attrs are well considered as belonging to one of the current pack_operation_product_ids parent field as expected. But the carrier_pack_count used in attrs="{'invisible': [('carrier_pack_count', '!=', 0)]}" defined in my inheriting view IS NOT.

Odoo displays the following error message :

Unknown field carrier_pack_count in domain [["carrier_pack_count","!=",0]]

Do I miss something? Is this a bug? How to fix this issue?

Thanks.


0
Avatar
Discard
Avatar
Krimi Shah
Best Answer

Hi Maxime Marais,

I think you need first give the field carrier_pack_count in view with which the domain can work properly.
Or else, please post the whole code so we can figure out properly.

Regards,

Krimi

1
Avatar
Discard
Maxime MARAIS
Author

Hi Krimi.

carrier_pack_count is expected to be in the view. The field carrier_pack_count is added by my add-on, inheriting from stock.pack.operation model. I'm sure it is, I can see browsing the models with the developer tools.

The parent view is composed like this :

<FIELD name="pack_operation_product_ids" options="{'reload_on_button': True}" context="{'default_picking_id': id, 'default_location_id': location_id, 'default_location_dest_id': location_dest_id}" mode="tree,kanban">

<TREE editable="bottom" decoration-muted="result_package_id" decoration-danger="qty_done&gt;product_qty" decoration-success="qty_done==product_qty and state!='done' and not result_package_id">

<FIELD name="package_id" groups="stock.group_tracking_lot" invisible="1"/>

<FIELD name="product_id" required="1" attrs="{'readonly': [('fresh_record', '=', False)]}"/>

<!-- [...] -->

</TREE>

<!-- [...] -->

</FIELD>

I simply add a new button in the tree above.

Looping on pack_operation_product_ids, the tree in it is in the stock.pack.operation domain (the class stock.picking defines pack_operation_product_ids as a One2many fields pointing to stock.pack.operation, the view loops on each stock.pack.operation referenced by stock.picking).

Fields named package_id, product_id, etc. are properties of stock.pack.operation, as well as my carrier_pack_count defined in my model expending stock.pack.operation.

I cannot figure out why Odoo displays carrier_pack_count as being part of stock.pack.operation model (as well as package_id, product_id, etc.) but cannot access it when displaying the view.

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

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

Sign up
Related Posts Replies Views Activity
Help with XPath and View Inheritance Solved
views fields inheritance xpath
Avatar
Avatar
Avatar
Avatar
4
Aug 21
70209
How to add a field on an existing tab? Solved
views fields inheritance tabs
Avatar
Avatar
2
Mar 15
8229
How to access to fields from other object ? Solved
views fields one2many relation
Avatar
Avatar
1
Mar 15
9149
View inheritance hiding a field
views inheritance
Avatar
Avatar
1
Nov 24
2613
Change the Position of field in Xpath Solved
views inheritance
Avatar
Avatar
Avatar
Avatar
Avatar
5
Jul 24
95884
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة 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