Friday, December 4, 2009

Les vues (Partie 1)

*Introduction au fichiers XML dans OpenERP :

Dans OpenEPR, les fichiers XML servent pour :
- Definir les views (modulename_view.xml)
- Definir les workflow (modulename_workflow.xml)
- Declarer les reports (modulename_report.xml)
- Declarer les wizards (modulename_wizard.xml)
- Importer des données (modulename_data.xml)
- Importer des donées de demonstration (modulename_demo.xml) .

* La structure des fichiers XML dans OpenERP :

1- < openerp >
2- < data >
3- < record model="object_name" id="record_id">
4- < field name="field_name">field_value< /field >
5- < /record >
6- < record model="other_object_name" id="other_record_id">
7- < field name="relation_field_name" ref="”record_id”/">< /field >
8- < /record >
9- < /data >
10-< /openerp >


Prenons un petit exemple concret :

1- < openerp >
2- < data >
3- < record model="account.currency" id="EUR">
4- < field name="name">EUR< /field >
5- < field name="rate">1.0< /field >
6- < field name="digits">2< /field >
7- < field name="accuracy">4< /field >
8- < field name="priority">1< /field >
9- < /record >
10- < record model="account.account" id="a0" >
11- < field name="name">Account chart< /field >
12- < field name="type">view< /field >
13- < field name="currency_id" ref="EUR"/ >
14- < field name="code">0< /field >
15- < /record >
16- < /data >
17-< /openerp >

*Les vues :

Les Vues définissent comment le client affiche les objets. Il peut y avoir plusieurs vues pour le même objet .
- Les differents types de vues :
- Form
- Tree
- Actions
- Ouvrir une fenêtre (form ou tree)
- Imprimer un raport
- Executer un wizard
- Menu items .

* En ce qui concerne la syntaxe des vues, elle est de la forme suivante :


1- < record model="ir.ui.view" id="id_vue">
2- < field name="name">view_name< /field >
3- < field name="model">view_object< /field >
4- < field name="type">form< /field >
5- < field name="arch" type="xml">
6- < form string="libellé de la vue">
7- < field name="fields_name">
...
8- < /field >
9- < /form >
10- < /field >
11-< /record >
Le "ir.ui.view est l'objet qui contient les vues (views).

Commencez par créer un fichier XML budget.xml dans le dossier addons/budget et mettez-y le code suivant :

1- < record model="ir.ui.view" id="line.form" >
2- < field name="name">budget.account.form< /field >
3- < field name="model">budget.account< /field >
4- < field name="type">form< /field >
5- < field name="arch" type="xml" >
6- < form string="Budget" >
7- < field name="name"/ >
8- < field name="code_economique"/ >
9- < field name="ref"/ >
10- < /form >
11- < /field >
12-< /record >


Comme on le constate dans l'exemple ci-dessus, dans chaque fichier XML de la vue, on doit déclarer le modèle (model) suivi de l'id qu'on utilisera après dans l'appel de la vue (form ou tree ou les deux) . Pour la déclaration des champs, on doit les écrire tels qu'ils sont déclarés dans la classe mère (le fichier budget.py) :) .

* Passons maintenant à une partie qui est pas mal intéressante que les autres, c'est la déclaration des action window et du menu item .

C'est tout un petit paragraphe de codes qu'on ajoute après la partie précédente de la vue et où on déclare l'id du record, le nom de la page, le nom du modèle (model) et le type de la vue (form, tree, ...).


1- < record model="ir.actions.act_window" id="action_id" >
2- < field name="name">action_name< /field >
3- < field name="res_model">object_name< /field >
4- < field name="view_type">form< /field >
5- < /record >
6- < menuitemname="Outil/Tiny Purchase" action="action_id">
7- < /menuitem >


Pour la dernière ligne, il s'agit du menu qui apparaitera dans la page .

N.B :
Si on utilise "form" pour le type de la vue, on aura des formulaires à remplir .
Si on utilise "tree" pour le type de la vue, on aura un tableau affichant les données de la table concernée (ici abudget.accoun , c-à-d la table des comptes budgets ) .

Vous pouvez faire des améliorations sur ces codes de sorte de rendre votre interface plus riche et plus belle ;) .

No comments:

Post a Comment