用康虎云报表打印二维码

用康虎云报表打印二维码

1 安装:

下载地址: https://www.khcloud.net/cfprint_download, 选择Odoo免代码报表模块和自定义SQL报表模块

下载下来后解压缩,一共有四个模块

cf_report_designer  # 报表设计模块
cf_sale_print_ext   # 演示模块
cf_sql_report
cfprint             # 基础模块

只要安装cf_report_designer就可以.

该模块需要两个python包,

$ pip install pycryptodome
报了一个错用
No module named 'distutils.cmd'

百度了一下,需要安装

sudo apt install python3-distutils

然后再安装就没有问题了

$ pip install pycryptodome
$ pip install pycfloader

2 从odoo网页下载报表服务

下载完成后直接安装,安装完启动的时候报了一个错

启动WS监听失败.错误原因:10048:[10048] Address already in use

一开始以为是10048端口被占用了,然后

C:\Users\Administrator>netstat -aon | findstr "10048"

发现没有程序占用10048端口,

后来看到康虎云报表的端口是54321,然后查了一下54321

C:\Users\Administrator>netstat -aon | findstr "54321"
  TCP    0.0.0.0:54321          0.0.0.0:0              LISTENING       37480
  TCP    127.0.0.1:54321        127.0.0.1:62629        CLOSE_WAIT      37480
  TCP    127.0.0.1:62629        127.0.0.1:54321        FIN_WAIT_2      4092
  TCP    [::]:54321             [::]:0                 LISTENING       22940

然后到任务管理器,查了一下进程号,发现是被迅雷占用了.停掉迅雷. 服务就起来了.

3 业务需求

要实现的业务需求是给零部件扫码,当满箱的时候,系统自动打印箱号,思路是这样的:

1 后台检测是否满箱,如果满箱,那么将满箱的箱号传递给前台

2 前台js 根据后来传递的数据,判断是否打印箱号

3 获取打印按钮元素, 调用它的点击事件

$('span:contains("打印")').click()

4 获取对应的报表元素,调用它的点击事件

$('span:contains("特斯拉装箱单康虎")').click()

为什么要分两步呢,因为如果不点击打印按钮,dom中没有需要打印的菜单, 打印菜单里面的内容是动态生成的.

模板设计:

设定模板大小:

在模板空白处点击右键,可以设定模板大小,还可以设置页边距,默认是1cm, 如果是比较小的条形码之类的,可以改成0

你可能感兴趣的:(Odoo16,odoo,前端)