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č

Passing Values from one Function as Domain (manufacturing and BOMS)

Naroči se

Get notified when there's activity on this post

This question has been flagged
manufacturingdomainbombom_lines
2 Odgovori
6148 Prikazi
Avatar
Cody Kinzett

I am trying to limit the BOMs that appear in a list based on products in a certain location, i have one function that executes sql to pull values from  the Bom and Bom_line tables to create a dictionary of related values. Then I compare this list with products in a location called WIP. and from that get a list of BOMs that should be available since their parts are available in the production environment. 

I have all of the code written my last step is to limit the BOM's that appear using a domain search for approved BOMS. my char value appears correctly. 

Code is below where enabled_boms appears as the char field correctly displaying [('id', '=', 9)]  in my app , which is correct, but appears as none.none when i print it in python. and then gives me Traceback:
Error: Expected attribute name, got (constant)


enabled_boms = fields.Char(compute='_compute_BOM_components')

print(enabled_boms)
BOM_production = fields.Many2one("mrp.bom", domain=enabled_boms)


I'm not sure how to get the returned value for enabled_boms to populate the domains section. 

my code runs if I hard code the

BOM_production = fields.Many2one('mrp.bom', domain = [('id', '=', 9)]) 


happy to share all of the code with whoever wants to take a look, just dont see value in posting it all here. 

0
Avatar
Opusti
Niyas Raphy (Walnut Software Solutions)

seems you need to return based on some field values selected ? see: https://www.youtube.com/watch?v=dq5Vtj_pwuI&t=819s

Cody Kinzett
Avtor

Thanks @niyas, i followed the video and got it working with a hard coded domain however my dynamic domain causes this error.

Error:

Traceback:

TypeError: CreateListFromArrayLike called on non-object

at http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:360:20

at Function._.each._.forEach (http://localhost:8069/web/content/555-da63a9d/web.assets_common.js:108:558)

at _.<computed> [as each] (http://localhost:8069/web/content/555-da63a9d/web.assets_common.js:165:526)

at eval_domains (http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:357:265)

at Object.pyeval [as eval] (http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:382:24)

at OdooClass.stringToArray (http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:324:845)

at Class._getDomain (http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:1504:167)

at Class._search (http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:1097:607)

at http://localhost:8069/web/content/556-d02db81/web.assets_backend.js:1089:260

at Function._.each._.forEach (http://localhost:8069/web/content/555-da63a9d/web.assets_common.js:108:558)

I assume this is a formatting related issue or the value is not being passed to it as it says non-object.. Not sure what to do i have spent hours on this problem.

Yasmine Chenafa

Did you find an answer for that ,because i have the same issue

Avatar
Alejandro Garcia
Best Answer

in v16 this fix works for me.


replacing this:

result_domain.push.apply(result_domain, domain_array_to_combine);


for this:

try {
result_domain.push.apply(result_domain, domain_array_to_combine);
} catch (err) {
if (err.message.indexOf("CreateListFromArrayLike") !== -1) {
if (typeof (domain_array_to_combine) === "string") {
domain_array_to_combine = JSON.parse(domain_array_to_combine)
result_domain.push.apply(result_domain, domain_array_to_combine);
} else {
throw err;
}
} else {
throw err;
}
}
          

in file  .../addons/web/static/src/legacy/js/core/py_utils.js

0
Avatar
Opusti
Avatar
Parikshit Vaghasiya
Best Answer

To resolve this issue, need to change in py_utils.js file.

function eval_domains(domains, evaluation_context) {
line no 164
From
result_domain.push.apply(result_domain, domain_array_to_combine);

to

result_domain.push.apply([result_domain, domain_array_to_combine]);   (apply args in array)


need to override eval_domains method and change code.



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

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

Prijavi
Related Posts Odgovori Prikazi Aktivnost
Bom and loss rate
manufacturing product bom bom_lines
Avatar
0
feb. 20
4659
[11.0]Specific Routes for BoM line products
manufacturing bom bom_lines 11
Avatar
0
okt. 18
3346
Creating a bill of materials with variable % or weight
manufacturing bom
Avatar
Avatar
1
okt. 25
964
Multi layered BOMs Solved
manufacturing bom
Avatar
Avatar
Avatar
2
avg. 25
1589
Manufacturing Validation Error - Quantity or Reserved Quantity should be set Solved
manufacturing bom
Avatar
Avatar
Avatar
2
avg. 24
5254
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