Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
294 Widoki

In my product view I can see the sale price of a product, this is the base price. 

Below it I also want to see the price of a specific pricelist (GoldPartnerPrice) for the product. Is this possible with a calculated field in studio? 

If yes, what is the code to get the pricelist value of that specific product?

Keep in mind that the general rule of the pricelist is 10% discount but on some products there's a specific price or discount.


Awatar
Odrzuć
Najlepsza odpowiedź

Hi,


Try the following steps,


1-Add a New Field

- Drag and drop a Float field into the form where you want to display the Gold Partner Price.

- Name the field something like: Gold Partner Price.


2-Make it a Computed Field

- In the field’s properties (right-hand panel), enable “Computed field”.

- In the Python Code box, paste the following snippet:


Code:-


# Search for the GoldPartnerPrice pricelist

pricelist = env['product.pricelist'].search([('name', '=', 'GoldPartnerPrice')], limit=1)


# Get the product variant (since pricelists work at product.product level)

product_variant = record.product_variant_id


# If pricelist exists and product variant is set, compute price

result = pricelist._get_product_price(product_variant, 1.0, False) if pricelist and product_variant else 0.0


* env['product.pricelist'] looks for your pricelist named GoldPartnerPrice.

* record.product_variant_id ensures you’re computing on the correct variant (Studio’s record is the current product template).

* _get_product_price(product, qty, partner) computes the price according to the pricelist rules.


4-Save the Field



- This will dynamically calculate the price each time you open or refresh the product.

- If you later rename your pricelist, update the ('name', '=', 'GoldPartnerPrice') filter.

- If you want it to use a specific pricelist ID (instead of name), replace with:

            pricelist = env['product.pricelist'].browse(YOUR_PRICELIST_ID)


Hope it helps

Awatar
Odrzuć
Autor

With _get_product_price I had to remove the False param, then it worked perfectly, thanks!

Powiązane posty Odpowiedzi Widoki Czynność
1
paź 25
369
1
paź 24
2226
2
paź 24
3535
1
lip 24
2869
0
cze 24
1576