Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
2 Antworten
158 Ansichten

I'm using Odoo 18.3 online.

I want to create a calculated field on the product page with Studio. This should use the listprice (list_price) but also the value of one of the attributes the product has.

I guess I have to somehow use attribute_line_ids, but I’m not sure how I can find the value of one specific attribute to use in the calculation.

Any pointers?

Avatar
Verwerfen
Autor Beste Antwort

I get the following error when trying this:

ValueError: NameError("name 'attribute_value_ids' is not defined") while evaluating
'for record in self:\n    record["x_studio_fles_inhoud"] = float(attribute_value_ids[0].name)'

I also tried:  product_template_variant_value_ids

Avatar
Verwerfen
Beste Antwort

Hi,

Go to Products → Variants

Odoo stores attribute values per variant , not in the product template.

Open Odoo Studio

Click the Studio (wrench) icon while on a product variant form.

Click Add Field

  • Choose field type: Monetary or Float
  • Name it something like Calculated Price
  • Enable "Computed Field"

In the Compute field editor , use this expression:

If you're using an attribute like "Weight" with values like 10, 20, etc.:

list_price + float(attribute_value_ids[0].name)


This assumes:

  • Only 1 attribute is used
  • The value is numeric (like 10, 20…)


If You Have Text Attribute (eg Light, Medium, Heavy):

Use this instead:

list_price + (

  1 if attribute_value_ids[0].name == 'Light' else

  5 if attribute_value_ids[0].name == 'Medium' else

  10 if attribute_value_ids[0].name == 'Heavy' else 0

)


i hope it is usefull

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
2
Juli 25
242
1
Juli 25
1171
2
März 25
1440
0
Feb. 25
1102
0
Feb. 25
1258