我不能在树上插入分隔符或笔记本

2024-09-30 08:38:11 发布

您现在位置:Python中文网/ 问答频道 /正文

在树视图中插入分隔符或笔记本时遇到问题。有可能吗?你知道吗

这些项目通常按相同的细节(姓名、地址、电话号码……)列在树中。在我的cas里,我有两项记录(士气和体格)。第一种应按(nom,prénom,adresse)列出,第二种应按(raison sociale,siège social,…)列出。你知道吗

这仅仅是因为,通过隐藏与其他类型相关的字段,用户可以选择将项目保存为(personne士气)或personne physique),因此用户只能填充与所选类型相关的字段。你知道吗

    <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),
                }

需求()

下面是我尝试使用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>

Tags: namefalsefieldfieldssizegrouprequiredsocial
3条回答

有两种类型的视图:treeform。树视图非常简单,并且不处理notebooks、pages、groups等。它也不处理每个记录显示不同的字段/列。换句话说,您可以列出所有八个字段,并且只有四个正确的字段显示数据,但是所有八个列始终显示。你知道吗

您可能想做的是拥有两个不同的tree视图(一个用于Physique,另一个用于Morale),并让用户从菜单选择中选择要查看的视图(菜单xml可以设置domain,因此它只显示正确的记录)。你知道吗

如果您对菜单使用actions(ir.actions.act_window),那么只需将字段domain设置为:

<field name="domain">[('state','=','p')]</field> 

和/或

<field name="domain">[('state','=','m')]</field>

所以你需要对两个不同域的菜单执行两个操作:-)

您将其作为窗体视图,而不是树视图

<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>

看看这个,我会工作的。你知道吗

相关问题 更多 >

    热门问题