## 1、报表管理器

软件系统集成了一款功能非常强大的报表设计器，其操作界面和使用方法与Excel非常相似，如果您对Excel非常熟悉的话，掌握该报表设计器也应该是驾轻就熟的事情。 以下我们简要介绍一些有关此报表设计器的基础知识和操作方法。

报表编辑器简介
Anycell Report 是天方工作室出品的一套功能强大的中国式报表编辑器，全中文操作界面、使用简单方便、比Excel更灵活的报表编辑工具，是迄今为止国产最完美的报表编辑器之一。其有以下几个显著的特点：
· 表格式: 操作界面与Excel非常相似，并且可以做出比Excel更灵活的表格来。
· 支持多种单元格样式: 可以打印图像、图表(直方图、折线图等)、Rich文本、条形码等。
· 强大的计算和合计功能: 内置表达式解析系统和函数库。
· 可扩充性: 可轻易扩充函数库、报表样式和单元格样式。
· 支持多种报表样式: 如清单式、分组、交叉表等。
· 支持多栏式报表。

报表编辑器基础知识
一 常用基本概念
· 单元格：在编辑窗口中一个个小方格即为单元格，单元格中的内容既可以为数字，也可以为文字，或者是计算公式；
· 单元格区域：是指工作表中连续的多个被选中的单元格。请在开始位置按下鼠标左键不要松手，然后拖动到结束位置松开即可，通常被选中的区域以反白来表示；
· 表体带区：报表编辑器把一个报表划分出几个功能区，不同的区域分别表示报表的不同部分，具体包括如下几个部分：
① 表头：表头部分的内容，只在整个报表的第一页的顶部显示一次，不管报表有多少页。
② 页头：页头部分的内容，只在整个报表中每页的顶部、表头下面显示一次。在模板图中可以很清楚的看出从表格的第一行到第七行都是表头部分。在清单样式报表中，页头部分在报表的所有页面中的信息是不变的。
③ 明细：明细部分的内容，通常用来显示报表中的主要数据项。

④ 页尾：页头部分的内容，只在整个报表中每页的尾部、表尾上面显示一次。在模板中的第九行以下都是页尾部分。
⑤ 表尾：表尾部分的内容，只在整个报表的最后一页的底部显示一次，不管报表有多少页。
· 工作表：每个报表可能由多个子报表构成，单独的子报表即为工作表，通常默认的名称为“子报表 1、子报表 2、……”，双击名称位置可以显示子报表对其进行修改；
· 公式的类型：公式可分为两大类，第一类为单元格间互相运算的常规公式，通常在定义公式时，第一个字符必须是等于号（ “＝”）。第二类为从系统中获取数据的取数公式。在公式中出现的所有符号，除汉字外，都必须是半角（英文）字符， 否则将被 认为是非法公式，不予处理。为确保您所输入的字符为英文字符，您在输入非汉字时，最好是在英文状态下输入；
· 常用的运算符有：加 + ， 减 - ，乘 * ，除 /。只有内容为数字类型的单元格才能进行相互间的运算。
· 公式的输入，除了直接在单元格中输入公式外，还可以点击【插入】→【插入表达式】或【插入函数】等，打开“表达式”或“函数”操作窗口，来输入相应的表达式。该窗口包括了数据库表，数据库字段、函数、变量、以及逻辑运算符等常用表达式。
其中：
数据库表：当前设计的报表中所要使用的数据库表；
数据库字段：当前设计的报表中所要使用的数据库表中的所有数据库字段，也就时报表显示的项目；
函数：包含了有关自定义报表的报表函数、统计函数、字符函数、日期函数、数字函数、系统函数、以及其它函数等；
变量：包含了有关自定义报表的系统变量和自定义变量；
对任何一个企业来说，单据的样式是相对固定的。在单据中，那些固定的内容，如名称等是固定不变的，我们称它为格式项；
像单据日期，单号，单据中的货品名称、单价、数量、金额等都是随时变动的，我们称它为数据项。对于格式项，您在对应的单元格中直接输入文字即可；对于数据项，我们有一套完整的取值公式。

使用报表编辑器
一 进入报表编辑器
打开任何一张在右上角有打印样式选择框的单据，点击【打印】下拉按钮，选中【设置打印样式】，系统会自动弹出 Anycell Report 报表编辑器
二 界面说明
1、菜单栏：指该界面上方的功能栏，包括：文件、编辑、表格、格式、插入、帮助。详细功能说明如下：
· 文件：包括新建表格、打开、关闭、保存、另存为、页面属性、页眉页脚、打印预览、打印、打印当前设计格式、退出等功能，我们将在下面的业务操作中介绍到各功能的使用方法；
· 编辑：包括撤销、重复、复制、剪切、粘贴、清除内容、左面对齐、右面对齐等重用的编辑操作功能；
· 表格：包括插入行、添加行、删除行、插入单元格、添加单元格、删除单元格、插入一列、添加一列、删除一列等对行、单据格、列进行编辑的所有功能；
· 格式：包括向上套用所选格式、向下套用所选格式、向左套用所选格式、向右套用所选格式、合并单元格、纵向拆分单元格、拆分单元格、单元格属性等对单元格进行合并、拆分操作的功能；
· 插入：包括插入数据字段、插入函数、插入表达式、插入变量、插入图表、插入图像等有关单元格取数的功能；
· 帮助：指单据样式设计的帮助说明书，用户点击【帮助 F1】或点击键盘的【F1】键，即可打开该说明书；
2、工具栏：指进行单元格格式编辑的功能按钮所在的栏，该栏的各功能按钮与编辑、表格、格式等菜单中的功能是一致的；
3、计算公式编辑框： 在工具栏中有一格计算公式编辑框，此编辑框是对单据格进行赋值的地方。其功能有如 Excel 表格中的单元格编辑框。
4、各功能的使用方法及作用请查看下面章节的说明。
三 几项常用的功能和操作介绍
在设置、修改打印样式过程中我们会经常使用到下面的这几项功能，在此先对他们进行详细的说明。
1、报表样式设置：本报表编辑器在系统中预置了几个报表基本模板样式，如：清单报表样式、标签报表样式、分组报表样式等。
我们系统中的各业务单据的打印样式就是基于清单报表样式而设置的。
① 进入报表样式设置界面：点击【文件】→【报表样式设置】菜单，系统会打开此窗体。

② 功能介绍：此界面主要是先给您要设置的报表预定义一个基本的样式：如清单样式、标签样式等，并为报表设置具体哪几个表体功能带区和各功能带区的所处位置（即从第几行开始）。
③ 操作：先在界面的左侧选择一个基本的报表样式，然后在界面的右侧先定义明细数据库表，然后定义您所需要的报表功能带区，并分别定义他们在报表中所在的起始行。要显示某个功能带区，只要选择其右侧的选择框就可以了。
④ 几项特殊功能说明：
· 未足一页时自动补齐空行：此项功能是为了报表打印出来后的效果通一、整齐而设置，比如您公司打印单据的纸张是固定大小、样式的，当某张单据中的记录仅有几行，不足以覆盖全部纸张，如果没有此项功能，本单据的下方就会出现许多空白，许多单据在一起留白的地方就会参差不齐。如果开启此项功能，当不足一页时，会自动加上空白的行来满页显示。
· 最后一页不打印页尾：页尾一般是在每页的下面打印，如果开启这项功能，在报表最后一页就不会打印页尾了。
· 每页最大明细行数：此功能配合“未足一页时自动补齐空行”使用，可以达到很好的效果。此功能可以固定没页的最多记录行数，超出的部分自动放到下页显示。当为 0 时表示没有开启这项功能。
2、修改“格式项”单元格内容：因为格式项单元格内容通常是固定的值，我们可以直接选中该单元格，然后直接输入内容就可以了。
3、修改“数据项”单元格内容：因为数据项单元格的内容通常是动态的值，我们需要为其定义个取值公式。这个取值公式可以是表达式、函数、数据字段、变量或是他们的组合。定义这些表达式、函数、数据字段等的方法基本相同，下面将就数据字段、函数、变量等分别举例说明：
① 编写数据字段：采购入库单中的，供应商名称的数据项单元格－“供应商”名称，先选中此单元格，然后点击菜单【插入】→【插入数据字段…】项，系统会打开“选择数据字段界面”。在界面的左侧列出了本报表模板可以使用的全部数据库表，选择一个您所需要的数据库表，此处需要选择“往来单位表”。选择数据库表后，在界面右侧会列出当前数据库表的全部数据字段，此处我们需要选择“名称”数据字段。选中后点击【确定】按钮。这就完成了给数据项单元格定义“数据字段”取值公式的操作。

② 编写函数：金额的合计数据项单元格，先选中此单元格，然后点击菜单【插入】→【插入函数…】项，系统会打开“函数”列表界面，具体操作步骤如下：

A 在界面左侧点击“合计”函数集合文件夹，在界面右侧就会显示所有的合计类型的函数，选中“SUM”函数，此函数是取所有值的和。点击【确定】按钮后，系统会继续打开定义该函数参数的界面。

B 在函数参数定义界面中需要定义数据库表和数据字段两个参数，具体表示该合计函数将从哪个数据库表的哪个数据库字段取返回值。先定义数据库表，可直接输入“明细表”或点击编辑框右侧的小按钮打开生产该函数参数表达式的“表达式生产器”界面，点击【数据表】按钮，在弹出的全部数据表列表界面中选中“明细表”并点击确定返回函数参数定义界面。

C 按同样的方法定义数据字段参数，此处数据字段选择“货款”字段，表示合计函数将合计明细表中的货款字段。这就完成 了给数据项单元格定义“函数”取值公式的操作。
D 编辑“表达式”取值公式跟编辑“函数”取值公式相似，事实上表达式是由数据字段、函数、变量组合而成的一个复合取值公式，此货款合计也可以用表达式来表示，不过是由一个合计函数组成的而已。
③ 编写变量：如图：－中的公司名称单元格，先选中此单元格，然后点击菜单【插入】→【插入变量…】项，系统会打开“选择变量界面”，其中有两种类型的变量，一中是通用变量，一中是系统变量。此处选择通用变量，然后在通用变量列表中选择“公 司名称”变量，单击【确定】按钮就可以了。
4、定义单元格属性：单元格属性是指：单元格的类型，其内容的对其、字体属性，单元格的边框属性、单元格的颜色属性等。
这部分功能全部在“单元格格式设置”界面（如图：12-8）中。先选中某格单元格，然后点击菜单【格式】→【单元格属性…】就会进入此界面。此处的有许多功能在主界面上方的工具栏上都有设置，以方便用户使用。

① 单元格类型：指该单元格的内容是通用类型（可以是普通文本，也可以是数值、也可以是日期时间等）还是数值，是日期时间还是图像，是条形码还是其它类型。预定义类型后我们可以格式化他们的显示，如把单元格设置为数值类型，我们就可以定义数值的显示格式为“0.00”或是“#.##”等。
② 单元格的对其方式：有水平对其和垂直对其两种。此处的对其和 Word、Excel 的对其操作相同。在此需要说明的是在水平方向单元格内容与单元格左右边框的距离控制和垂直方向的文本控制。前者可以通过控制缩进的值，后者可以通过有几个选项来控制文本，具体有自动换行、自动压缩字体、自动截断字符、无控制这四项。自动换行是指如果文本内容超过单元格的宽度，就自动扩大单元格的高度，多行显示；自动压缩字体是指如果文本内容超过单元格的宽度，就把显示文本的字体变小，来显示文本；剩余两项从字面就可以理解其意思，在此不再多说。
③ 单元格的边框：可定义单元格的边框是否可见，边框线条的粗细、颜色。具体使用方法如 Word、Excel 的操作，在此就不详 细说明了。
5、页面属性：本报表编辑器的页面设计属性和 Word、Excel 的页面设置功能基本相同。在此模块中本系统特别添加了几项特殊功能：
① 自动调整纸高，即打即停：当用户用的是针式打印机连续纸打印时，开启此功能可以优化打印机进纸。
② 允许预览时调整表格线：比如通过调整表格线来扩大、缩小单元格。
③ 允许预览是编辑报表内容：预览时，打印前可以按您的意思修改部分内容。
④ 两遍报表：当您使用“第几页 共几页”这种页码格式时，必须要开启这项功能，否则“共 几 页”就无效。
6、添加删除行列、合并拆分单元格：本报表编辑器的行列的添加删除、单元格合并拆分功能和 Word、Excel 中的表格操作相同，操作方法就不详细说明了。这些功能在菜单【表格】、 【格式】和编辑器主界面上的工具栏中。
用户在参看本部分前请先参看前面所讲述的报表编辑器的基本知识，尤其是报表编辑器的设计思想和常用的操作，这很重要。
为了用户完全能够自由设计单据，我们把此报表编辑器的特色同 MS Excel 软件的优势充分融合在一起，使那些对 MS Excel 软件非常熟悉的用户使用起来能够尽快掌握该功能。
如果我们需要在出库单中增加一个打印样式，此打印样式和系统默认的标准打印样式也很相似，这样的单据样式该如何操作呢？下面我们就来重点介绍这一功能的操作方法。

1、新增一个打印模板：复制新增一个模板文件。
2、删除行：点击菜单【表格】中的删除行功能，删除所有的行。
3、添加行：点击菜单【表格】中的新增行功能，添加行数。
4、定义报表样式：点击【文件】→【报表样式】菜单，参照上面章节说明，定义报表样式为清单样式，同时定义 报表的表格行带区。注意：明细行带区尤为重要。
5、拆分单元格：拆分行。
6、填写格式项：格式项的内容直接填写。选中对应的单元格，然后直接输入就可以了。比如：“销售出库单”、“出货仓库：”等。
7、编写数据项取值公式：上述步骤完成以后还仅仅是一张空的单据，请参照上面章节说明的相关取值公式的编写方法，编写数据字段、函数、变量、表达式等取值公式。
8、修改单元格属性：比如要对显示金额字段的数据显示格式修改、单元格边框线粗细修改、单元格字段修改等请参看前面章节说明的关于单元格属性的编辑方法。
9、单击【保存】后，退出报表编辑器，到此新的报表模板就编辑完成了。

报表编辑器中常用函数说明

函数 | 表达式 | 说 明
Upper | Upper（字符串） | 将字符串转为大写
Lower | Lower（字符串） | 将字符串转为小写
Len | Len（字符串） | 返回（字符串）的长度
Pos | Pos（子串，字符串） | 返回（子串）在（字符串）中的首次出现的位置，如果没有就返回 0
RoundTo | RoundTo（表达式，小数位数） | 指定（表达式）的小数位数，截断的小数部分进行四舍五入处理
FloatToStr | FloatToStr（表达式） | 将数值表达式的值转换为字符串
FormatFloat | FormatFloat（格式字符串，数值） | 返回数值的格式化字符串
IsNull | IsNull（表达式 1，表达式 2） | 如果（表达式 1）的值为空值返回（表达式 2），否则返回（表达式 1）的值
Int | Int（表达式） | 返回（表达式）取整后的值，该函数不进行四舍五入处理，自动截掉全部小数位
Date | Date（时间日期表达式） | 取当前日期
Time | Time（时间日期表达式） | 取当前的时间
Now | Now（时间日期表达式） | 取当前的日期时间
FormatDate | FormatDate（格式字符串，日期时间） | 将日期或时间按指定的格式转换为字符串返回
Count | Count（表名） | 合计记录数
Sum | Sum（表名，表达式） | 合计表达式的值
Avg | Avg（表名，表达式） | 计算表达式的平均值
Max | Max（表名，表达式） | 计算所有记录中 <表达式>的最大值
Min | Min（表名，表达式） | 计算所有记录中 <表达式>的最小值
LineNo | LineNo（数据名称） | 返回（数据名称 ）当前行号，（数据名称）可以是一个表名或表达式
GetCMoney | GetCMoney（金额） | 返回（金额）的中文大写形式
IIf | IIf（条件表达式，表达式 1，表达式 2） | 如果（条件表达式）成立，则返回（表达式 1），否则返回（表达式 2）

报表打印管理器主界面如下：

保存单据后，就可以打印了。在报表打印管理器窗口中，窗口的操作按钮中包括了“打印”“预览”“编辑”“树形”“刷新”“另存为”“修改”“引进”“删除”“退出”。

“打印”: 单击此按钮，系统会自动地按照默认打印机来进行打印。

“预览”: 实现报表的打印状况的预览，需要注意的是，如果点击一下预览，不能显示的话，请多点击一下。也可以选中报表后，双击预览。

请注意，此时的编辑状态中的预览只是对报表模板的预览，用于用户对报表格式进行调整使用，并非真正的打印预览效果。

真正的打印预览效果，请仍然点击“预览”来查看。

“编辑”: 是对当前选中的报表模板进行编辑。选择此功能，会对当前的报表进行直接性的修改。建议初学的用户，最好通过窗口中的“另存为”，另存一个报表模板，在新的模板上进行学习使用。

“树形”:是否显示报表分类的树形目录。报表树形目录，可通过“树形”的点击进行隐藏/显示的互换。

“刷新”：刷新当前的窗口。

“另存”：将当前的报表另存一份新报表。

“修改”：修改当前的报表的名称。

“引进”：从另外的*.apt 文件中引入报表。

“删除”：删除当前选中的报表。

“退出”：退出当前的窗口。

打印报表有很多种，用户可根据情况设定为新建报表、默认报表。

另外，在打印管理器中，还包含了报表默认颜色的设置。用户可以根据不同的报表类型，来设置不同的颜色，更清晰地分类各种不同的报表。在报表打开时，系统会自动跳到默认的报表上。