我在树视图中插入分隔符或笔记本时遇到了一些麻烦。它甚至可能吗?
这些项目通常在树中以相同的细节(名称,地址,电话号码......)列出。在我的cas中,我有两种记录(Personne士气和Personne Physique)。第一种类型应该列在(nom,prénom,adresse),第二种应该列出(raison sociale,siègeocialial,...)。
仅仅是因为,用户可以选择将项目保存为(人格斗士)或人格体格,通过隐藏与其他类型相关的字段,因此用户只填写与该类型相关的字段选择。
<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>
答案 0 :(得分:1)
如果您正在使用操作(ir.actions.act_window
),那么只需将字段域设置为:
<field name="domain">[('state','=','p')]</field>
和/或
<field name="domain">[('state','=','m')]</field>
因此,对于具有不同域的2个菜单,您需要2个操作: - )
答案 1 :(得分:0)
有两种类型的视图:tree
和form
。树视图非常简单,不处理notebook
s,page
s,group
s。它也不处理每个记录显示不同的字段/列 - 换句话说,您可以列出所有八个字段,并且只有四个正确的字段显示数据,但所有八个列将始终显示。
您可能想要做的是有两个不同的tree
视图(一个用于Physique
,一个用于Morale
),并让用户从菜单选择中选择要查看的视图(菜单xml可以设置domain
,因此它只显示正确的记录。)
答案 2 :(得分:0)
您将其作为表单视图而不是树视图
<record model="ir.ui.view" id="Demandeur_form_view"><!-- d en D -->
<field name="name">sayoo.demandeur.form</field>
<field name="model">sayoo.demandeur</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Demandeur Details" version="7.0"><!-- 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>
</form>
</field>
</record>
检查这个我会工作。