当前位置:首页>python>中篇Python(ODOO)篇 第三章 ODOO项目开发(四)添加业务部分模块 2.工资结算单

中篇Python(ODOO)篇 第三章 ODOO项目开发(四)添加业务部分模块 2.工资结算单

  • 2026-09-05 22:14:10
中篇Python(ODOO)篇 第三章 ODOO项目开发(四)添加业务部分模块 2.工资结算单
原始需求图:

结账日:

2020/1/3

工资计算金额(+):

1000.00 

罚款总额(-):

1000

加金数(+):

300

奖金(+):

100

报销费用(+):

200

罚金(-):

400

其他费用补贴(+):

200

实发金额(=):

400

新增数据模型

models目录新建teacher_salary.py数据模型文件,代码略
将该文件名添加到models目录下__init__.py文件中,之前已经有演示。

创建自动编号

在data目录新增salary_seq_data.xml文件,用来存放编号定义文件。代码如下:
<?xml version="1.0" encoding="utf-8"?><odoo>    <datanoupdate="1">        <recordid="seq_salary_apply"model="ir.sequence">            <fieldname="name">结算单编号</field>            <fieldname="code">nebula.salary.seq</field>            <fieldname="prefix">JS%(year)s%(month)s%(day)s</field>            <fieldname="padding">3</field>        </record>    </data></odoo>
我们在__manifest__.py文件中data段和默认数据一样在最后添加该文件位置,以方便调用。
格式如下:data/salary_seq_data.xml

设置访问权限

在security目录下的ir.model.access.csv新增一行权限记录。
access_nebula_teacher_salary,nebula.teacher.salary,model_nebula_teacher_salary,group_peijia_manager,1,1,1,1

创建视图层

在views目录新增teacher_salary_views.xml文件,先用默认方式展示即可,待模块加载成功后再逐步修改和完善文件,内容如下:
<?xml version="1.0" encoding="utf-8"?><odoo>    <act_windowid="peijia.action_teacher_salary_views"name="工资结算单"    res_model="nebula.teacher.salary" view_mode="tree,form" /></odoo>
修改peijia目录下__manifest__.py文件中data段,在views/car_type_views.xml前新增views/teacher_salary_views.xml文件名。
在views目录下car_views.xml文件,教练三级菜单地方添加指向工资结算子模块菜单,代码:
<menuitem id="menu_teacher_salary_views" name ="工资结算单"          parent="menu_peijia_teacher_data" sequence="130"          action="peijia.action_teacher_salary_views"/>
截图:
重启后,更新陪驾模块,查看是否已经有相关菜单和界面。正常后读者可继续修改视图层。

完善视图层

将*****_views.xml文件中act_window段删除。

创建默认数据

在data目录新增*****_data.xml文件,用来存放******默认数据。
我们在__manifest__.py文件中data段最后添加该文件位置,以方便调用。

界面展示

列表效果:
表单效果:

最新文章

随机文章