Hoppa till innehåll
Odoo Meny
  • Logga in
  • Prova gratis
  • Appar
    Ekonomi
    • Bokföring
    • Faktura
    • Utgifter
    • Kalkylark (Affärsanalyser)
    • Dokument
    • Underskrifter
    Försäljning
    • CRM
    • Försäljning
    • Kassasystem Butik
    • Kassasystem Restaurang
    • Prenumerationer
    • Uthyrning
    Hemsida
    • Hemsidesverktyg
    • E-handel
    • Blogg
    • Forum
    • Livechatt
    • Utbildning
    Försörjningskedja
    • Lager
    • Produktion
    • Produktens livscykel (PLM)
    • Inköp
    • Underhåll
    • Kvalitet
    HR
    • Anställda
    • Rekrytering
    • Ledighet
    • Utvärderingar
    • Rekommendationer
    • Fordon
    Marknadsföring
    • Sociala medier
    • E-postmarknadsföring
    • Sms-marknadsföring
    • Evenemang
    • Automatiserad marknadsföring
    • Enkäter
    Tjänster
    • Projekt
    • Tidrapporter
    • Fältservice
    • Kundtjänst
    • Planering
    • Tidsbokningar
    Produktivitet
    • Diskutera
    • AI
    • IoT
    • VoIP
    • Kunskap
    • WhatsApp
    Community-appar Odoo Studio Odoo Cloud
  • Branscher
    Butiker
    • Bokaffärer
    • Klädbutiker
    • Möbelaffärer
    • Mataffärer
    • Byggvaruhus
    • Leksaksaffärer
    Restaurang & Hotell
    • Barer och pubar
    • Restauranger
    • Snabbmatsrestauranger
    • Gästhus
    • Dryckesdistributörer
    • Hotell
    Fastigheter
    • Fastighetsbyråer
    • Arkitektfirmor
    • Byggföretag
    • Fastighetsägare
    • Trädgårdsmästare
    • Bostadsrättsföreningar
    Hitta en konsult
    • Redovisningsbyrå
    • Odoo Partner
    • Reklambyråer
    • Advokatbyråer
    • Rekrytering
    • Revisioner och certifieringar
    Produktion
    • Textilproduktion
    • Metallproduktion
    • Möbelproduktion
    • Livsmedelsproduktion
    • Bryggerier
    • Företagsgåvor
    Hälsa och fitness
    • Sportklubbar
    • Optiker
    • Träningscenter
    • Friskvård
    • Apotek
    • Frisörsalonger
    Hantverk
    • Hantverkare
    • IT-utrustning och kundtjänst
    • Solceller, solpaneler och solenergi
    • Skomakare
    • Städföretag
    • VVS-tjänster
    Övrigt
    • Ideella föreningar
    • Miljöförvaltningar
    • Uthyrning av reklamtavlor
    • Fotografer
    • Cykeluthyrning
    • Återförsäljare av mjukvara
    Upptäck alla Branscher
  • Community
    Utbildning
    • Instruktionsvideor
    • Dokumentation
    • Certifiering
    • Utbildningar
    • Blogg
    • Podcast
    Lär dig med oss
    • Workshops
    • Företagsspelet Scale Up!
    • Studiebesök hos Odoo
    Mjukvaran
    • Ladda ner
    • Jämför utgåvor
    • Versionsinformation
    Samverkan
    • GitHub
    • Forum
    • Evenemang
    • Översättningar
    • Bli en partner
    • Partnertjänster
    • Registrera din redovisningsbyrå
    Våra tjänster
    • Partners
    • Revisorer
    • Träffa en rådgivare
    • Implementering
    • Kundrecensioner
    • Kundtjänst
    • Uppgraderingar
    GitHub Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Boka en demo
  • Priser
  • Hjälp
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Hjälp

Dynamic Domain Filtering help

Prenumerera

Få ett meddelande när det finns aktivitet på detta inlägg

Denna fråga har flaggats
domainerrorfilteringdynamic
3 Svar
10972 Vyer
Avatar
Erhuvwu Akpobaro

I have a many2one field which i want to have a dynamic domain filter on : 

but i want start with something basic by just passing a variable through a integer in a function:

class mm_control_zone(osv.osv):

_name = "mm.control.zone"

_rec_name = "zone_id"

_columns = {

'zone_id':fields.many2one('product.category' , 'Zone')

}

def get_domain_useer_id(self,cr,uid,ids,context=None):

lids = 20

return domain = {'product_category':[('id', '=', lids)]}


xml:

<field name="zone_id" on_change="get_domain_useer_id()"/>


So far the function doesn't work as my field is not being filtered.


is there a better way of having a dynamic filter ?

0
Avatar
Avbryt
Avatar
Zbik
Bästa svar

Try like this:

return {'domain': {'product_category':[('id', '=', lids)]}}

1
Avatar
Avbryt
Avatar
Niyas Raphy (Walnut Software Solutions)
Bästa svar

Hi,

Other than returning domain in onchange method, you can use the web domain field module from oca for the same:  Web Domain Field


See this: Return Dynamic Domain For Field In Odoo


How to use:

.. code-block:: xml

<field name="product_id_domain" invisible="1"/>
<field name="product_id" domain="product_id_domain"/>


.. code-block:: python

product_id_domain = fields.Char(
compute="_compute_product_id_domain",
readonly=True,
store=False,
)

@api.multi
@api.depends('name')
def _compute_product_id_domain(self):
for rec in self:
rec.product_id_domain = json.dumps(
[('type', '=', 'product'), ('name', 'like', rec.name)]
)

Returning domain from the onchange function: How To Give Domain For A Field Based On Another Field

Thanks

0
Avatar
Avbryt
Avatar
Erhuvwu Akpobaro
Författare Bästa svar

Hello @ zbik thanks for your help it worked , what if i want to return another selection id from another table .

so far i have tried :


def get_domain_useer_id(self,cr,uid,ids,context=None):

d_obj = self.pool.get('mm.control')

lids = d_obj.browse(cr,uid,ids, context=context)

lids2 = lids.parent_zone_id

return {'domain': {'zone_id':[('id', '=', lids2)]}}

the model which i want to get the selection from :


class mm_control(osv.osv):

_name = "mm.control"

_rec_name = "company"

_columns = {

'parent_zone_id':fields.many2one('product.category','Parent Zone', domain="[('id', 'child_of' , 3)]" , required=True , help="Parent zone "),

'company':fields.many2one('res.company' , 'Company', domain="[('company_type', '=', 'Property Company')]", required=True, select=1 ) ,

'rental_split': fields.float('Rent', help="Service charge split of total rent amount"),

'maintenance_split': fields.float('Maintenance', help="Rent split of total rent amount"),

'service_split': fields.float('Service', help="Service charge split of total rent amount"),

'mm_control_zone_id': fields.one2many('mm.control.zone' , 'zone_id','Zones' ),

 

}

how can i go about achieving this ?

0
Avatar
Avbryt
Njuter du av diskussionen? Läs inte bara, delta också!

Skapa ett konto idag för att ta del av exklusiva funktioner och engagera dig i vår fantastiska community!

Registrera dig
Relaterade inlägg Svar Vyer Verksamhet
use dynamic value in domain
domain dynamic
Avatar
Avatar
Avatar
2
maj 24
9935
Can I filter value based on another field in form view? Löst
domain filtering
Avatar
Avatar
Avatar
2
maj 25
5933
dynamic domain in one2many Löst
domain one2many dynamic
Avatar
Avatar
Avatar
2
maj 24
11577
[help] Uncaught Error: Unknown field state in domain [["state","not in",["draft"]]]
domain error state
Avatar
Avatar
1
mars 23
6062
How to set many2one domain based on many2many field in odoo
domain many2one dynamic
Avatar
Avatar
1
jan. 22
14195
Community
  • Instruktionsvideor
  • Dokumentation
  • Forum
Öppen källkod
  • Ladda ner
  • GitHub
  • Runbot
  • Översättningar
Tjänster
  • Odoo.sh Hosting
  • Kundtjänst
  • Uppgradera
  • Anpassningsbara modifikationer
  • Utbildning
  • Revisorer
  • Partners
  • Bli en partner
Om oss
  • Vårt företag
  • Varumärkestillgångar
  • Kontakta oss
  • Jobb
  • Evenemang
  • Podcast
  • Blogg
  • Kunder
  • Juridiskt • Integritet
  • Säkerhet
الْعَرَبيّة 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 är ett affärssystem med öppen källkod som täcker alla dina företagsbehov: CRM, e-handel, bokföring, lager, kassasystem, projektledning, och så vidare.

Odoos unika värdeförslag är att samtidigt vara väldigt enkel att använda men också helt integrerad.

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