Skip to Content
Odoo Menu
  • Prisijungti
  • Išbandykite nemokamai
  • Programėlės
    Finansai
    • Apskaita
    • Pateikimas apmokėjimui
    • Sąnaudos
    • Skaičiuoklė (BI)
    • Dokumentai
    • Pasirašymas
    Pardavimai
    • CRM
    • Pardavimai
    • Kasų sistema - Parduotuvė
    • Kasų sistema - Restoranas
    • Prenumeratos
    • Nuoma
    Svetainės
    • Svetainių kūrėjimo įrankis
    • El. Prekyba
    • Internetinis Tinklaraštis
    • Forumas
    • Tiesioginis pokalbis
    • eMokymasis
    Tiekimo grandinė
    • Atsarga
    • Gamyba
    • PLM
    • Įsigijimai
    • Priežiūra
    • Kokybė
    Žmogaus ištekliai
    • Darbuotojai
    • Įdarbinimas
    • Atostogos
    • Įvertinimai
    • Rekomendacijos
    • Transporto priemonės
    Rinkodara
    • Socialinė rinkodara
    • Rinkodara el. paštu
    • SMS rinkodara
    • Renginiai
    • Rinkodaros automatizavimas
    • Apklausos
    Paslaugos
    • Projektas
    • Darbo laiko žiniaraščiai
    • Priežiūros tarnyba
    • Pagalbos tarnyba
    • Planavimas
    • Rezervacijos
    Produktyvumas
    • Diskucija
    • Artificial Intelligence
    • IoT
    • VoIP
    • Žinių biblioteka
    • WhatsApp
    Trečiųjų šalių programos Odoo Studija Odoo debesijos platforma
  • Pramonės šakos
    Mažmeninė prekyba
    • Knygynas
    • Drabužių parduotuvė
    • Baldų parduotuvė
    • Maisto prekių parduotuvė
    • Techninės įrangos parduotuvė
    • Žaislų parduotuvė
    Food & Hospitality
    • Barai ir pub'ai
    • Restoranas
    • Greitasis maistas
    • Guest House
    • Gėrimų platintojas
    • Hotel
    Nekilnojamasis turtas
    • Real Estate Agency
    • Architektūros įmonė
    • Konstrukcija
    • Property Management
    • Sodininkauti
    • Turto savininkų asociacija
    Konsultavimas
    • Accounting Firm
    • Odoo Partneris
    • Marketing Agency
    • Teisinė firma
    • Talentų paieška
    • Auditai & sertifikavimas
    Gamyba
    • Textile
    • Metal
    • Furnitures
    • Maistas
    • Brewery
    • Įmonių dovanos
    Sveikata & Fitnesas
    • Sporto klubas
    • Akinių parduotuvė
    • Fitneso Centras
    • Sveikatos praktikai
    • Vaistinė
    • Kirpėjas
    Trades
    • Handyman
    • IT įranga ir palaikymas
    • Saulės energijos sistemos
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Kiti
    • Nonprofit Organization
    • Aplinkos agentūra
    • Reklaminių stendų nuoma
    • Fotografavimas
    • Dviračių nuoma
    • Programinės įrangos perpardavėjas
    Browse all Industries
  • Bendrija
    Mokykitės
    • Mokomosios medžiagos
    • Dokumentacija
    • Sertifikatai
    • Mokymai
    • Internetinis Tinklaraštis
    • Tinklalaidės
    Skatinkite švietinimą
    • Švietimo programa
    • Scale Up! Verslo žaidimas
    • Aplankykite Odoo
    Gaukite programinę įrangą
    • Atsisiųsti
    • Palyginkite versijas
    • Leidimai
    Bendradarbiauti
    • Github
    • Forumas
    • Renginiai
    • Vertimai
    • Tapkite partneriu
    • Services for Partners
    • Registruokite jūsų apskaitos įmonę
    Gaukite paslaugas
    • Susiraskite partnerį
    • Susirask buhalterį
    • Susitikti su konsultantu
    • Diegimo paslaugos
    • Klientų rekomendavimas
    • Palaikymas
    • Atnaujinimai
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Gaukite demo
  • Kainodara
  • Pagalba
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
Pagalba

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

Prenumeruoti

Get notified when there's activity on this post

This question has been flagged
manufacturingdomainbombom_lines
2 Replies
7001 Rodiniai
Portretas
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
Portretas
Atmesti
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
Autorius

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

Portretas
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
Portretas
Atmesti
Portretas
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
Portretas
Atmesti
Enjoying the discussion? Don't just read, join in!

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

Registracija
Related Posts Replies Rodiniai Veikla
Bom and loss rate
manufacturing product bom bom_lines
Portretas
0
vas. 20
5467
[11.0]Specific Routes for BoM line products
manufacturing bom bom_lines 11
Portretas
0
spal. 18
4240
Why can a Work Order start even if BOM components are not available? Solved
manufacturing bom
Portretas
Portretas
1
vas. 26
1594
Creating a bill of materials with variable % or weight
manufacturing bom
Portretas
Portretas
1
spal. 25
2454
Multi layered BOMs Solved
manufacturing bom
Portretas
Portretas
Portretas
2
rugp. 25
3332
Bendrija
  • Mokomosios medžiagos
  • Dokumentacija
  • Forumas
Atvirasis kodas
  • Atsisiųsti
  • Github
  • Runbot
  • Vertimai
Paslaugos
  • Odoo.sh talpinimas
  • Palaikymas
  • Atnaujinti
  • Pritaikytas programavimo kūrimas
  • Švietimas
  • Susirask buhalterį
  • Susiraskite partnerį
  • Tapkite partneriu
Apie mus
  • Mūsų įmonė
  • Prekės ženklo turtas
  • Susisiekite su mumis
  • Darbo pasiūlymai
  • Renginiai
  • Tinklalaidės
  • Internetinis Tinklaraštis
  • Klientai
  • Teisinis • Privatumas
  • Saugumas
الْعَرَبيّة 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 Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo yra atvirojo kodo verslo programų rinkinys, kuris apima visas įmonės poreikius: CRM, El. Prekybą, Apskaitą, Atsargų, Kasų sistemą, Projektų valdymą ir kt.

Unikali Odoo vertės pasiūla – būti tuo pačiu metu labai lengvai naudojama ir visiškai integruota sistema.

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