跳至內容
選單
此問題已被標幟
3 回覆
12416 瀏覽次數

Hi,

Is it possible to hide the cost price of the product in the Product view?

I have standard sales staff and we want to restrict the access to the cost price. We want them to see the product attributes but hide the cost (standard price).

I tried with the access control list but I could not figure it out.


頭像
捨棄
最佳答案

Hi Emad,
To hide the product cost you have code a custom module  like below. To hide from the UI,  you can activate the developer mode and then in the edit form view you can change the code. Either you can remove the field from view or you can give invisible attribute.(If the field is available in the edit form view). Or you have to change it in the original code
Thank You

<record model="ir.ui.view" id="invisible_product_cost">
<field name="model">product.template</field>
<field name="name">product.template.rental</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='standard_price']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
</field>
</record>
頭像
捨棄
作者

Thank Niyas,

I believe this will hide it from all and we need to give certain staff the ability to see.

Hi Emad ,

Did you get what you are looking for ?

作者

I am not sure Niyas,

I am asking you if the above code will totally hide the cost price or it can be controlled by say a sales manager?

yes it is possible, admin can control it. What we have to do is have to replace the cost field and has to add a group for it. so that the field will be visible only for the users in the group. Admin can control it by adding the users to the group

作者

SO how do I do that exactly? what code to add and where?

Are you trying to change the original code or trying to develop a new module for it ?

作者

I am trying to make it work either way. which is the easiest way and how?

作者 最佳答案

In Odoo 10, it can be done easily by going to User Interface > Views and search for "product.template.common.form". Edit this View and search for the following line that start with

 <label for="standard_price"
Change this line and the following line to be as following: 

<label for="standard_price" groups="account.group_account_manager"/>
div name="standard_price_uom" groups="account.group_account_manager">

This will make the Cost price shows only to Advisors. you can change that to any group of users that you want.

this will make the field totally invisible and it will show to Advisors. Please note that will not affect Administrators.



頭像
捨棄

This works fully if you change the source code.

But what about the code to insert into the custom module ?

Could you give us a piece of code on that ?

相關帖文 回覆 瀏覽次數 活動
2
12月 24
6971
2
11月 24
27367
2
5月 24
6729
3
3月 24
6179
0
3月 24
1168