目 录CONTENT

文章目录

四、二次开发及规范

胡彬
2024-08-06 / 0 评论 / 1 点赞 / 1,551 阅读 / 747 字

引言

课前准备

  1. 学员准备:能访问互联网的电脑,可安装应用程序
  2. 教学材料:课件、讲义、案例、视频等教学材料,后续更新至该链接
  3. 课题纪律:培训签到及随堂作业完成情况,工作群通报

预期成果

1、掌握Odoo系统二次开发,修改现有模块,增加菜单及页面
2、掌握工作流模块应用,实现图形化配置工作流
3、了解Odoo代码开发规范

Odoo二次开发课程

在demo模块中,修改维护模块,将部门增加到设备页面中

修改模块信息

addons_local/demo/__manifest__.py

# -*- coding: utf-8 -*-
{
	# 修改集成关系
    'depends': ['base', 'maintenance'],
}

新建model

addons_local/demo/models/maintenance_equipment.py

# -*- coding: utf-8 -*-

from odoo import models, fields, api


class MaintenanceEquipment(models.Model):
    _inherit = 'maintenance.equipment'

    department_id = fields.Many2one('demo.department', string="部门", tracking=True)
    
    def action_get_code(self):
        # self.ensure_one()
        self.serial_no = '123456'

修改addons_local/demo/models/__init__.py

# -*- coding: utf-8 -*-

from . import maintenance_equipment

新建视图信息

addons_local/demo/views/maintenance_equipment_views.xml

<odoo>
  <data>

    <record id="hr_equipment_view_form_inherit" model="ir.ui.view">
        <field name="name">equipment.form.inherit</field>
        <field name="model">maintenance.equipment</field>
        <field name="inherit_id" ref="maintenance.hr_equipment_view_form" />
        <field name="arch" type="xml">
            <!-- <field name="owner_user_id" position="before">
                <field name="department_id"/>
            </field> -->
            <field name="location" position="attributes">
                <attribute name="invisible">1</attribute>
            </field>
            <field name="scrap_date" position="attributes">
                <attribute name="required">1</attribute>
            </field>
            <page name="description" position="attributes">
                <attribute name="invisible">1</attribute>
            </page>
            <xpath expr="//sheet" position="before">
                <header>
                    <button name="action_get_code" string="获取编码" type="object" class="btn-primary" />
                </header>
            </xpath>
        </field>
    </record>

  </data>
</odoo>

修改菜单信息

addons_local/demo/views/menu.xml
隐藏菜单

<odoo>
  <data>

    <record id="maintenance.menu_maintenance_stage_configuration" model="ir.ui.menu">
        <field name="active" eval="False"/>
    </record>
    
  </data>
</odoo>

Odoo工作流配置

安装模块包

crnd_web_diagram_plus.7z
odoo_dynamic_workflow.7z

工作流功能

1、定义节点:草稿->班长确认->设备接修->维修完成->班长复核->完成
2、定义链接:提交->确认->处理->完成->确认
3、配置审批人
4、允许转发
5、设置字段必填
6、超时通知
7、增加物料问题->处理完成节点,条件判断
8、自定义按钮
9、按钮结束触发其他事件

Odoo开发规范

参照链接:https://blog.csdn.net/m0_62065137/article/details/138192385

1

评论区