我在树形视图中插入分隔符或笔记本时遇到一些麻烦。可能吗?
这些项目通常在树中以相同的详细信息列出(名称,地址,电话号码...)。在我的cas中,我有两种记录(Personne士气和Personne Physique)。第一类应以(nom,prénom,adresse)列出,第二种应以(raison sociale,siègesocial,...)列出。
仅仅是因为,通过隐藏与另一种类型相关的字段,用户可以选择将项目另存为((人员士气)还是(人员体格)),因此用户仅填写与他选择的类型相关的字段。
<div class="oe_center">
<sheet>
<h2>Demandeur:</h2>
<group>
<field name="state"/>
</group>
<group attrs="{'invisible':[('state', '!=', 'p')],'required':[('state','!=','p')]}" col="4">
<field name="nom" />
<field name="prenom" />
<field name="cin" />
<field name="adresse" />
<!--<field name="dossier" />-->
</group>
<group attrs="{'invisible':[('state', '!=', 'm')],'required':[('state','!=','m')]}" col="4" >
<field name="raison_social" />
<field name="num_reg_comm" />
<field name="forme_social" />
<field name="fax" />
</group>
<group>
<field name="siege_social" attrs="{'invisible':[('state', '!=', 'm')]}" />
</group>
<group>
<field name="dossier" />
<field name="tel" /> <!-- je viens de l'ajouter -->
<field name="email" />
</group>
这是我正在谈论的课程:
class demandeur(osv.osv):
_name = 'sayoo.demandeur'
_rec_name = 'nom'
_columns = {
'state': fields.selection((('p','Personne Physique'), ('m','Personne Morale')),'Statut', required= True),
'nom': fields.char('Nom', size=100, required=False),
'prenom': fields.char('Prenom', size=100, required=False),
'cin': fields.char('Cin', size=100, required=False),
'raison_social':fields.char('Raison Sociale', size=100, required=False),
'siege_social':fields.char('Siège Social', size=100, required=False),
'forme_social':fields.char('Forme Juridique', size=100, required=False),
'num_reg_comm':fields.char('N° du Registre de Commerce', size=100, required=False),
#'dossier': fields.many2one('sayoo.dossier', 'dossier'),
'dossier': fields.one2many('sayoo.dossier','id_dossier','demande d\'autorisation' ),
'adresse': fields.char('Adresse', size=100, required=False), #'date_naissance': fields.date('Date de naissance'),
'description': fields.text('Description'),
'tel': fields.char('Numéro de Téléphone', size=20),
'fax': fields.char('Numéro de Fax', size=20),
'email': fields.char('Adresse Electronqiue', size=20),
}
demandeur()
这是我尝试使用xml的方法,但是没有用
<record model="ir.ui.view" id="Demandeur_tree_view"><!-- d en D -->
<field name="name">sayoo.demandeur.tree</field>
<field name="model">sayoo.demandeur</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Demandeur Details"><!-- d en D -->
<notebook>
<page string "Personne Physique">
<field name="nom" />
<field name="prenom" />
<field name="cin" /> <!-- je vient de l ajouter pour afficher la CIN dans la vue liste du demandeur -->
<field name="adresse" />
</page>
<page string "Personne Morale">
<field name="raison_social" />
<field name="siege_social" />
<field name="forme_social" />
<field name="num_reg_comm" />
</page>
</notebook>
</tree>
</field>
</record>
最佳答案
有两种视图类型:tree
和form
。树视图非常简单,并且不处理notebook
,page
s,group
s。等等。它也不能处理每个记录显示不同的字段/列的情况-换句话说,您可以列出所有八个字段,并且只有四个正确的字段显示数据,但是所有八个列始终显示。
您可能想做的是拥有两个不同的tree
视图(一个用于Physique
,一个用于Morale
),然后让用户从菜单选择中选择要查看的视图(菜单xml可以具有domain
设置为仅显示正确的记录)。