本模块主要实现了销售扩展管理的功能,包括销售订单状态更新、销售订单附件下载等功能。主要涉及的文件有stock_picking.py、sale_download_select.py、download.py等。
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方法来更新销售订单状态。sale_function/wizard/sale_download_select.py此文件主要实现了销售订单附件下载的向导功能。
action_download:
token的字典datas。然后通过构建URL,跳转到/web/export/sale_xls路径,以新窗口的形式打开下载页面。sale_function/controllers/download.py此文件主要实现了销售订单导出为Excel文件的功能。
IIf:
b为真,则返回s1,否则返回s2。index:
action_download方法跳转到此路由时,此方法会自动执行,用户可以在浏览器中下载生成的Excel文件。具体操作步骤如下:
data参数,获取订单ID和类型。odoo环境正常运行,相关依赖库(如json、xlsxwriter等)已正确安装。index方法导出Excel时,要注意文件的命名和格式,避免因文件名冲突或格式不支持导致下载失败。img文件夹下的logo.png文件存在,否则在生成Excel时插入图片可能会出错。