销售扩展管理模块操作手册
一、模块概述
本模块主要实现了销售扩展管理的功能,包括销售订单状态更新、销售订单附件下载等功能。主要涉及的文件有stock_picking.py
、sale_download_select.py
、download.py
等。
二、文件功能及操作说明
1. sale_function/models/stock_picking.py
此文件主要对stock.picking
模型进行了扩展,在库存调拨单的一些操作(如确认、取消、分配、完成等)时,更新关联销售订单的状态。
关键函数及操作
update_sale_order_status
:- 功能:当库存调拨单的
state
字段发生变化时,会调用此方法。对于有销售订单关联(picking.sale_id
存在)的库存调拨单,会调用关联销售订单的_compute_picking_status
方法来更新销售订单状态。 - 操作:该方法会自动在库存调拨单状态变化时触发,无需手动调用。
- 功能:当库存调拨单的
action_assign
、action_cancel
、action_confirm
、_action_done
:- 功能:这些方法分别在库存调拨单进行分配、取消、确认、完成操作时被调用。在调用父类的相应方法后,会调用
update_sale_order_status
方法来更新销售订单状态。 - 操作:在Odoo系统中,当用户对库存调拨单进行分配、取消、确认、完成等操作时,这些方法会自动执行。
- 功能:这些方法分别在库存调拨单进行分配、取消、确认、完成操作时被调用。在调用父类的相应方法后,会调用
2. sale_function/wizard/sale_download_select.py
此文件主要实现了销售订单附件下载的向导功能。
关键函数及操作
action_download
:- 功能:将订单ID和类型数据进行处理,生成一个包含这些数据和时间戳
token
的字典datas
。然后通过构建URL,跳转到/web/export/sale_xls
路径,以新窗口的形式打开下载页面。 - 操作:在Odoo系统中,用户在相应的向导界面点击下载按钮,会触发此方法。
- 功能:将订单ID和类型数据进行处理,生成一个包含这些数据和时间戳
3. sale_function/controllers/download.py
此文件主要实现了销售订单导出为Excel文件的功能。
关键函数及操作
IIf
:- 功能:一个简单的条件判断函数,如果条件
b
为真,则返回s1
,否则返回s2
。 - 操作:该函数在其他方法中可能会被调用,用于条件判断返回不同的值。
- 功能:一个简单的条件判断函数,如果条件
index
:- 功能:根据传入的订单ID和类型数据,查询相应的销售订单信息,将信息填充到Excel模板中,生成Excel文件并返回给用户下载。
- 操作:当用户通过
action_download
方法跳转到此路由时,此方法会自动执行,用户可以在浏览器中下载生成的Excel文件。具体操作步骤如下:- 解析传入的
data
参数,获取订单ID和类型。 - 根据订单ID查询销售订单信息。
- 创建Excel工作簿和工作表,设置格式。
- 填充销售订单的相关信息到工作表中,包括合同编号、买卖方信息、产品信息等。
- 关闭工作簿,生成Excel文件流。
- 设置HTTP响应头,将文件流返回给用户下载。
- 解析传入的
三、注意事项
- 确保
odoo
环境正常运行,相关依赖库(如json
、xlsxwriter
等)已正确安装。 - 在使用
index
方法导出Excel时,要注意文件的命名和格式,避免因文件名冲突或格式不支持导致下载失败。 - 确保
img
文件夹下的logo.png
文件存在,否则在生成Excel时插入图片可能会出错。