Ceci est mon modudel. il est installé et chargé sans aucune erreur.

1. besoin d'aide pour comprendre ce qui ne va pas avec les vues parce qu'elles ne s'affichent pas. 2. comment puis-je ajouter un menu dans l'en-tête et 2 sous-menus sur la gauche.

{
   'name' : "Helloworld",
   'version' : "1.0",
   'description' : 'Helloworld test module',
   'author' : "AP",
   'data' : ['helloworld_view.xml'],
   'installable' : True,
}





from openerp import models, fields



class HelloWorld(models.Model):
    _name = 'helloworld.test'

    name = fields.Char("Name", required=True, size=20 )
    value = fields.Integer("Value",  )

class HelloWorld2(models.Model):
    _name = "helloworld.test2"
    name = fields.Char("Name", required=True)
    reference = fields.Reference("helloworld.test")

C'est vue. J'ai essayé de le joindre au menu Ventes pour l'instant juste pour vérifier, mais il me manque définitivement quelque chose. En général, je veux avoir le menu Helloworld dans l'en-tête et 2 sous-menus Test et Test2 sur le côté gauche lorsque je clique sur le menu d'en-tête

<?xml version="1.0" encoding= "utf-8"?>

<openerp>
   <data>

    <record id= "helloworld_tree_view" model= "ir.ui.view">
     <field name="model">helloworld.test</field >
     <field name="arch" type= "xml">
         <tree>
             <field name="name"/>
             <field name="value"/>
         </tree>
   </field>
   </record>

   <record id= "helloworld_form_view" model= "ir.ui.view">
   <field name="model">helloworld.test</field >
   <field name="arch" type= "xml">
         <form>
            <field name="name"/>
            <field name="value"/>
         </form>
   </field>
   </record>

        <menuitem action= "helloworld_action"
            id="helloworld_menu_action"
            parent="base.menu_sales" sequence= "16" />

    <record id="helloworld_action" model= "ir.actions.act_window" >
            <field name="name" >Test1</field >
            <field name="type" >ir.actions.act_window</field>
            <field name="res_model" >helloworld.test</field >
            <field name="view_mode" >tree,kanban,form</field >
            <field name="view_type" >form</field >
            <field name="help" type= "html">
                <p class="oe_view_nocontent_create" >
                    Helloworld.
                </p>
            </field>
          </record>



   </data>
</openerp>
1
Grf 17 janv. 2017 à 13:31

2 réponses

Meilleure réponse

Je ne sais pas comment vous avez écrit votre __openerp__.py mais vous n'importez pas vos vues, j'en suis sûr.

Tous les enregistrements de vos vues sont écrits sans noms (ce champ est obligatoire, votre code doit renvoyer une erreur).

Si vous révisez votre fichier __openerp__.py, cela devrait fonctionner (à condition que vous nommez vos vues).

{
    'name' : "Helloworld",
    'summary': "Helloworld",
    'version' : "1.0",
    'description' : 'Helloworld test module',
    'author' : "AP",
    'depends': ['base', 'sale'],
    'category': 'Uncategorized',
    'data' : ['helloworld_view.xml'],
    'installable' : True,
}

Ensuite, dans votre helloworld_view.xml (assurez-vous que le fichier est à la racine de votre projet et qu'il est nommé exactement comme ceci), les vues doivent être comme celles-ci (avec le nom de champ défini)

<record id= "helloworld_tree_view" model= "ir.ui.view">
    <field name="name">helloworld.tree.view</field>
    <field name="model">helloworld.test</field >
    <field name="arch" type= "xml">
        <tree>
            <field name="name"/>
            <field name="value"/>
        </tree>
    </field>
</record>

Et n'utilisez pas de champs. Utilisez fields.Many2one.

MODIFIER

Ah et une dernière chose. Vous devez écrire votre menuitem après la définition de l'action. Sinon, il ne le trouvera pas et vous dira que l'ID externe n'existe pas.

0
Majikat 17 janv. 2017 à 13:39

Dans <menuitem> si vous donnez le parent, ce menu sera ajouté sous ce menu.

Pour ajouter un menu dans l'en-tête puis créer un menu sans parent.

Dans votre cas, pour ajouter Test1 sous Helloworld, vous pouvez essayer comme suit.

 <menuitem 
            id="helloworld_menu_action"
            sequence= "16" name="Hello World" string="Hello World"/>
 <menuitem action= "helloworld_action"
            id="menu_helloworld_test"
            parent="helloworld_menu_action"
            sequence= "16" />

REMARQUE

Veuillez donner le paramètre action dans <menuitem> comme je l'ai indiqué dans l'exemple, sinon le menu ne s'affichera pas et la vue ne se chargera pas.

0
Emipro Technologies Pvt. Ltd. 17 janv. 2017 à 13:36