当前位置: 首页 > news >正文

DuodooBMS源码解读之 sale_delivery模块

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

一、功能概述

该代码实现了发货通知单的下载功能,用户可以选择要下载的发货通知单,系统将生成包含发货通知单详细信息的 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 文件中。

相关文章:

  • Vue面试2
  • selenium工作原理
  • 海外企业真的需要跨境专线网络吗?
  • 广州SMT贴片加工如何优化生产成本与品质管控?
  • 本地部署DeepSeek R1大模型
  • 什么是事务?并发事务引发的问题?什么是MVCC?
  • 如何在自定义组件中使用v-model实现双向绑定
  • Linux shell脚本,手机上跑的.sh脚本写法
  • Oeko-TexStandard100认证会产生哪些成本?
  • DeepSeek掘金——SpringBoot 调用 DeepSeek API 快速实现应用开发
  • 设计心得——接口
  • unplugin-vue-components,unplugin-auto-import,借用ai去学习
  • OpenMetadata MySQL数据质量治理实现分析
  • 基于C-V曲线的SiC IGBT全区域损伤提取方法
  • 深度学习数据集
  • 【YOLOv10改进[注意力]】引入ACmix机制(享有自注意力和卷积的优势) | CVPR 2021
  • 数据包在客户端和服务端,以及网络设备间如何传输的?
  • Golang | 每日一练 (3)
  • 虚拟地址与物理地址
  • 如何在简历中巧妙展现你的兴趣爱好
  • 网站策划和运营/百度新闻客户端
  • 广州最新疫情公布/今日头条搜索优化怎么做
  • 山东住房和建设厅网站/西安seo
  • seo网站优化教程/广州推广排名
  • 跨境电子商务网站建设/宁波seo外包
  • 建设网站证书/怎么让自己上百度