15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez
15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/#LII-A 1/20 Forums Tutoriels Magazine FAQs Blogs Projets Chat Newsletter Études Emploi Club Contacts Solutions d'entreprise Business Intelligence ERP / PGI CRM SAS Cloud Computing SAP Microsoft BizTalk Server Talend Forums ERP Tutoriels ERP Livres FAQ OpenERP Mémento technique OpenERP en français Open Source RAD avec OpenERP 7,0 Table des matières I. Préambule II. Installer OpenERP IIA. Packages d'installation IIB. Installer depuis les sources IIC. Création de la base de données III. Construire un module OpenERP : Idea (Idée) IIIA. Contexte IIIB. Composition d'un module IIIC. Structure typique d'un module IIID. Service de mappage objet relationnel IIIE. Types de champs de l'ORM IIIE1. Noms de champs spéciaux/réservés IIIF. Travailler avec l'ORM IV. Construire l'interface du module IVA. Structure XML commune IVB. Syntaxe CSV commune IVC. Menus et actions IVC1. Déclaration d'une action IVC2. Déclaration d'un menu V. Vues et héritage VA. Vues formulaires (pour voir/modifier les enregistrements) VA1. Les éléments de formulaire VB. Vues dynamiques VC. Vues listes et listes d'arborescence hiérarchique VD. Vues fiches Kanban VE. Vues calendrier VF. Diagrammes de Gantt VG. Vues diagrammes (graphes) VH. Vues de recherche VI. Héritage des vues VI. Rapports VIA. Différents formats de rapports VIB. Les expressions utilisées dans les modèles de rapport OpenERP VII. Les Flux de travail (Workflows) VIIA. Déclaration d'un flux de travail VIIB. Activités du flux de travail (nœuds) VIIC. Transitions du flux de travail (bords) VIII. Sécurité VIIIA. Mécanismes de contrôle d'accès basés sur le groupe VIIIB. Roles IX. Les assistants (Wizards) IXA. Les modèles d'assistant (TransientModel) IXB. Vues assistant IXC. Exécution de l'assistant X. WebServices XMLRPC XI. Optimisation des performances XII. Communauté/contribution XIII. Licence XIV. Remerciements Cet article est une traduction française du Memento Technique d'OpenERP v7.0 Version du fichier original : 08/11/2013. Avec l'aimable autorisation de la société OpenERP SA. 8 commentaires Article lu 11064 fois. L'auteur Thierry Godin L'article Publié le 19 novembre 2013 Mis à jour le 10 décembre 2013 Version PDF Version horsligne ePub, Azw et Mobi Liens sociaux I. Préambule▲ OpenERP est une suite moderne de 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 est basé sur un système modulaire, une plateforme Rapid Application Development (RAD) évolutive et intuitive écrite en Python. OpenERPdispose d'une boîte à outils complète et modulaire pour construire rapidement des applications : ObjectRelationship Mapping (ORM) intégré, un patron ModèleVueContrôleur (MVC), un système de génération de rapport, l'internationalisation automatisée, et bien plus encore. Python est un langage de programmation dynamique de haut niveau, idéal pour RAD, alliant la puissance avec une syntaxe claire, et un noyau maintenu petit par sa conception. Astuce : Liens utiles Le site Web principal OpenERP et téléchargements : www.openerp.com Documentation fonctionnelle et technique : doc.openerp.comDocumentation OpenERP Ressources communautaires : www.openerp.com/community Le serveur d'intégration permanent : runbot.openerp.comServeur d'integration OpenERP Apprendre Python : doc.python.orgDocumentation Python Accueil ALM Java .NET Dév. Web EDI Programmation SGBD Office Solutions d'entreprise Applications Mobiles Systèmes 15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/#LII-A 2/20 II. Installer OpenERP▲ OpenERP est distribué sous forme de paquets/installeurs pour la plupart des platesformes, mais peut également être installé à partir des sources sur n'importe quelle plateforme. L'architecture d'OpenERP OpenERP utilise le paradigme clientserveur bien connu : le client s'exécute comme une application JavaScript dans votre navigateur, se connectant au serveur en utilisant le protocole JSONRPC sur HTTP(S). Des clients peuvent être facilement écrits selon vos besoins et se connecter au serveur en utilisant XMLRPC ou JSONRPC. Astuce : Procédure d'installation La procédure d'installation OpenERP est susceptible d'évoluer (dépendances et ainsi de suite), alors assurezvous de toujours consulter la documentation spécifique (fournie avec les packages et sur le site Internet) pour les dernières procédures. Voir : http://doc.openerp.com/v7.0/installInstallation d'OpenERP IIA. Packages d'installation▲ Windows : installeur toutenun. Linux : packages toutenun pour les systèmes basés sur Debian (*.deb), et RedHat (*.rpm). Mac : pas d'installeur toutenun, il faut installer depuis les sources. IIB. Installer depuis les sources▲ Il y a deux possibilités : utiliser une archive fournie sur le site, ou obtenir directement les sources à l'aide de BazaarBazaar (système de contrôle de version). Vous devez également installer les dépendances nécessaires (PostgreSQL et quelques bibliothèques Python voir la documentation sur doc.openerp.comDocumentation OpenERP). Astuce : Compilation OpenERP étant basé sur Python, aucune compilation n'est nécessaire. Procédure de commandes Bazaar typique (sur base Debian Linux) Sélectionnez 1. $ sudo apt-get install bzr # Installer Bazaar (version 2. $ bzr cat -d lp:~openerp-dev/openerp-tools/trunk setup.sh | sh # Récupérer l'Installeur 3. $ make init-v70 # Installer OpenERP 7.0 4. $ make server # Démarrer OpenERP Server IIC. Création de la base de données▲ Après le démarrage du serveur, ouvrez http://localhost:8069 dans votre navigateur préféré. Vous verrez l'écran du gestionnaire de bases de données où vous pouvez créer une nouvelle base de données. Chaque base de données possède ses propres modules et sa propre configuration, et peut être créée en mode démo pour tester une base de données préremplie (ne pas utiliser le mode de démonstration pour une véritable base de données !). III. Construire un module OpenERP : Idea (Idée)▲ IIIA. Contexte▲ Les exemples de code utilisés dans ce mémento sont pris à partir d'un module hypothétique d'idées. Le but de ce module serait d'aider les esprits créatifs, qui viennent souvent avec des idées qui ne peuvent pas être réalisées immédiatement, et sont trop facilement oubliées si elles ne sont pas notées quelque part. Ce module pourrait être utilisé pour enregistrer ces idées, les trier et les évaluer. Note : développement modulaire OpenERP utilise des modules comme des conteneurs de fonctionnalités, afin de favoriser un robuste développement et leur maintenance. Les modules offrent une isolation des fonctions, un niveau approprié d'abstraction et des modèles évidents MVC. IIIB. Composition d'un module▲ Un module peut contenir n'importe lequel des éléments suivants : objets métier : déclarés comme des classes Python qui étendent la classe osv.Model. La persistance de ces ressources est entièrement gérée par OpenERP ; données : les fichiers XML/CSV avec des métadonnées (vues et déclarations des flux de travail), les données de configuration (paramétrage des modules) et des données de démonstration (facultatives, mais recommandées pour tester, par exemple, des échantillons d'idées) ; assistants : formulaires interactifs utilisés pour aider les utilisateurs, souvent disponibles en actions contextuelles sur les ressources ; rapports : RML (format XML), MAKO ou OpenOffice modèles de rapports, qui seront fusionnés avec n'importe quel type de données de l'entreprise et généreront du HTML, ODT ou des rapports PDF. IIIC. Structure typique d'un module▲ Chaque module est contenu dans son propre répertoire, dans le répertoire d'installation du serveur server/bin/addons. 15/5/2014 Memento Technique OpenERP en français http://thierry-godin.developpez.com/openerp/memento-technique-openerp-fr/#LII-A 3/20 Note : Vous pouvez déclarer votre propre répertoire addons dans le fichier de configuration d'OpenERP en utilisant l'option addons_path (transmis au serveur avec l'option c). Sélectionnez 5. addons/ 6. |- idea/ # Le répertoire du module 7. |- demo/ # Données de démonstration et tests unitaires 8. |- i18n/ # Fichiers de traduction 9. |- report/ # Rapports 10. |- security/ # Déclaration des groupes et droits d'accès 11. |- view/ # Vues (formulaires,listes), menus et actions 12. |- wizard/ # Assistants 13. |- workflow/ # Flux de travail 14. |- __init__.py # Fichier d'initialisation Python (requis) 15. |- __openerp__.py # Déclaration du module (requis) 16. |- idea.py # Classes Python, les objets du module Le fichier __ init__.py est le descripteur de module Python, car un module OpenERP est aussi un module Python régulier. __init__.py Sélectionnez 17. # Importe tous les fichiers et dossiers qui contiennent du code Python 18. import idea, wizard, report Le fichier __openerp__.py est le manifeste du module OpenERP et contient un dictionnaire unique Python avec la déclaration du module : son nom, les dépendances, la description et la composition. __openerp__.py Sélectionnez 19. { 20. 'name' : 'Idea', 21. 'version' : '1.0', 22. 'author' : 'OpenERP', 23. 'description' : 'Ideas management module', 24. 'category': 'Enterprise Innovation', 25. 'website': 'http://www.openerp.com', 26. 'depends' : ['base'], # liste des dépendances conditionnant l'ordre de démarrage 27. 'data' : [ # les fichiers de données à charger lors de l'installation du module 28. 'security/groups.xml', # toujours charger les groupes en premier! 29. 'security/ir.model.access.csv', # charger les droits d'accès après les groupes 30. 'workflow/workflow.xml', 31. 'view/views.xml', 32. 'wizard/wizard.xml', 33. 'report/report.xml', 34. ], 35. 'demo': ['demo/demo.xml'], # données de démo (pour les tests unitaires) 36. } IIID. Service de mappage objetrelationnel▲ Élémentclé d'OpenERP, l'ORM est une couche de mappage objetrelationnel complet, qui permet aux développeurs de ne pas avoir à écrire la plomberie SQL de base. Les objets métiers sont déclarés comme les classes Python qui héritent de la classe osv.Model, ce qui les rend magiquement persistants par la couche ORM. Des attributs prédéfinis sont utilisés dans la classe Python pour spécifier les caractéristiques d'un objet métier pour l'ORM : idea.py Sélectionnez 37. from osv import osv, fields 38. class idea(osv.Model): 39. _name = 'idea.idea' 40. _columns = { 41. 'name': fields.char('Title', size=64, required=True, translate=True), 42. 'state': fields.selection([('draft','Draft'), 43. uploads/s3/ memento-technique-openerp-en-francais-pdf.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 07, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.8869MB