il y a un objet res.partner qui accéde aux données du partenaire , un objet account.invoice concernant les données factures, etc... .
Pour définir un nouvel objet, on doit définir une nouvelle classe dans Python puis l'instantier. Cette classe doit hériter de la classe osv module osv.Le fichier: addons/module_name/module_name.py :
1- class object_name(osv.osv):
2- _name = "module_name.object_name"
3- _columns = {
4- 'field_name': fields.field_type('Libellé du champs', ...),
5- 'other_field_name' : fields.other_field_type(...),
6- }
7- object_name()
Exemple :
1- class res_partner_address(osv.osv):
2- _name = 'res.partner'
3- _columns = {
4- 'name': fields.char('Name', size=128, required=True, select=True),
5- 'date': fields.date('Date'),
6- 'ref': fields.char('Code', size=64),
7- }
8- res_partner()
* Deux sont obligatoires(_name et _columns), le reste est optionel.
Les noms des champs doivent respecter les normes suivantes :
- Tout doit etre minuscule.
- Pas d'espace.
- Pas de caractéres spéciaux.
* Types simples de champs :
- Boolean : un booléen (true, false).
* Syntax : fields.boolean('Nom du champ' [, Parametres Optionels]),
- Integer :
* Syntax : fields.integer('Nom du champ' [, Parametres Optionels]),
- float :
* Le paramètre digits est optionnel.
Exemple : 'credit_limit': fields.float(string='Credit Limit', digits=(12,6))
- char :
* Paramétre size
Exemple : 'ref': fields.char('Code', size=64),
- text : champs texte de longueur illimité.
* Syntax : fields.text('Nom du champ' [, Parametres Optionels]),
- date : Une date.
* Syntax : fields.date('Nom du champ' [, Parametres Optionels]),
- datetime : Pemet de stocker une date et l'heure de la journée dans le même champs.
* Syntax : fields.datetime('Nom du champ' [, Parametres Optionels]),
** Voici un petit exemple d'un module standard qui vous aidera à mieux comprendre comment ça marche :) :
Créer le dossier budget dans \server\bin\addons
● Créer le fichier __init__.py dans le dossier
budget
Ce fichier contiendra l'instruction suivante:
import budget
● Cette instruction permet d'importer le module
budget
● Créer le fichier __terp__.py dans le dossier
budget qui correspond au fichier config de module :
1- {
2- "name": "Budget",
3- "version": "0.1",
4- "author" : "iGenius",
5- "depends": ['base',],
6- "init_xml": [],
7- "update_xml": [],
8- "active": False,
9- "installable": True,
9- }
Créer le fichier budget.py dans le dossier budget :
● Ce fichier contiendra toutes les classes du module .
● On commence par une classe permettant de gérer les comptes des budgets :
1- class budget_account(osv.osv):
2- _name = "budget.account"
3- _description = "Budget Account"
4- _columns = {
5- 'name': fields.char('Intitule du compte', size=128, ),
6- 'code_economique': fields.char('Code economique', size=10, ),
7- 'chapitre': fields.char('Chapitre', size=10, ),
8- 'article': fields.char('Article', size=10, ),
9- }
10- budget_account()
Bonjour
ReplyDeletedans mon ERP je ne trouve pas tous la liste d’administrateur comment je procède pour ajouter mon module.
merci
This comment has been removed by the author.
ReplyDeleteBonjour,
ReplyDeletePeut-tu m'envoyer la source du module budget STP.