Rapport open erp

Post on 22-Jan-2018

932 views 0 download

Transcript of Rapport open erp

Sommaire:1. Introduction

2. Premiers pas pour la prise en main

3. Structure d’un module Odoo

4. Les vues1. 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 donccliquable :

<menuitem id=works_work_menu parent=“work_menu” name=“travaux” action=“[ACTION_ID]”>