当前位置: 代码迷 >> 综合 >> openERP 简单模块 1
  详细解决方案

openERP 简单模块 1

热度:78   发布时间:2023-10-23 15:59:28.0
刚接触openERP,各个方面都不大了解,经过一段模仿,写出简单的一个课件模块。 以下是步骤。

1.  直接在openERP文件夹里面的source\addons文件下直接创建模块文件夹。这里创建的模块名为 my_training

2. 在模块文件夹下创建下列文件:__init__.py     __openerp__.py     lesson.py   lesson_view.xml   这四个文档

3.以下是四个文件的内容:
__init__.py
# -*- coding: utf-8 -*-
import lesson


__openerp__.py

# -*- coding: utf-8 -*-
{"name": "My Training", #模块名
    "version": "1.0",        #模块版本
    "description": 'My Training Demo', #模块说明
    "author": "Jeff",    #作者
    "website": "http://www.jeffzhang.cn", #网址
    "depends": [],                      #依赖的模块
    "data": ["lesson_view.xml"],
    "demo": [],
    "installable": True,                #可否安装
    'auto_install': False,
 }


lesson.py
# -*- coding: utf-8 >-*-

from openerp.osv import fields, osvclass my_training_lesson(osv.osv):_name = 'my.training.lesson'
    _discription = u'培训课程示例'
    _columns = {'name': fields.char(u'课程名',size=64, select=True),
        'date_start': fields.date(u'开始日期', select=True),
        'total_day': fields.float(u'总天数', digits=(16,1)),
        'teacher': fields.many2one('res.users', u'授课老师'),
        'students': fields.many2many('res.partner', string=u'学生'),
        'price': fields.float(u'价格', digits=(16,2)),
    }my_training_lesson()


lesson_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
    <!--定义表单视图-->
        <record model="ir.ui.view" id="my_training_lesson_form_view">
            <field name="name">课程表单</field>
            <field name="type">form</field>
            <field name="model">my.training.lesson</field>
            <field name="arch" type="xml">
                <form string="课程表单">
                    <field name="name"/>
                    <field name="date_start"/>
                    <field name="total_day"/>
                    <field name="price"/>
                    <field name="teacher"/>
                    <field name="students" colspan="4"/>
                </form>
            </field>
        </record>
        <!--定义列表视图-->
        <record model="ir.ui.view" id="my_training_lesson_tree_view">
            <field name="name">课程列表</field>
            <field name="type">tree</field>
            <field name="model">my.training.lesson</field>
            <field name="arch" type="xml">
                <tree string="课程列表">
                    <field name="name"/>
                    <field name="date_start"/>
                    <field name="teacher"/>
                    <field name="price" sum="合计"/>
                </tree>
            </field>
        </record>
<!--定义视图动作-->
    <record model="ir.actions.act_window"  id="action_my_training_lesson">
        <field name="name">课程</field>    <!--这个字符串即课程对应列表或编辑界面的标题-->
        <field name="res_model">my.training.lesson</field>
        <field name="view_type">form</field>
        <field name="view_mode">form,tree</field>
        <field name="view_id" ref="my_training_lesson_tree_view"/>
    </record>
<!--定义菜单-->
    <menuitem id="my_menu" name="培训示例"/>
    <menuitem id="my_training_menu" name="培训" parent="my_menu"/>
    <menuitem id="my_training_lesson_menu" name="培训课程" parent="my_training_menu" action="action_my_training_lesson"/>
</data>
</openerp>


4.  以上文件写完后,就可以开始配置模块了。  首先打开erp网站页面  进入后台配置。进入设置页面,然后更新模块,然后在搜索栏内搜索模块名“My Training”。找到模块后,选择安装。模块就安装成功了。

5.查看模块安装效果。