"Odoo хөгжүүлэлтийн үед талбарыг хэрэглэгчийн id эсвэл бүлгээр нь хаах"-ны өөр хувилбарууд

Дусал нэвтэрхий толь-с
 
1-р мөр: 1-р мөр:
 
Жишээ нь доорх байдлаар хийж өгнө.
 
Жишээ нь доорх байдлаар хийж өгнө.
  
<i>__init__.py</i></b></p><pre>import product_template </pre><p><b><i>__openerp__.py</i></b></p>
+
<p><b><i>__init__.py</i></b></p>
 +
 
 +
<pre>import product_template </pre>
 +
<p><b><i>__openerp__.py</i></b></p>
  
 
<pre>
 
<pre>

16:23, 15 Аравдугаар сар 2015-ий байдлаарх одоогийн засвар

Жишээ нь доорх байдлаар хийж өгнө.

__init__.py

import product_template 

__openerp__.py


{
	"name": "Hide Cost Price from Some Groups",
	"version": "1.0.0",
	"depends": ["product"],
	"category": "",
	"description": """
	Hide Cost Price from Some Groups.
	""",
	"data": [
		"product_view.xml",
    ],
	"installable": True,
	"active": False,
}

product_template.py

from openerp.osv import fields, osv
from openerp.tools.translate import _
class product_template(osv.osv):
    _inherit = "product.template"

product_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
  <record id="product_template_form_view_restricted" model="ir.ui.view">
    <field name="name">product.template.common.form</field>
    <field name="model">product.template</field>
    <field name="inherit_id" ref="product.product_template_form_view"/>
    <field name="arch" type="xml">
      <field name="standard_price" position="replace">          
        <field name="standard_price" groups="base.group_erp_manager,purchase.group_purchase_manager"/>
      </field>
    </field>
  </record>
</data>
</openerp>

Гэхдээ энэ тохиолдолд ажиллахгүй. Учир нь яг энэ сольж байгаа талбарыг нь өөр нэг модуль дараа нь дахин replace хийж өөрчилснөөс ажиллахгүй байгаа. Ийм тохиолдолд тухайн талбарыг биш гадна талын агуулж буй хэсэг дээр зааж өгнө. Жишээ нь:


<xpath expr="//group[@name='procurement']/group[@name='general']" position="replace">
	<group name="general" groups="base.group_sale_manager_dusal">
		 <field name="standard_price"/>
	</group>
</xpath>

Харин хэрэглэгчийн id-аар ялгаж харуулахгүй нуухын тулд доорх байдлаар нууж болно: Жишээ 1

<field name="boyfriend_name" attrs="{'invisible':[('married', '!=', False)]}" />

Жишээ 2

<field name="write_if_manager" attrs="{'readonly':['|',('is_manager', '==', 'false'),('state','not in','['draft']') ] }/>
<field name="is_manager" invisible="1"/>