模块安装
和常规模块一样,需要先安装python相关的依赖,首先要安装目录下的requirement.txt,如图:

安装ylhc_report模块

安装完成以后

创建报表
报表安装后便可以创建报表模块


选择报表,设置报表尺寸

设置中如下
(1)、页面大小,可以是标准的尺寸,也可以自定义大小。
(2)、页面方向,标准尺寸会将宽高对调。
(3)、DPI,分辨率。
(4)、宽度mm. 打印一般以mm为单,如果是自定认尺寸,需要填写宽度和高度。
(5)、高度mm。
(6)、宽度px。
(7)、高度px。
(8)、上边距mm。
(9)、下边距mm。
(10)、左边距mm。
(11)、右边距mm。
(12)、是否启用网格。
(13)、网格大小。
(14)、是否显示header。
(11)、是否显示footer。
报表操作
报表创建以后,我们先大概了解下报表设计器。报表顶部有相关的工具,分别是保存,预览、打印和下载
1、区块。报表使用的区块并不太多,但可以通过插件扩展。

双择以后双击选择自己需要的图像,也可以在右侧双击上传,也可以将图表拖入进行上传,可以通过搜索进行过滤或是左侧分类进行筛选。右侧上传的元素会在右侧的列表中。注意,图像上传后背景为黑色,如果是透明图片需要设置背景为透明色。

(2)、条码。

条码设置如下:

a、条码编码规则。
b、条码的值,需要注意,如果有表达式则会动态评估。
c、表达式。通过表达式动态计算条码的值。
d、父级表达式。一些情况下,可能元素会嵌套在循环中,所以需要指定父级循环。
e、父级上下文变量。
e、父级上下文变量。
f、条形码宽度。
g、边距。
h、是否显示值。
h、是否显示值。
i、字体大小。
j、文本边距,也就是和条码的距离。
j、文本边距,也就是和条码的距离。
(3)、二维码。

设置如下
(a)、值。
(b)、表达多。
(c)、父级表达式。
(d)、父级表达式上下文变量。
(e)、前景颜色。
(f)、背景颜色。
(4)、盒子。
命子是作为一个窗口器使用。目的是为了让其它元素成组。作为其它元素的父级容器。
(f)、背景颜色。
(4)、盒子。
命子是作为一个窗口器使用。目的是为了让其它元素成组。作为其它元素的父级容器。
(5)、表格。
表格作为一个报表的一个非常重要的元素,表格由表格、表格头行、表格头单元、表格体、行、单元格、表格脚、表格脚行、表格脚单元格构成。表格可以调整宽度,行高、同时,按住ctrl键同时选择单元格可以弱出表格编辑工具栏。

如图,分别为
(a)、合并单元格,说明,只有在多个单元格选择的情况下才能合并单元格。
(a)、合并单元格,说明,只有在多个单元格选择的情况下才能合并单元格。
(b)、在上方添加行。
(c)、在下方添加行。
(b)、在左侧添加列。
(e)、在右侧添加列。
(f)、删除行。
(g)、删除列。
(c)、在下方添加行。
(b)、在左侧添加列。
(e)、在右侧添加列。
(f)、删除行。
(g)、删除列。
(h)、删除表格。
选中单元格后可以通过向上的箭头选择行或是选择表格
选中单元格后可以通过向上的箭头选择行或是选择表格

下面分别对各自的配置进行介绍

单元格,可以设置单元格的rowspan和colspan, 也可以是动太的表达式。同时还有单元格的对齐方式
a、top顶部对齐。
b、居中。
c、底部。
单元格也可以放置其它复杂元素,但此时需要表格进行子项编辑模式。进入子项编辑模式以后可以往单元格里拖入子元素,不过此式是以流式布局而不是绝对布局的形式。

子项编辑

编辑完成以后保存退出。

如此便可以实现复杂的格式。
表格行,选择单元格以后,选择向上按扭,这个时候会选择行,这个时候可以对行进行设置,行设置如下


a、循环,数据集。
b、循环的行数。循环可能是一行在循环,也可能是多行在循环。
c、循环的上下文变量。
(5)、文本。

用于输入文字。
(6)、段落。

与文本不同,段落为多行文本,同时,可以拖入数据源中的字段进行动态渲染。
(7)、数据源。
https://www.ylhctec.com/odoo-dashboard-v2中内部数据源和外部数据源。需要注意的是,报表一盘会和表单或是列表绑定,这个时候就取要设置从上下文中获取数据记录ID或是IDS
数据源配置完成以后,在左侧的数据源面版便可以选择数据源以后出现相应的数据结构,此时可以拖动变量到界面中

数据源配置完成以后,在左侧的数据源面版便可以选择数据源以后出现相应的数据结构,此时可以拖动变量到界面中

拖动变量到界面中, 如图:

也可以拖动到文字段落中

最渲染结果

也可以拖动到文字段落中

最渲染结果

(8)、表达式输出。

可以拖入到界面中或是拖入到文字段落中,如图,在设置中配置表达式的值

点击省略号进入表达式编辑界面

在此界面可以进行表达式编辑,可以合用数据源变量,常量或是函数,点击会替换选择。

(9)、循环。

循环用于数据集的输入,内部同样使用绝对定位模式,拖入后,元素会属于这个循环的子元素,同时也只对对子元素进行循环。配置如下:

a、数据集。通过表达式编辑器进行编辑。
b、循环变量。
c、方向,水平或是纵向。
这里以产品信息为例:

产品作为循环,下面有name,image256和price,布局如下,要用到一个context_var的组件,用于从上下文获取值。

图像配置如下

点击预览

打印配置
报表设计也后还需要进行配置,报表模块需和远程打印模块结合,这样才能将报表发送到打印机进行打印,远程打印模块具体请参考 https://www.ylhctec.com/blog/odoo-3/printer-39,只是现在配置打印报表时需要选择ylhc_designer,具体操作如下:
1、创建odoo报表记录。

配置如下

配置完成以后:

点击绑定将菜单绑定到视图的侧边栏,如图:
客户端连接服务器,同时配置报表映射,客户端可以从个地方下载:
通过网盘分享的文件:打印客户端
链接: https://pan.baidu.com/s/1yePivTSP62fwrspW0RQkFA?pwd=ib65 提取码: ib65
--来自百度网盘超级会员v4的分享
配置如图,如果是http则配置80端口,如果是https则配置443端口
链接: https://pan.baidu.com/s/1yePivTSP62fwrspW0RQkFA?pwd=ib65 提取码: ib65
--来自百度网盘超级会员v4的分享
配置如图,如果是http则配置80端口,如果是https则配置443端口

客户端连接以后创建刚才报表的映射

最终打印效果如下,如此,便可以很方的设计各种报表,同时也避免了因为html带来的缓慢问题,可以快速生成报表

