Sommaire:
1. Introduction
2. Premiers pas pour la prise en main
3. Structure d’un module Odoo
4. Les vues
1. les vues formulaires:
2. Les vues listes :
3. Les vues calendrier:
5. Les menus et les actions :
1.Untroduction:
 OpenERP, progiciel de gestion libre, est une suite
moderne d'Applications Métiers, publiée sous la licence
AGPL qui comprend les modules CRM, RH, ventes,
comptabilité, fabrication, gestion d'entrepôts, gestion de
projets, et plus encore.
 Il dispose d'une boîte à outils complète et modulaire pour
construire rapidement des applications : Object-
Relationship Mapping (ORM) intégré, un patron Modèle-
Vue-Contrôleur (MVC), un système de génération de
rapport, l'internationalisation automatisée, et bien plus
encore.
2.Premiers pas pour la prise en main:
Après avoir installé openERP dans la machine, il faut suivre ces étapes :
 Se connecter au serveur (on cherche le service de openerp et on le
démarre).
 Créer une nouvelle base de données
 Se connecter à la nouvelle base
 Activer les menus de la configuration avancées, pour le faire on doit
changer les droits d’accès de l’utilisateur, et cocher caractéristiques
techniques, et puis redémarrer le serveur.
Et comme ça on aura la section technical de la configuration avancée
Si on veut juste faire une simple modification d’un module odoo, il y a des
objets et des vues personnalisées, on en crée un objet comme suite :
On clique sur structure de base de données et puis sur modèle et après sur
créer
Je vais créer un objet inscription avec 4 champs : nom, prénom, date de
naissance, CNE
Et puis on crée le menu en cliquant sur créer un menu
Et comme j’ai mis le module Messagerie/Messagerie comme menu parent de
mon objet, je vais trouver mon objet sous le module Messagerie
Pour déboguer un module ou un objet, on passe par le menu déboguer vue, et on choisit
l’action qui nous convient, mais avant il faut activer le mode développeur.
On clique sur administrator en haut à gauche et puis sur à propos de openERP
3.Structure d’un module Odoo:
pour créer un module odoo il y a quelques étapes à suivre, certaines sont
obligatoires alors d’autres sont facultatives :
 Tout d’abord tout les modules sont crées sous un répertoire
openerp7/openerp/addons, c’est pour ça que la première chose à faire c’est
de créer un package python dans ce répertoire portant le nom du module (
étape obligatoire )
 Ensuite créer un fichier de description du module __openerp__.py (
étape obligatoire )
 Créer le fichier python contenant les modèles : les classes et les méthodes (
étape obligatoire )
 Créer des fichier .xml qui définissent les menus, les vues et les actions
( étape obligatoire )
 Créer des fichier .xml qui téléchargent les données de démonstration
( étape facultatives )
 Créer éventuellement des rapports, des assistants, ou des flux de travail
4.Les vues:
Un fichier de vues OpenERP est toujours construit de cette façon :
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record>
<!-- Ici, les divers champs de la vue -->
</record>
<menuitem/>
<!-- Etc. -->
</data>
</openerp>
Et entre les balise <record> </record> voila une déclaration générique :
Avec :
 id: c’est l’identifiant de la vue
 model : comme c’est une vue le modèl sera toujours ir.ui.view qui sera
enregistré dans la table ir_ui_voew de l’openERP
 Name=“name” : le nom de la vue ( séparé par des virgules )
 Name=“model” : le modèle sur lequel la vue est définie
 Name=“arch” : C'est à l'intérieur de cette balise qu'on va mettre la vue
proprement dite.
 Type : form, tree, graph, calandar, kanban, search
4.1.Les vues formulaires:
C’est-à-dire la balise <form> </form> :
Exemple d’un formulaire
Sa déclaration XML :
Les attributs communs à tous les éléments :
 string : label de l’élément
 nolabel : et la mettre à 1 pour cacher l’étiquette du champ
 colspan : pour le nombre de colonnes sur lesquelles le champ doit
s’étendre
 rowspan : nombre de lignes sur lesquelles le champ doit s’étendre
 col : nombre de colonnes que cet élément doit allouer à ses éléments fils
 invisible : et la mettre à 1 pour cacher entièrement cet élément
4.2.Les vues listes :
Les vues liste qui incluent les éléments field, sont créées avec le type tree, et
ont un élément parent <tree>. Elles sont utilisées pour définir des listes
plates (modifiables ou non) et les listes hiérarchiques.
Dans les vues liste on trouve les attributs suivants :
 colors : liste des couleurs ou des codes de couleur HTML mappés à des
conditions Python
 editable : top ou bottom pour permettre l'édition en place
 toolbar : mettre à True pour afficher le plus haut niveau de la hiérarchie
d'objets comme une barre d'outils latérale (uniquement pour les listes
hiérarchiques, c'est-à-dire ouvertes avec des actions qui ont
view_type à "tree" au lieu de "mode")
Sa declaration XML:
Pour la déclaration XML, elle ressemble à celle du formulaire, on change la
balise <form> </form>, par la balise <tree> </tree>.
Ce qui donne par exemple :
Exemple d’une vue liste
4.3Les vues calendrier :
 Ce sont des vues utilisées pour afficher les champs de date comme des
événements de calendrier (l’élément parent est : <calendar>)
 Exemple de la vue calendrier
5.Les menus et les actions :
Chaque module dispose d’un menu principale qui
permet à l’utilisateur d’accéder à ce module, et des sous-
menus
Structure d’une vue :
la déclaration XML d’une action
Avec :
 Model: la table pour stoker des actions
 Id: l’identifiant de l’action dans la table ir.action.act_windows
 Name: le nom de l’action ( obligatoire )
 Res_model: le model (classe python) objet de la vue ( obligatoire )
 View_mode: la liste des modes alloués pour visualiser les enregistrements
La déclaration des menus :
la déclaration d’un menu se fait par le bias de la balise <menuitem/>
 par exemple pour déclarer un menu de niveau 1 :
<menuitem id=work_menu_root name=“travaux”>
 Ou bien pour déclarer un menu de niveau 1.1 et sans action donc non
cliquable :
<menuitem id=work_menu parent=“work_menu_root” name=“travaux”>
on ajoutait l’attribut parent
 Ou bien pour déclarer un menu de niveau 1.1.1 et avec action donc
cliquable :
<menuitem id=works_work_menu parent=“work_menu” name=“travaux”
action=“[ACTION_ID]”>

Rapport open erp

  • 2.
    Sommaire: 1. Introduction 2. Premierspas pour la prise en main 3. Structure d’un module Odoo 4. Les vues 1. les vues formulaires: 2. Les vues listes : 3. Les vues calendrier: 5. Les menus et les actions :
  • 3.
    1.Untroduction:  OpenERP, progicielde gestion libre, est une suite moderne d'Applications Métiers, publiée sous la licence AGPL qui comprend les modules CRM, RH, ventes, comptabilité, fabrication, gestion d'entrepôts, gestion de projets, et plus encore.  Il dispose d'une boîte à outils complète et modulaire pour construire rapidement des applications : Object- Relationship Mapping (ORM) intégré, un patron Modèle- Vue-Contrôleur (MVC), un système de génération de rapport, l'internationalisation automatisée, et bien plus encore.
  • 4.
    2.Premiers pas pourla prise en main: Après avoir installé openERP dans la machine, il faut suivre ces étapes :  Se connecter au serveur (on cherche le service de openerp et on le démarre).  Créer une nouvelle base de données  Se connecter à la nouvelle base  Activer les menus de la configuration avancées, pour le faire on doit changer les droits d’accès de l’utilisateur, et cocher caractéristiques techniques, et puis redémarrer le serveur.
  • 8.
    Et comme çaon aura la section technical de la configuration avancée
  • 9.
    Si on veutjuste faire une simple modification d’un module odoo, il y a des objets et des vues personnalisées, on en crée un objet comme suite : On clique sur structure de base de données et puis sur modèle et après sur créer
  • 13.
    Je vais créerun objet inscription avec 4 champs : nom, prénom, date de naissance, CNE
  • 14.
    Et puis oncrée le menu en cliquant sur créer un menu
  • 15.
    Et comme j’aimis le module Messagerie/Messagerie comme menu parent de mon objet, je vais trouver mon objet sous le module Messagerie
  • 17.
    Pour déboguer unmodule ou un objet, on passe par le menu déboguer vue, et on choisit l’action qui nous convient, mais avant il faut activer le mode développeur. On clique sur administrator en haut à gauche et puis sur à propos de openERP
  • 19.
    3.Structure d’un moduleOdoo: pour créer un module odoo il y a quelques étapes à suivre, certaines sont obligatoires alors d’autres sont facultatives :  Tout d’abord tout les modules sont crées sous un répertoire openerp7/openerp/addons, c’est pour ça que la première chose à faire c’est de créer un package python dans ce répertoire portant le nom du module ( étape obligatoire )  Ensuite créer un fichier de description du module __openerp__.py ( étape obligatoire )  Créer le fichier python contenant les modèles : les classes et les méthodes ( étape obligatoire )
  • 20.
     Créer desfichier .xml qui définissent les menus, les vues et les actions ( étape obligatoire )  Créer des fichier .xml qui téléchargent les données de démonstration ( étape facultatives )  Créer éventuellement des rapports, des assistants, ou des flux de travail
  • 21.
    4.Les vues: Un fichierde vues OpenERP est toujours construit de cette façon : <?xml version="1.0" encoding="utf-8"?> <openerp> <data> <record> <!-- Ici, les divers champs de la vue --> </record> <menuitem/> <!-- Etc. --> </data> </openerp>
  • 23.
    Et entre lesbalise <record> </record> voila une déclaration générique :
  • 24.
    Avec :  id:c’est l’identifiant de la vue  model : comme c’est une vue le modèl sera toujours ir.ui.view qui sera enregistré dans la table ir_ui_voew de l’openERP  Name=“name” : le nom de la vue ( séparé par des virgules )  Name=“model” : le modèle sur lequel la vue est définie  Name=“arch” : C'est à l'intérieur de cette balise qu'on va mettre la vue proprement dite.  Type : form, tree, graph, calandar, kanban, search
  • 25.
    4.1.Les vues formulaires: C’est-à-direla balise <form> </form> : Exemple d’un formulaire
  • 26.
  • 27.
    Les attributs communsà tous les éléments :  string : label de l’élément  nolabel : et la mettre à 1 pour cacher l’étiquette du champ  colspan : pour le nombre de colonnes sur lesquelles le champ doit s’étendre  rowspan : nombre de lignes sur lesquelles le champ doit s’étendre  col : nombre de colonnes que cet élément doit allouer à ses éléments fils  invisible : et la mettre à 1 pour cacher entièrement cet élément
  • 28.
    4.2.Les vues listes: Les vues liste qui incluent les éléments field, sont créées avec le type tree, et ont un élément parent <tree>. Elles sont utilisées pour définir des listes plates (modifiables ou non) et les listes hiérarchiques. Dans les vues liste on trouve les attributs suivants :  colors : liste des couleurs ou des codes de couleur HTML mappés à des conditions Python  editable : top ou bottom pour permettre l'édition en place  toolbar : mettre à True pour afficher le plus haut niveau de la hiérarchie d'objets comme une barre d'outils latérale (uniquement pour les listes hiérarchiques, c'est-à-dire ouvertes avec des actions qui ont view_type à "tree" au lieu de "mode")
  • 29.
    Sa declaration XML: Pourla déclaration XML, elle ressemble à celle du formulaire, on change la balise <form> </form>, par la balise <tree> </tree>. Ce qui donne par exemple :
  • 31.
  • 32.
    4.3Les vues calendrier:  Ce sont des vues utilisées pour afficher les champs de date comme des événements de calendrier (l’élément parent est : <calendar>)  Exemple de la vue calendrier
  • 34.
    5.Les menus etles actions : Chaque module dispose d’un menu principale qui permet à l’utilisateur d’accéder à ce module, et des sous- menus
  • 36.
  • 37.
    la déclaration XMLd’une action
  • 38.
    Avec :  Model:la table pour stoker des actions  Id: l’identifiant de l’action dans la table ir.action.act_windows  Name: le nom de l’action ( obligatoire )  Res_model: le model (classe python) objet de la vue ( obligatoire )  View_mode: la liste des modes alloués pour visualiser les enregistrements
  • 39.
    La déclaration desmenus : la déclaration d’un menu se fait par le bias de la balise <menuitem/>  par exemple pour déclarer un menu de niveau 1 : <menuitem id=work_menu_root name=“travaux”>  Ou bien pour déclarer un menu de niveau 1.1 et sans action donc non cliquable : <menuitem id=work_menu parent=“work_menu_root” name=“travaux”> on ajoutait l’attribut parent  Ou bien pour déclarer un menu de niveau 1.1.1 et avec action donc cliquable : <menuitem id=works_work_menu parent=“work_menu” name=“travaux” action=“[ACTION_ID]”>