Création 1er module sous OpenERP 7.0

Maj le 27/02/2014 

En plus d'être un progiciel applicatif, OpenERP propose aussi un framework de développement de nouveaux modules.
Voici la marche à suivre pour créer un module sous OpenERP 7.0

Ce 1er exemple est simpliste mais il faut bien débuter !!

Tout d'abord, il faut donner à l'administrateur le droit "caractéristiques techniques" pour avoir des fonctionnalités étendues :

Ensuite,
- Aller  dans le répertoire /opt/openerp/openerp-7.0xxxx/openerp/addons

- Créer le sous-répertoire test2

- Créer les 4 fichiers suivants avec le code suivant :

__init__.py
# -*- coding: utf-8 -*-
import test2



__openerp__.py

# -*- coding: utf-8 -*-
{
    'name': 'Test 2',
    'version': '0.1',
    'description': """
description test2
    """,
    'author': 'philippe',
    'depends': ['base'],
    'data': ['test_view.xml'],
    'demo': [],
    'installable': True,
    'auto_install': False,
}

test2.py
# -*- coding: utf-8 -*-

from openerp.osv import osv,fields

class test2_test2(osv.osv):
    _name='test2.test2'
    _columns={
        'name': fields.char('Nom', size=128),
        'code': fields.char('Code', size=64)
        }

test2_test2()

test_view.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record model="ir.ui.view" id="test2.test2_tree">
            <field name="name">test2.test2.tree</field>
            <field name="model">test2.test2</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree string="liste test2">
                    <field name="name"/>
                    <field name="code"/>
                </tree>
            </field>
        </record>

        <record model="ir.actions.act_window" id="action_test2_seq">
            <field name="name">action test2</field>
            <field name="res_model">test2.test2</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
        </record>

    <menuitem id="main_menu_test2" name="Menu test2"/>
       <menuitem name="sous-menu test2" id="section_main_menu_test2" parent="main_menu_test2" />
        <menuitem name="choix sous-menu test2" id="real_menu_test2" parent="section_main_menu_test2" action="action_test2_seq"/>

    </data>
</openerp>

- Aller dans l'IHM en étant connecté avec les droits "administrateur" puis cliquer sur "mettre à jour" afin que le serveur OpenERP prenne en compte ce nouveau module :

- Rechercher ensuite le module "test 2"

- Cliquer sur le bouton "installer"

Et voilà le résultat ...

Voir aussi "création 2ème module"

5 réflexions au sujet de « Création 1er module sous OpenERP 7.0 »

  1. merci bcp pour ce tuto , j'ai j'ai suivi les étapes de création de module mais j'arrive pas a trouver dans l'IHM en étant connecté avec les droits "administrateur" l'onglet
    "mettre a jour la liste des modules" j'ai juste l'onglet " mise a jour " dont la quel j'ai pas trouvé le module dévloppé

    1. Bonjour, j ai le même problème. J ai mis dans le dossier addons le' dossier test2 et mise à jour, mais pas de module ajouté. je suis en admin avec le droit caractéristiques activés.
      j ai même redemarrer le serveur !
      Merci d avance,
      Michel

    2. Pour visualiser le module "test2", il faut aller dans le menu "Configurationmodulesmodules installés" puis supprimer dans le champ "recherche " (en haut à droite) la sélection faite par défaut à savoir "Installé" et saisir "test2" dans ce champ de recherche.
      Normalement, ton module doit s'afficher ensuite

  2. Merci beaucoup pour ce tuto, Mais personnellement j'arrive pas a créer mon propre module (Magasin) qui comprend 6 rubriques (Outillage,Pièces de rechange,Electricité, Fournitures de bureau,Fournitures générales et Fournitures de bâtiment) dont chaque rubrique il y a 5 champs : (DESIGNATION,UNITE,QTE,P.U et MONTANT).
    Je sais pas exactement ou je peux écrire le code et comment faire
    Merci d'avance

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *