1.1 网格

网格的单元格可以输入文字或者绑定字段,也可以作为容器放置所有控件包括网格本身。

网格对象创建时默认为3行3列,可以在网格的属性中修改为实际需要的行列数,如下图:

修改后,网格本身的大小不变,会在网格末尾增删行列。调整好各行列的宽度后就可以在单元格中创建需要的数据对象了。

网格的单元格可以进行&34;合并单元格&34;,合并后还可以进行&34;拆分单元格&34;。

网格的行可以通过鼠标拖拉来调整行高,也可以在属性中设置,如下图:

如果选中行高自适应,执行结果行的高度会随行里内容的高度而变化,内容是多少,行高就有多高。注意该功能生效,必须为单元格直接绑定字段或输入文本内容。

网格可以直接设置显示文字或绑定字段,或者作为容器放置所有控件包括网格本身。。

网格单元格属性分3类:文本、字段、容器,如下图:

用户设置单元格类型为&34;文本&34;时,可以定义固定的文本内容。

用户设置单元格类型为&34;字段&34;时,可以从下拉列表中选择绑定的数据源,以及需要绑定的字段。数据源下拉列表显示的是已引入本模板中的数据源名称。

用户设置单元格类型为&34;容器&34;时,网格单元格的作用与原有相同,可以放置文字、金额等单元对象。

其他页签请参考&34;文字&34;控件、数据表单元格。

1.2 数据表

数据表是最主要的展示数据的组件。数据表具有分组、统计以及循环展示数据的功能。

1.2.1 结构

数据表是一种表格,组成就是行、列、单元格。数据表的主要功能都集中在行和单元格上,数据表的行分为3种:普通行、分组行、数据行。

(1)普通行:主要作用是用来做表头(尾)或报表头(尾),可以在其单元格内输入文本、绑定字段、或设置为统计字段,对所有数据进行总计。普通行可以设置为&34;每页出现&34;。普通行在导航栏中的报表结构树中用如下图标以及文字来表示:

(2)分组行:用做于显示分组信息,可以在其单元格内输入文本、绑定字段、或设置为统计字段,此时统计字段的功能是对分组内的数据进行统计。

分组行又分为分组头行和尾行,分别位于数据行的上面和下面,每个分组至少有一对分组头尾行,如果不需要显示出来,只需设置行属性为&34;不打印&34;即可。一个分组也可以有多个分组行,通过插入行的操作增加分组行。分组的层次关系可以通过数据表左边的浮动的结构图来展示,如下图,我们用不同的颜色标示了功能,白色的行为数据行,橘黄色的为一个分组的2个分组行,蓝色的为最外层分组的3个分组行。可以看出每个分组在结构图中都有一条黑线来连接起来表示属于同一个分组。

分组行可以设置为&34;每页出现&34;。分组行和数据行之间、分组行之间不可插入普通行。分组行在导航栏中的报表结构树中用如下图标以及文字来表示:

(3)数据行:数据行是用来循环展示数据,例如可以用来展示分录行或明细行,是数据表中最重要的行。每个数据表里有只且仅有一行数据行,不能删除也不能增加,如果不想显示数据行,只需设置行属性为&34;不打印&34;即可。

数据行属性中可以设置为报表型和套打型2种类型。如下图,报表型即为不限制一页打多少行数据,根据实际的数据量以及可打印的空间由执行引擎来决定一页打多少行,此时也可以设置为&34;行高自适应&34;。套打型即为设置每页固定打多少行,例如我们做凭证时可以设置为每页打8行,即&34;每页重复次数&34;为8,当一个凭证的分录例如有14行,则会打2页,第一页打8行,第二页打6行数据和2行空行。

(4)单元格:单元格的类型有文本、字段、统计、运算以及容器。

&34;文本&34;类型指单元格内容为文本内容,直接输入文字即可。&34;字段&34;类型指单元格内容来源于绑定字段。&34;容器&34;类型指单元格可以作为容器嵌套放入除数据表以外的其他控件。

&34;统计&34;类型是指单元格具有统计功能(注:该类型对于数据行中的单元格无效)。统计方法目前有5种:求和、平均值、最大值、最小值、计数。统计范围又可分为以下4种:

分组小计 — 统计本分组内的数据,如果是普通行中的单元格,则该统计即为总计所有数据。&34;分组结束才显示分组小计&34;此选项适用于套打型,勾选上时,当一份单据有多页时,总计数只在最后一张中打印出来,前面页中不打印,但行存在。

区域统计 — 统计当前页内本分组内的所有数据,如果是普通行中的单元格,则该统计即为统计本页的所有数据。

累计 — 累计当前页前所有页加当前页内本分组内的所有数据,如果是普通行中的单元格,则该统计即为累计从分组开始到当前的所有数据。

混合 — 即先进行分组内每页统计,最后一页显示整个分组的统计。

1.2.2 概念

(1)每页出现:普通行、分组行的属性,设置了此属性,行会在每页都打印,常用于每页都要打印表头(尾)或报表头(尾)的需求。

(2)行高自适应:数据行的属性,设置了此属性,行的高度会根据内容的多少而变化,设计时行的高度是最小高度。

1.2.3 功能

这里的功能都可以在菜单〖表格〗中找到。

(1)数据表向导:

以向导的方式快速实现数据表的分组、统计以及字段布局。向导一共四步。

第一步,选择数据表绑定的数据源:

第二步,选择数据表中数据行中所需要打印的字段,例如凭证中分录行里需要打印的字段,如下图:

如不需要分组和统计,到这一步就可以点&34;完成&34;按钮了。此时,数据表会生成一个表头(一行普通行)和分录信息(数据行),如下图:

第三步,选择分组依据,如下图:

这一步也可以不设置,按下一步去设置统计字段,此时数据表中会在数据行下面添加一行普通行,在被计算的列对应位置生成统计字段,如下图:

第四步,设置统计字段,如下图:

可以选择总计字段也可以选择每个分组里的汇总字段,每个统计字段都可以修改属性,如下图:

默认统计字段的位置为&34;分组尾&34;,即统计字段放在分组尾行里,位置为&34;分组头&34;即统计字段放在分组尾行里。

最终生成结果如下图:

(2)分组管理

管理数据表分组。如下图:

右边&34;已添加分组&34;里分组从上到下的次序表示先后的分组次序,对应到数据表中分组行为从外到里。可以通过&34;

&34;按钮调整分组次序,同时数据表里的分组行也会被相应调整。

可以为每个分组设置属性,点&34;高级&34;按钮,设置&34;不同分组重起一页&34;,如下图,如果选中该属性,则每个分组的数据都会另起一页打印。

1.3 动态列表

BOS6.3新推出的控件,EAS5.9及以上版本都可使用。

1.3.1 主要功能

主要用于不确定内容的横向排列,且自动折行的打印情况,例如以下2个案例:

1、一家单位总共有数十个薪酬项目,打印工资条时每个人只打出有数据的项目,而且对于数值等于零的项目,也不要打印出来。薪酬项目排列时自动折行,每个人的工资条大小可能不一样。

图:工资条打印需求一

2、工资条打印时,每三个项目合并在一格中。

图:工资条打印需求二

1.3.2 原理

结构上动态列表由动态列表套着动态单元形成,如下图:

动态单元:容器或者直接绑定字段,位于动态列表的左上角,为容器时可放置单元对象绑定数据,即为数据的设计区域。设计器的大小即为执行器的大小。不能进行自适应。

动态列表:在设计期定义的一块可供重复动态单元内容的区域。执行时,数据源的行集,每一行对应输出一个单元格。

输出方向:分为横向折行或纵向换列,如上图中黄色箭头示意。

1.3.3 动态单元属性

属性设置

属性设置

· 其他属性和普通单元格属性一致,但样式中不能设置填格。

· 分为字段和容器2种类型

· 字段类型,可以直接绑定字段,数据源为动态列表中绑定的数据源

· 容器类型:如果绑定数据源需和动态列表中绑定的数据源一致。

1.3.4 动态列表属性

· 绑定数据源,该数据源即为动态单元所使用的数据源

· 可设置动态单元输出方向:横向和纵向

· 高度自适应:

1)如果高度自适应,执行时高度可能因数据源结果集行数的多少而变化。动态列表的宽度总是固定不变的;对象会将所有数据完整输出,如果空间不够,将引起分页。

2)当高度固定时,对象不引起分页,且只在区域划定的范围内输出单元容器,多余数据将被丢弃。

· 调整列宽横向占满:指当数据不足以形成表格的一行时,或当动态列表的宽度不是动态单元宽度的整数倍时,剩余宽度均分给已输出单元格

图:&34;调整列宽横向占满&34;示例

· 数据结束后补空格

· 数据转置

数据转置功能,用于将数据源当前行的若干指定字段,转换成可供动态列表输出的行集,每个字段对应转成一行。且转置时允许设置&34;排除零值&34;过滤掉值为0的字段。

1.4 条形码

BOS80新推出的控件,EAS7.5及以上版本都可使用。

1.4.1 主要功能

主要用于固定资产及相关模块套打条形码使用。

1.4.2 原理

该控件可根据数据源提供的字段信息及时形成条码。

1.4.3 使用方式

第一步,下载&34;79款条形码字库&34;,网上很多,免费下载

第二步,解压缩字体到eas客户端所在的系统Fonts目录下

第三步,修改模板,设置字段字体为条码字体

1.4.4 条形码属性

数据源/文本处添加:数据源:${字段},可以即时将该字段的内容转化为条形码。

码制:目前仅支持一维条形码。

DPI:条形码的分辨率,越小越精确。

1.5 文字

文字组件主要是为了显示用户输入的文字或绑定的数据源字段内容的。属性有5页:数据、格式、样式、边框、通用。

数据:

属性设置

在此页默认为自定义,即数据源为用户输入的文字。也可以直接在页面上双击对象,则变成如下的输入方式,用户可以在此直接输入需要显示的文字。

当选中绑定时,可以选择数据源以及其下面的字段作为数据来源,如下图:

属性设置

此时在页面上,该文字对象的显示的是绑定字段的名称,不可双击编辑,如下图:

格式

这一页的作用是设置文本内容显示的格式,没有设置的情况下为常规,如下图:

属性设置

用户可以根据需求设置不同的格式化方式。

样式

属性设置

几个重要的属性:

自动换行 — 选中后,当内容比较长时会根据区域的宽度来自动换行。

自动缩小字体 — 选中后,当内容比较多时,会根据区域的大小来自动缩小字体来显示所有的内容。

以上两个属性同时选中时,会根据区域的大小自动缩小字体并换行。

填格 — 根据设置的网格数,一格一格填的从左向右填,当字数太多时,后面的字则看不到了,在最后一格以省略号代替。

边框 — 设置了边框后,控件也就显示边框了。如果同时选择了填格,则会出现如下效果:

通用

这一页的属性如下图:

属性设置

名称 — 用来在设计器中唯一识别该对象,可以修改,但不允许存在重复名称的对象。名称主要用在脚本编写中。

位置和大小调整 — 调整对象的位置以及大小除了可以用鼠标操作外也可以在此处通过修改左上角的XY位置,以及宽度和高度来实现。右下角的XY位置不能修改,只供参考。

不打印 — 选中后则预览时不显示,打印时不输出。

锁定 — 选中后,对象在页面上的位置固定,鼠标无法拖动或修改,用于防止误操作。

充满容器 — 这里的容器是指对象所在的单元格或页。勾选了横向充满或纵向充满后,对象的大小会跟随容器大小而变化。

前处理脚本 — 是一段小程序,执行引擎在解析模板时,处理该对象之前运行,可用于修改初始值。

后处理脚本 — 是一段小程序,执行引擎在解析模板时,处理该对象之后运行,可用于修改对象的输出结果。具体语法及函数可参考设计器脚本向导中的说明。

1.6 金额

金额组件可用于显示小写金额和大写金额,支持动态币别。属性有5页:数据、金额、样式、边框、通用。

(1)数据:请参见文字组件。不同之处是,自定义内容只能输入数字。

(2)金额:

类型 — 有2种,小写金额模式和大写金额模式。

前缀 — 选中后则在数据前添加货币符号或字样,币别决定了是加什么样的货币符号或字样。

套打模式 — 此模式必须配合样式中的&34;填格&34;属性使用。使用了该功能即为把大写金额中的单位&34;万、仟、佰、拾、元 、角、分&34;等用空格替换。实现如下效果:

在已印刷好的单据:

总计: 万 仟 佰 拾 元 角 分

上套打大写数值,例如23456.78,套打为:

贰 叁 肆 伍 陆 柒 捌

币别 — 系统会根据币别来决定对数字进行什么样的格式化以及前缀。

常量 — 从系统已经提供的几种币别中选择。

绑定 — 动态币别选择,金额根据币别不同进行不同的格式化,这样的话,就不需要为每种币别的单据单独定义一个模板了。

(3)样式:请参见文字组件。

比较特殊的是,填格时,系统会自动把金额格式化为2位小数,没有小数的以零补上。

(4)通用:请参见文字组件。

1.7 图片

属性有3页:图片、边框、通用。

图片:图片属性如下图:

属性设置

绑定 — 图片存储在数据库里,可以采用此方式。例如每个员工的照片。

自定义 — 图片存储在本地文件系统中,从本地文件系统中选择即可。图片格式可以为jpg、gif、gif、png四种。选择了图片后,图片会被保存在模板中,这样不管哪个用户使用该模版时都可以。

边框和通用:请参见文字组件。

当图片存储在数据库中且大小不固定,此时为了实现图片所在的行的高度随图片的高度自适应以不浪费纸张,应该做如下设置:

图片设置为纵向充满;

图片所在表格行设置为行高;