(42) Aeroo 模板实战

writer设计一个采购单的模板

我用的是libreoffice 5.2.x

clip_image002[3]

对于这个表格是通过工具栏上的插入指定的表格行和列完成,然后排版

对于单号po00001 这这样插入的

clip_image003[3]

clip_image005[3]

clip_image007[3]

这样就完成一个订单号的插入

这里针对一个订单,就直接用o  ,若是针对多个选中的订单就要用 objects 做循环

下面看一下不同单元插入的输入字段

clip_image008[3]

clip_image009[3]

clip_image011[3]

<for each="line in o.order_line">

对于内循环的就不是用o了。就用line,主要根据<for> 里面自己定义的,我是用line

clip_image012[3]

clip_image013[3]

这样就完成一个循环要定义的字段

clip_image014[3]

这时可能有些同学会问,这些字段是哪里来的。下面就告诉大家

clip_image015[3]

clip_image017[3]

clip_image019[3]

当鼠标放上对,就可以显示对应的字段,你就可以拿这些字段名用在报表模板中

对于订单明细,那要单击进去查

clip_image020[3]

是不是很简单,就这样把模板设计完了。

然后新建报表

clip_image022[3]

测试一下效果

clip_image024[3]

clip_image026[3]

我只有一个采购单,那就写1那个序号

clip_image028[3]

这就看到效果,

测试的可以,就把这个报表通过按扭添加到采购订单那里

clip_image030[3]

这里可以到采购订单列表那里看

clip_image032[4]

可以看到添加按钮成功,这样就可以通过点这个按钮进行打印

对于图片,在odt模板是采用插入框架来实现字段定义

用于实际的报表,你们可以结合前一节的教程和这节的实操去完成。

 

image: asimage(product.product_image)  这个放图片

 

<for each="o in objects"></for>  对所选项做循环

 

 

 

下面用calc来设计销售订单的模版

clip_image034[4]

分析一下:

针对图片,是插入一个图做为占位符,然后设定它的name属性的值

clip_image035[4]

clip_image037[4]

若是用calc 来设计模板是插入超链接

 

不用<> 而是用python:// 开头

clip_image039[4]

红色箭头那里是设定对应内容的超链接

 

后面我用了格式化日期,从而在开头设了 setLang

clip_image041[4]

clip_image043[4]

下面是产品明细:

clip_image045[4]

上面的index,主要用于下面的NO. 对应的编号

clip_image047[4]

clip_image049[4]

 

在第一次选择对应的内容设置超链接时会相对简单,当要再次修改对应文字的超链接要有一定的小技巧

如:

clip_image051[4]

要再次改变红框字对应的超链接的值

跟我来一起操作

第一步

对着它右击:

clip_image052[4]

第二步:

移到内容上单击:

clip_image054[4]

这时弹出框会消失

第三步:

对着内容双击:

clip_image055[4]

这样就选中了

第四步:

接着单点工具栏的超级链接按钮

clip_image057[4]

clip_image059[4]

修改红框的值,然后保存就可以了

 

 

配合上章的函数,可以格式报表的数据,小心操作,就可以设计出自己要用的模板

 

${(object.name or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}.pdf  自定义输出报表文件名

结合report_custom_filename 模块

 

原文地址:https://www.cnblogs.com/toby2chen/p/5868043.html