DuodooBMS用户指引
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

2.7KB

发货通知单下载功能操作手册

一、功能概述

该代码实现了发货通知单的下载功能,用户可以选择要下载的发货通知单,系统将生成包含发货通知单详细信息的 Excel 文件供用户下载。

二、文件结构及说明

  1. sale_delivery/controllers/download.py
    • 定义了一个 SaleDeliveryXlsRrport 类,该类继承自 http.Controller,包含一个路由 /web/export/sale_delivery_xls,用于处理发货通知单的导出请求,生成 Excel 文件并返回给用户。
  2. sale_delivery/wizard/sale_delivery_download.py
    • 定义了一个 SaleDeliveryDownload 模型,该模型包含两个字段 order_idstype,分别用于选择要下载的发货通知单和指定下载类型。action_download 方法用于生成下载链接并打开新窗口进行下载。
  3. sale_delivery/controllers/init.pysale_delivery/wizard/init.py
    • 用于初始化相应模块,导入相关文件。

三、操作步骤

1. 选择发货通知单

在 Odoo 系统中找到 sale.delivery.download 向导(一般在相关菜单或操作按钮中),在 order_ids 字段中选择要下载的发货通知单,type 字段默认值为 sale_delivery,无需修改。

2. 触发下载操作

点击 action_download 按钮(一般在向导界面中有对应的按钮),系统会调用 action_download 方法。

3. 生成下载链接

action_download 方法会将选择的发货通知单的 ids 和类型信息编码成 JSON 格式,并生成一个包含 datatoken 的字典 datas。然后,将这些数据编码成 URL 参数,拼接在 /web/export/sale_delivery_xls 路由后面,生成一个完整的下载链接。

4. 打开新窗口下载

系统会以新窗口的方式打开生成的下载链接,此时会触发 SaleDeliveryXlsRrport 类中的 index 方法。

5. 生成 Excel 文件

index 方法会根据传入的 order_ids 从数据库中获取相应的发货通知单记录,然后使用 xlsxwriter 库创建一个 Excel 文件,将发货通知单的详细信息写入 Excel 文件中,包括发货通知单号、客户信息、交货地址、产品信息等。

6. 下载文件

Excel 文件生成后,系统会将文件以 发货通知_时间戳.xls 的文件名返回给用户,用户可以选择保存文件到本地。

四、注意事项

  • 确保 xlsxwriter 库已正确安装,否则可能会导致 Excel 文件生成失败。
  • 选择的发货通知单 order_ids 必须是有效的记录,否则可能会抛出异常。
  • 发货通知单的相关字段(如 partner_idsale_id 等)必须存在,否则可能会导致部分信息无法正确显示在 Excel 文件中。
上海开阖软件有限公司 沪ICP备12045867号-1