我想让销售经理只能在odoo 10中为销售订单行提供折扣。
编辑:我需要让所有人都显示它,但只有一个人可以修改
我创建了折扣和数字的逻辑......
discount = fields.Float(string='Discount (%)',
digits=dp.get_precision('Discount'), groups="Sales Manager", default=0.0)
任何建议都会有所帮助 谢谢!
答案 0 :(得分:1)
这将使该字段对于管理员用户
的所有用户不可见<label for="discount" groups="sales_team.group_sale_manager"/>
<div name="discount" groups="sales_team.group_sale_manager">
<field name="discount" class="oe_inline"/> %
</div>
这将为经理用户的所有用户设置readonly,并使用inherit
<record id="view_order_form_discount_readonly" model="ir.ui.view">
<field name="name">sale.order.form.disount.readonly</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="groups_id" eval="[(6, 0, [ref('sales_team.group_sale_manager') ])]"/>
<field name="arch" type="xml">
<field name='discount'/>
</field>
</record>
答案 1 :(得分:0)
你有一些选择可以做到这一点。其中两个是:
<record id="view_order_form" model="ir.ui.view">
<field name="name">view_order_form extension</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<!-- embedded form view -->
<xpath expr="//field[@name='order_line']//form//label[@for='discount']" position="attributes">
<attribute name="groups">sales_team.group_sale_manager</attribute>
</xpath>
<xpath expr="//field[@name='order_line']//form//div[@name='discount']" position="attributes">
<attribute name="groups">sales_team.group_sale_manager</attribute>
</xpath>
<!-- embedded tree view -->
<xpath expr="//field[@name='order_line']//tree//field[@name='discount']" position="attributes">
<attribute name="groups">sales_team.group_sale_manager</attribute>
</xpath>
</field>
</record>
您需要正确的xml resp。组的外部ID,在本例中为sales_team.group_sale_manager
。这只是一个视图覆盖,请记住,Odoo 10中有两个销售订单表单视图。
discount = fields.Float(groups="sales_team.group_sale_manager")
仅更改groups参数就足够了,因为新API允许覆盖字段而不复制所有参数。
答案 2 :(得分:0)
您需要提供销售经理组的xml ID。
groups - 以逗号分隔的组xml id列表(字符串);这限制了对给定组用户的字段访问权限