Reklama
Reklama
UFO 报 表
使用手 册
北京用友软件股份有限公司
二零零三年一月
未经用友软件股份有限公司事先书面许可,本手册的任何部分不得以任何形式进行增删、改编、
节选、翻译、翻印或仿制。
本手册的全部内容用友软件股份有限公司可能随时加以更改,此类更改将不另行通知。
具体应用以软件实际功能为准
本手册的著作权属于用友软件股份有限公司
版权所有・翻制必究
用友、Users’Friend、UFO 为用友软件股份有限公司的注册商标。
UCDOS 是北京希望电脑公司的注册商标。
Windows,MS-DOS,Foxpro,FoxBase,Microsoft C 是 Microsoft Corporation 的注册商标。
PC-DOS 是 IBM 公司的注册商标。
Novell,Netware 是 Novell 公司的注册商标。
dBASE,TurboC,Borland C++是 Borland 公司的注册商标。
本书中涉及的其他产品商标为相应公司所有。
在中华人民共和国印制。
目 录
第1章
系统介绍 .................................................................................................................................................... 1
1.1
UFO 报表简介............................................................................................................................................. 1
1.2
UFO 报表的主要功能 ................................................................................................................................. 1
1.2.1 文件管理功能 ..................................................................................................................................... 1
1.2.2 格式管理功能 ..................................................................................................................................... 2
1.2.3 数据处理功能 ..................................................................................................................................... 2
1.2.4 图形功能 ............................................................................................................................................. 2
1.2.5 丰富的打印功能.................................................................................................................................. 2
1.2.6 强大的二次开发功能.......................................................................................................................... 2
1.2.7 支持多窗口操作.................................................................................................................................. 2
1.2.8 操作更加灵活 ..................................................................................................................................... 2
1.2.9 易学易用 ............................................................................................................................................. 2
1.2.10 更加强大的数据处理功能................................................................................................................ 2
1.2.11 提供数据接口.................................................................................................................................... 3
1.2.12 便捷的应用程序间信息交流功能.................................................................................................... 3
1.2.13 提供应用查询服务............................................................................................................................ 3
1.2.14 图文混排 ........................................................................................................................................... 3
1.2.15 注册管理 ........................................................................................................................................... 3
1.2.16 提供行业报表模板............................................................................................................................ 3
1.2.17 提供联查明细帐功能........................................................................................................................ 3
第2章
UFO 的基本概念....................................................................................................................................... 4
什么是报表的格式状态和数据状态 .......................................................................................................... 4
2.1.1 格式状态 ............................................................................................................................................. 4
2.1.2 数据状态 ............................................................................................................................................. 4
2.2 单元.............................................................................................................................................................. 4
2.2.1 数值单元 ............................................................................................................................................. 4
2.2.2 字符单元 ............................................................................................................................................. 4
2.2.3 表样单元 ............................................................................................................................................. 4
2.3 表页.............................................................................................................................................................. 5
2.1
2.4
区域.............................................................................................................................................................. 5
2.5
组合单元...................................................................................................................................................... 5
2.6
报表的大小.................................................................................................................................................. 6
2.7
固定区和可变区.......................................................................................................................................... 6
2.8
关键字.......................................................................................................................................................... 6
2.9
筛选.............................................................................................................................................................. 6
2.10
关联............................................................................................................................................................ 6
2.11
二维表和三维表........................................................................................................................................ 7
第3章
熟悉 UFO 界面.......................................................................................................................................... 8
窗口的组成.................................................................................................................................................. 8
3.1.1 报表窗口的组成.................................................................................................................................. 9
3.1.2 图表窗口的组成................................................................................................................................ 11
3.2 改变窗口的外观........................................................................................................................................ 12
3.2.1 状态栏 ............................................................................................................................................... 12
3.2.2 工具栏 ............................................................................................................................................... 13
3.1
3.2.3 命令窗 ............................................................................................................................................... 13
3.2.4 命令窗的使用 ................................................................................................................................... 13
3.3 改变报表显示比例.................................................................................................................................... 14
3.4
改变报表的显示风格................................................................................................................................ 14
3.4.1 拆分窗口 ........................................................................................................................................... 14
第4章
操作流程 .................................................................................................................................................. 16
启动和退出 UFO 报表 .............................................................................................................................. 16
4.1.1 启动 UFO 报表 ................................................................................................................................. 16
4.1.2 退出 UFO 报表 ................................................................................................................................. 16
4.1.3 UFO 报表的功能键........................................................................................................................... 16
4.1.4 UFO 报表的命令快捷键................................................................................................................... 17
4.2 制作一个报表的流程................................................................................................................................ 17
4.2.1 制作一个 UFO 报表的流程:.......................................................................................................... 17
4.3 设计一个固定表........................................................................................................................................ 19
4.1
4.4
设计一个可变表........................................................................................................................................ 23
4.4.1 制作产品销售毛利明细表:............................................................................................................ 24
第5章
格式设计的其它功能 .............................................................................................................................. 28
5.1
在“格式状态”下设计报表格式 ............................................................................................................ 28
5.2
设置表尺寸................................................................................................................................................ 28
调整行高和列宽........................................................................................................................................ 28
5.3.1 在格式状态下修改行高和列宽........................................................................................................ 28
5.3.2 在数据状态下修改行高和列宽........................................................................................................ 29
5.4 画表格线.................................................................................................................................................... 29
5.3
设置单元属性............................................................................................................................................ 30
5.5.1 单元属性 ........................................................................................................................................... 30
5.5.2 单元类型 ........................................................................................................................................... 30
5.5.3 数字格式 ........................................................................................................................................... 30
5.5.4 货币符号的定义................................................................................................................................ 30
5.5.5 边框线 ............................................................................................................................................... 31
5.5.6 设置单元属性 ................................................................................................................................... 31
5.6 设置单元风格............................................................................................................................................ 31
5.6.1 字体 31
5.6.2 颜色图案 ........................................................................................................................................... 31
5.6.3 对齐 31
5.6.4 折行显示 ........................................................................................................................................... 31
5.6.5 设置单元风格 ................................................................................................................................... 31
5.7 设置和取消组合单元................................................................................................................................ 31
5.5
5.8
设置和取消关键字.................................................................................................................................... 32
5.9
设置和取消可变区.................................................................................................................................... 33
5.10 套用模板和套用格式 .............................................................................................................................. 33
5.10.1 如何套用报表模板.......................................................................................................................... 33
5.10.2 如何套用格式.................................................................................................................................. 34
5.11 如何自定义模板...................................................................................................................................... 34
5.11.1 定制行业 ......................................................................................................................................... 34
5.11.2 定制模板 ......................................................................................................................................... 35
5.12 报表格式的编辑...................................................................................................................................... 36
第6章
6.1
报表公式的种类 ...................................................................................................................................... 37
计算公式.................................................................................................................................................... 37
6.2
审核公式.................................................................................................................................................... 37
6.3
舍位平衡公式............................................................................................................................................ 37
6.4
在公式中如何表示报表 ............................................................................................................................ 37
6.4.1 如何表示表页 ................................................................................................................................... 37
6.4.2 如何表示报表 ................................................................................................................................... 37
6.4.3 如何表示单元 ................................................................................................................................... 38
6.4.4 如何表示区域 ................................................................................................................................... 38
6.4.5 如何表示可变区................................................................................................................................ 39
6.4.6 运算符 ............................................................................................................................................... 40
6.4.7 表达式 ............................................................................................................................................... 41
第7章
报表公式的编辑 ...................................................................................................................................... 42
计算公式的编辑........................................................................................................................................ 42
7.1.1 如何定义单元公式............................................................................................................................ 42
7.1.2 表页内部的公式................................................................................................................................ 42
7.1.3 表页与表页间的计算公式................................................................................................................ 45
7.1.4 报表与报表间的计算公式................................................................................................................ 46
7.2 编辑审核公式............................................................................................................................................ 47
7.2.1 什么是审核公式................................................................................................................................ 47
7.2.2 定义审核公式 ................................................................................................................................... 48
7.2.3 用审核关系验证报表........................................................................................................................ 50
7.3 编辑舍位平衡公式.................................................................................................................................... 50
7.3.1 什么是舍位平衡................................................................................................................................ 50
7.3.2 定义舍位平衡公式............................................................................................................................ 50
7.3.3 对报表进行舍位平衡操作................................................................................................................ 52
7.1
第8章
报表的格式管理和表页管理 .................................................................................................................. 53
报表的格式管理........................................................................................................................................ 53
8.1.1 在固定区中插入行(列)................................................................................................................ 53
8.1.2 插入可变行(列).............................................................................................................................. 53
8.1.3 在固定区的最后追加行(列)........................................................................................................ 53
8.1.4 追加可变行(列)................................................................................................................................. 54
8.1.5 交换固定区的行(列).................................................................................................................... 54
8.1.6 交换可变行(列)................................................................................................................................. 54
8.1.7 删除固定区中的行(列)................................................................................................................ 55
8.1.8 删除可变行(列)................................................................................................................................. 55
8.2 表页管理.................................................................................................................................................... 55
8.2.1 插入和追加表页................................................................................................................................ 55
8.2.2 交换表页 ........................................................................................................................................... 56
8.2.3 删除表页 ........................................................................................................................................... 56
8.2.4 表页排序 ........................................................................................................................................... 57
8.2.5 查找和定位 ....................................................................................................................................... 57
8.1
第9章
报表数据管理 .......................................................................................................................................... 59
9.1
采集外部数据............................................................................................................................................ 59
9.2
多区域数据透视........................................................................................................................................ 59
9.3
数据汇总.................................................................................................................................................... 60
9.3.1 表页汇总 ........................................................................................................................................... 60
9.3.2 可变区汇总 ....................................................................................................................................... 62
第 10 章
图表概述 ................................................................................................................................................ 65
10.1 UFO 的图表............................................................................................................................................. 65
10.1.1 图表格式 ......................................................................................................................................... 65
10.1.2 图表与报表的关系.......................................................................................................................... 65
10.1.3 图表的存在方式.............................................................................................................................. 65
10.1.4 图表对象的操作.............................................................................................................................. 65
10.2 图表的组成.............................................................................................................................................. 65
第 11 章
11.1
图表对象 ................................................................................................................................................ 67
插入图表对象.......................................................................................................................................... 67
11.2 图表对象激活与修饰 .............................................................................................................................. 68
11.2.1 编辑标题 ......................................................................................................................................... 68
11.2.2 标题字体 ......................................................................................................................................... 68
11.3 改变图表格式.......................................................................................................................................... 69
11.4
定义数据组.............................................................................................................................................. 70
11.5
图表对象的管理...................................................................................................................................... 70
11.6
图形对象的属性...................................................................................................................................... 71
第 12 章
图表窗口 ................................................................................................................................................ 72
12.1
认识图表窗口.......................................................................................................................................... 72
12.2
打开图表窗口.......................................................................................................................................... 73
12.3
显示图表.................................................................................................................................................. 73
12.4
删除图表.................................................................................................................................................. 74
12.5
关闭.......................................................................................................................................................... 74
第 13 章
文件的保护 ............................................................................................................................................ 75
13.1 文件口令.................................................................................................................................................. 75
13.1.1 设置文件口令.................................................................................................................................. 75
13.1.2 更改或取消文件口令...................................................................................................................... 75
13.2 格式加解锁.............................................................................................................................................. 76
13.2.1 格式加锁 ......................................................................................................................................... 76
13.2.2 格式解锁 ......................................................................................................................................... 77
第 14 章
其他功能 ................................................................................................................................................ 78
14.1 文件管理.................................................................................................................................................. 78
14.1.1 UFO 报表的文件类型..................................................................................................................... 78
14.1.2 打开其他文件类型的文件.............................................................................................................. 78
14.1.3 另存为其它文件格式...................................................................................................................... 78
14.1.4 文件的导入及导出.......................................................................................................................... 79
14.1.5 生成 HTML ..................................................................................................................................... 81
14.1.6 XML 文件的导出与导入................................................................................................................ 82
14.2 应用服务.................................................................................................................................................. 83
14.2.1 什么是应用服务.............................................................................................................................. 83
14.2.2 应用服务的使用.............................................................................................................................. 83
14.3 链接和嵌入.............................................................................................................................................. 83
14.3.1 什么是链接 ..................................................................................................................................... 83
14.3.2 什么是嵌入 ..................................................................................................................................... 83
14.3.3 链接与嵌入的区别.......................................................................................................................... 84
14.3.4 嵌入新对象 ..................................................................................................................................... 84
14.3.5 链接或嵌入已有的整个文档.......................................................................................................... 84
14.3.6 从已有的文件链接或嵌入选定的信息.......................................................................................... 85
14.3.7 在已安装了源程序的情况下编辑嵌入的对象.............................................................................. 85
14.3.8 没有创建对象的应用程序的情况下编辑对象.............................................................................. 86
14.3.9 编辑链接对象.................................................................................................................................. 86
14.3.10 修改对象的大小............................................................................................................................ 86
14.3.11 对象预览/对象打印 ...................................................................................................................... 86
14.3.12 对象置前/对象置后 ...................................................................................................................... 86
14.3.13 更换图标 ....................................................................................................................................... 86
14.3.14 对象外观 ....................................................................................................................................... 87
14.3.15 对象属性 ....................................................................................................................................... 87
14.3.16 更新链接和控制如何更新链接.................................................................................................... 87
14.4 打印.......................................................................................................................................................... 88
14.4.1 强制分页 ......................................................................................................................................... 88
14.4.2 页面设置 ......................................................................................................................................... 88
14.4.3 打印设置 ......................................................................................................................................... 88
14.4.4 打印预览 ......................................................................................................................................... 88
14.4.5 打印 89
14.4.6 打印图表 ......................................................................................................................................... 89
14.4.7 数据套打 ......................................................................................................................................... 89
14.4.8 对象打印 ......................................................................................................................................... 89
第 15 章
15.1
批命令 .................................................................................................................................................... 90
什么是批命令.......................................................................................................................................... 90
15.2 批命令的实现过程.................................................................................................................................. 90
第一步 打开"UFOEDIT"窗口 ..................................................................................................................... 90
第二步 创建批命令 ..................................................................................................................................... 90
第三步 执行批命令文件。.......................................................................................................................... 91
15.3 批命令实例.............................................................................................................................................. 92
第 16 章
16.1
自定义菜单 ............................................................................................................................................ 94
什么是自定义菜单.................................................................................................................................. 94
16.2 自定义菜单的实现过程 .......................................................................................................................... 94
第一步 打开二次开发“UFOEDIT”窗口............................................................................................... 94
第二步 建立自定义菜单............................................................................................................................ 94
第三步 修改自定义菜单............................................................................................................................ 96
第四步 执行自定义菜单............................................................................................................................ 96
第五步 可以打印自定义菜单.................................................................................................................... 97
16.3 自定义菜单实例...................................................................................................................................... 97
第 17 章
变量 ........................................................................................................................................................ 99
17.1
变量说明.................................................................................................................................................. 99
17.2
变量使用.................................................................................................................................................. 99
17.3
清除变量................................................................................................................................................ 100
第 18 章
语句 ...................................................................................................................................................... 101
18.1 分支语句................................................................................................................................................ 101
18.1.1 简单条件分支语句........................................................................................................................ 101
18.1.2 选择条件分支语句........................................................................................................................ 101
18.2 循环语句................................................................................................................................................ 101
18.3
跳转语句................................................................................................................................................ 102
18.4
返回语句................................................................................................................................................ 102
附录 1 函数列表 ................................................................................................................................................. 104
附 1.1
函数介绍............................................................................................................................................. 104
附 1.2 统计函数............................................................................................................................................. 104
附 1.2.1 合计函数 .................................................................................................................................... 104
附 1.2.2 平均值函数 ................................................................................................................................ 106
附 1.2.3 计数函数 .................................................................................................................................... 108
附 1.2.4 最小值函数 ................................................................................................................................ 110
附 1.2.5 最大值函数 ................................................................................................................................ 112
附 1.2.6 方差函数 .................................................................................................................................... 114
附 1.2.7 偏方差函数 ................................................................................................................................ 115
附 1.3 数学函数............................................................................................................................................. 117
附 1.3.1 SIN——正弦函数 ...................................................................................................................... 117
附 1.3.2 COS——余弦函数..................................................................................................................... 118
附 1.3.3 TAN——正切函数 .................................................................................................................... 118
附 1.3.4 CTAN——余切函数.................................................................................................................. 118
附 1.3.5 ABS——绝对值函数................................................................................................................. 119
附 1.3.6 INT——取整函数...................................................................................................................... 119
附 1.3.7 SQR——平方根函数................................................................................................................. 119
附 1.3.8 LN——自然对数函数 ............................................................................................................... 119
附 1.3.9 LOG——以 10 为底的对数函数(常用对数函数) .................................................................... 120
附 1.3.10 EXP——指数函数 ................................................................................................................... 120
附 1.3.11 ROUND——四舍五入函数 .................................................................................................... 120
附 1.3.12 PAI——圆周率函数 ................................................................................................................ 121
附 1.4 字符处理函数包括 ............................................................................................................................. 121
附 1.4.1 LEN 字符串长度函数............................................................................................................. 121
附 1.4.2 STR 数值型值转换成字符型值 ............................................................................................. 121
附 1.4.3 SUBSTR 取子串函数 ............................................................................................................. 121
附 1.4.4 TRIM 去空格函数................................................................................................................... 122
附 1.4.5 LOWER 字符串转换为小写字母函数................................................................................... 122
附 1.4.6 UPPER 字符串转换为大写字母函数 .................................................................................... 122
附 1.4.7 VAL 字符串转换为数值型值 ................................................................................................ 122
附 1.5 日期函数............................................................................................................................................. 123
附 1.5.1 SECOND 秒函数..................................................................................................................... 123
附 1.5.2 MINUTE 分函数 ..................................................................................................................... 123
附 1.5.3 HOUR 小时函数 ..................................................................................................................... 123
附 1.5.4 DAY 日期函数........................................................................................................................ 123
附 1.5.5 MONTH 月份函数 .................................................................................................................. 123
附 1.5.6 SEASON 季度函数 ................................................................................................................. 124
附 1.5.7 YEAR 年函数.......................................................................................................................... 124
附 1.6 表操作辅助函数................................................................................................................................. 124
附 1.6.1 MRECNO 页面号函数............................................................................................................ 124
附 1.6.2 MNUMBER 页面数函数 ........................................................................................................ 124
附 1.6.3 MBOF——页面头函数 ............................................................................................................. 125
附 1.6.4 MEOF——页面尾函数 ............................................................................................................. 125
附 1.6.5SNUMBER——可变区大小函数 ................................................................................................. 125
附 1.6.6 GETINT——窗口交互输入数值函数 ...................................................................................... 125
附 1.6.7 GETSTR——窗口交互输入字符函数...................................................................................... 126
附 1.7 条件取数函数..................................................................................................................................... 126
附 1.7.1 SELECT——本表他页取数函数 .............................................................................................. 126
附 1.7.2 IFF ——条件取值函数............................................................................................................. 126
附 1.8 数据库取数函数................................................................................................................................. 127
附 1.8.1 INDB——读取数据库数据函数 ............................................................................................... 127
附 1.8.2 INDBSQL——读取 Microsoft SQL Server 数据库数据函数.................................................. 127
附 1.8.3 GETRECORD——读取 SQL Server 数据库记录集函数 ........................................................ 128
附录 2 命令列表 ................................................................................................................................................. 129
附 2.1
命令简介 ............................................................................................................................................ 129
附 2.2
状态转换命令 .................................................................................................................................... 129
附
附
附
附
附
附 2.2.1
DESIGN——进入格式状态命令 ........................................................................................ 129
附 2.2.2
DATA——进入数据状态命令............................................................................................ 130
2.3
文件命令 ....................................................................................................................................... 130
附 2.3.1
NEW——新建报表命令...................................................................................................... 130
附 2.3.2
OPENP——打开文件命令 .................................................................................................. 130
附 2.3.3
OPEN REPORT——打开报表命令 .................................................................................... 130
附 2.3.4
CLOSE[ALL]——关闭当前文件命令 [关闭全部打开的文件命令]................................ 131
附 2.3.5
SAVE——保存文件命令 .................................................................................................... 131
附 2.3.6
SAVE AS——另存为命令 .................................................................................................. 131
附 2.3.7
COPY STRUCTURE TO——格式拷贝命令...................................................................... 131
附 2.3.8
COPY TO——复制文件命令 .............................................................................................. 132
附 2.3.9
DO——执行批命令命令 ..................................................................................................... 132
附 2.3.10
SETMENU——执行自定义菜单命令 ................................................................................ 132
附 2.3.11
PRINT——打印命令 ........................................................................................................... 132
附 2.3.12
EXIT——退出 UFO 命令.................................................................................................... 132
附 2.3.13
UFOEDIT——打开二次开发窗口命令 .............................................................................. 132
2.4
编辑命令 ....................................................................................................................................... 133
附 2.4.1 APPEND 追加表页命令 ........................................................................................................... 133
附 2.4.2 GAPPEND 追加可变区命令 .................................................................................................... 133
附 2.4.3 DELETE 删除表页命令............................................................................................................ 133
附 2.4.4 GDELETE 删除可变区命令..................................................................................................... 134
附 2.4.5 INSERT 插入表页/行/列命令 .................................................................................................. 134
附 2.4.6 EXCHANGE 表页交换命令..................................................................................................... 135
附 2.4.7 CLEAR 清除区域命令.............................................................................................................. 135
附 2.4.8 FREE 清除变量命令................................................................................................................. 135
附 2.4.9 SKIP 翻页命令.......................................................................................................................... 135
附 2.4.10 SETFOCUS 设置当前区域命令............................................................................................. 136
附 2.4.11 SETPAGE 设置当前表页命令 ............................................................................................... 136
附 2.4.12 FIND 查找表页命令 ............................................................................................................... 136
附 2.4.13 GFIND 查找可变区命令 ........................................................................................................ 137
附 2.4.14 CONTINUE 继续上次查找命令 ............................................................................................ 137
2.5
格式命令 ....................................................................................................................................... 138
附 2.5.1
SIZE 定义表尺寸命令 ........................................................................................................ 138
附 2.5.2
HIGH 定义行高命令........................................................................................................... 138
附 2.5.3
WIDE 定义列宽命令 .......................................................................................................... 138
附 2.5.4
DRAW 区域画线................................................................................................................. 138
附 2.5.5
TYPE 定义单元类型........................................................................................................... 139
附 2.5.6
VAREA 定义可变区 ........................................................................................................... 139
附 2.5.7
VARSIZE 定义可变区大小 ................................................................................................ 140
2.6
数据命令 ....................................................................................................................................... 140
附 2.6.1
LET——赋值命令................................................................................................................ 140
附 2.6.2
APPEND FROM——数据采集命令 ................................................................................... 141
附 2.6.3
RECAL——重计算命令...................................................................................................... 141
附 2.6.4
CHECK——审核命令 ......................................................................................................... 141
附 2.6.5
RECHECK——驱动审核命令 ............................................................................................ 142
附 2.6.6
ROUND——驱动舍位平衡命令......................................................................................... 142
附 2.6.7
SORT——表页排序命令..................................................................................................... 142
附 2.6.8
GSORT——可变区排序命令.............................................................................................. 143
附 2.6.9
TOTAL——报表汇总命令.................................................................................................. 143
附 2.6.10
GTOTAL——可变区数据汇总命令 ................................................................................... 145
附 2.6.11
BROWSE——多区域数据透视命令 .................................................................................. 145
附 2.6.12
PAGERECAL——表页重算命令 ....................................................................................... 146
2.7
文本文件输入/输出命令 .............................................................................................................. 146
附 2.7.1
INTEXT 读入文本文件命令............................................................................................... 146
附 2.7.2
OUTTEXT 输出文本文件命令........................................................................................... 147
工具命令 ....................................................................................................................................... 147
附 2.8
附 2.8.1
SET SWITCH ON/OFF 提示框打开/关闭命令 ................................................................. 147
附 2.8.2
PROTECT 格式保护命令 ................................................................................................... 147
附 2.8.3
DISPLAY 窗口显示命令 .................................................................................................... 148
附 2.8.4
LIST 变量列表命令 ............................................................................................................ 148
附 2.8.5
MAIL 传输命令................................................................................................................... 148
附 2.8.6
// 注释命令........................................................................................................................... 149
附录 3 业务函数 ................................................................................................................................................. 150
附 3.1 业务函数概述 ................................................................................................................................... 150
附 3.1.1
应用服务的基本概念........................................................................................................... 150
附 3.1.2
应用服务的深入介绍........................................................................................................... 150
附 3.1.3
业务函数............................................................................................................................... 151
附 3.1.4
升级旧版本账务函数........................................................................................................... 152
附 3.2 有关约定 ........................................................................................................................................... 152
附 3.2.1
名词....................................................................................................................................... 152
附 3.2.2
约定符号............................................................................................................................... 153
附 3.2.3
函数名称............................................................................................................................... 153
附 3.2.4
函数格式及参数................................................................................................................... 153
附 3.2.5
函数返回值........................................................................................................................... 154
附 3.2.6
期间与关键字....................................................................................................................... 154
附 3.2.7
关于账套号、会计年度 ....................................................................................................... 156
附 3.2.8
关于币种............................................................................................................................... 156
附 3.2.9
关于方式字........................................................................................................................... 156
附 3.2.10
其他....................................................................................................................................... 157
附 3.3 业务函数 ........................................................................................................................................... 157
附 3.3.1
总账函数............................................................................................................................... 157
附 3.3.2
成本函数............................................................................................................................... 169
附 3.3.3
工资函数............................................................................................................................... 175
附 3.3.4
固定资产函数....................................................................................................................... 180
附 3.3.5
资金函数............................................................................................................................... 185
附 3.3.6
应收应付函数....................................................................................................................... 186
附 3.3.7
财务分析函数....................................................................................................................... 194
附 3.3.8
采购管理函数....................................................................................................................... 196
附 3.3.9
库存管理函数....................................................................................................................... 201
附 3.3.10
存货核算函数....................................................................................................................... 209
附 3.3.11
销售管理函数....................................................................................................................... 213
第1章
1.1 UFO 报表简介
欢迎您使用用友 ERP-U8 报表管理系统。
UFO 报表是用友软件股份有限公司开发的电子表格软件。
UFO 报表独立运行时,是用于处理日常办公事务。可以完成制作表格、数据运算、作图形、打印
等电子表的所有功能。
该 系 统 是 在 当 今 国 际 流 行 的 计 算 机 操 作 平 台 ---Windows98 下 运 行 的 管 理 型 软 件 , 继 承 了
Windows98 的多任务、多媒体、电子邮件、网络通讯等特性,更加丰富了工资管理的功能,给客
户以全新的感受。
UFO 报表采用面向对象的开发思想。严格地以客观对象为处理目标,彻底摆脱结构划分的弊端,
使得财务人员操作起来,更自然,更方便,更适合他们的思维方式。只要掌握 Windows 98 的基
本操作,就可以操作报表管理软件。
UFO 报表与帐务系统同时运行时,作为通用财经报表系统使用,适用于各行业的财务、会计、人
事、计划、统计、税务、物资等部门。
自 1990 年问世以来,UFO 报表(DOS 版)获得了财经领域和计算机界的多个奖项。1995 年,用
友 UFO 电子表被中国软件行业协会评为“1995 年度优秀软件产品”,同年 11 月用友软件获《计
算机世界》报财务软件调查和评测总分第一名。目前,UFO 报表已在工业、商业、交通业、服务
业、金融保险业、房地产与建筑业、行政事业等各行业得到了推广和应用。
1.2 UFO 报表的主要功能
UFO 报表与其它电子表格的最大区别在于它是真正的三维立体表,在此基础上提供了丰富的实用
功能,完全实现了三维立体表的四维处理能力。
UFO 报表的主要功能有:
文件管理功能
格式管理功能
数据处理功能
图形功能
丰富的打印功能
强大的二次开发功能
支持多窗口操作
操作更加灵活
易学易用
更加强大的数据处理功能
提供数据接口
便捷的应用程序间信息交流功能
提供应用查询服务
图文混排
注册管理
提供行业报表模板
1.2.1
文件管理功能
UFO 报表提供了创建新文件、打开已有的文件、保存文件、备份文件的文件管理功能,并且能够
进行不同文件格式的转换。UFO 报表的文件可以转换为 ACCESS 文件、MS EXCEL 文件、
1
LOTUS1-2-3 文件、文本文件、DBASE 文件、HTML 格式文件。上述文件格式的文件也可转换为
UFO 报表文件。
1.2.2
格式管理功能
UFO 报表提供了丰富的格式设计功能。如设置表尺寸、画表格线(包括斜线)、调整行高列宽、
设置字体和颜色等,可以制作符合各种要求的报表。并且内置了 11 种套用格式和 21 个行业的标
准财务报表模板,可以轻轻松松制表。
1.2.3
数据处理功能
UFO 报表以固定的格式管理大量不同的表页,能将多达 99,999 张具有相同格式的报表资料统一
在一个报表文件中管理,并且在每张表页之间建立有机的联系。提供了排序、审核、舍位平衡、
汇总功能;提供了绝对单元公式和相对单元公式,可以方便、迅速地定义计算公式;提供了种类
丰富的函数,可以从《账务》《应收》《应付》《工资》《固定资产》《销售》《采购》《库存》
等用友产品中提取数据,生成财务报表。
1.2.4
图形功能
UFO 报表提供了很强的图形分析功能,可以很方便地进行图形数据组织,制作包括直方图、立体
图、圆饼图、折线图 等 10 种图式的分析图表。可以编辑图表的位置、大小、标题、字体、颜色
等,并打印输出图表。
1.2.5
丰富的打印功能
所见即所得:屏幕显示内容和位置与打印效果一致。
打印预览功能:随时观看报表或图形的打印效果。
首页尾页功能:自动重复打印报表的表头和表尾。
自动分页功能:根据纸张大小和页面设置,对普通报表和超宽表自动分页。
强制分页功能:可以根据用户需要进行强制分页。
全表打印功能:可以连续打印多张表页。
缩放打印功能:可以在 0.3 到 3 倍之间缩放打印。
控制打印方向、打印品质:可以横向或纵向打印。
1.2.6
强大的二次开发功能
提供批命令和自定义菜单,自动记录命令窗中输入的多个命令,可将有规律性的操作过程编制成
批命令文件。提供了 Windows 风格的自定义菜单,综合利用批命令,可以在短时间内开发出本企
业的专用系统。
1.2.7
支持多窗口操作
采用亲切友好的图形界面,界面设计和操作流程符合 windows 习惯,使用过 Windows 的用户将
很容易掌握 UFO 报表操作。支持多个窗口同时显示和处理,可同时打开的文件和图形窗口多达
40 个,并有拆分窗口功能,可以将报表拆分为多个窗格,便于同时显示报表的不同部分。
1.2.8
操作更加灵活
针对不同使用水平的用户,提供了菜单操作、命令窗操作和批命令操作三种操作方式,并且可把
命令行中的命令记录下来,自动形成批命令文件。可以显示或隐藏屏幕部件,改变窗口的显示方
式和显示比例,界面设计更加合理、美观。
1.2.9
易学易用
提供 21 各行业的标准财务报表模板和 11 种套用格式,并且支持自定义模板功能,可轻松生成复
杂报表。支持全程交互式操作,定义函数、报表汇总等复杂功能,提供导航式操作。提供上下文
相关帮助,在任何状态下,都可以得到与当前操作相关的帮助信息。
1.2.10
更加强大的数据处理功能
数据量增大,一个 UFO 报表能同时容纳 99,999 张表页,每张表页可容纳 9999 行*255 列.支持绝对计
算公式和相对计算公式,支持单值表达式和多值表达式,并可以分类打印各类公式及数据状态下的
内容,支持对数据的立体透视,并且可以保存透视结果.新增自动求和,调整表页的行高列宽功能。
2
1.2.11
提供数据接口
可直接打开多种文件格式的文件,如文本文件、DBASE 数据库文件、ACCSE 文件、MS EXCEL
文件和 LOTUS 1-2-3(4.0 版)文件。UFO 报表文件也可以方便地转换为文本文件、DBASE 数据
库文件、ACCSE 文件、MS EXCEL 文件和 LOTUS 1-2-3(4.0 版)文件。
UFO 报表还可以把文本文件、DBASE 数据库文件和 SQL 数据库文件的数据直接取到当前报表中,
进行数据处理。提供同其他财务软件文件转换接口(文件的导入及导出)功能。
1.2.12
便捷的应用程序间信息交流功能
UFO 报表采用 OLE 技术,使 UFO 报表与支持此技术的应用程序(如 Microsoft office)之间实现
信息共享,将选定的信息以对象的形式嵌入 UFO 报表中。方便用户实现信息共享及更新,可以
在 UFO 报表中插入其它应用程序创建的信息如:Microsoft Excel 电子表格、图表等,而 UFO 报
表也可以嵌入其它应用程序中。使工作更加直观,简单。
1.2.13
提供应用查询服务
为用户提供了应用服务的查询功能,同时应用查询服务提供的函数架起了 UFO 报表系统和用友
软件股份公司的其他业务应用模型(用友公司的总账系统、工资系统等)之间数据传递的桥梁。
一旦安装了这些系统,UFO 报表可以将它们提供的函数加入到函数向导中。
1.2.14
图文混排
将区域作图生成的图形以对象形式插入到报表中,当数据改变时可以不切换窗口观察到图形的变
化,使图表更加直观,并提供对图表对象的预览及打印。
1.2.15
注册管理
UFO 报表的注册管理功能。首先您需要在用友“系统管理”中为操作员是否可以使用 UFO 报表
进行授权,然后每次登录 UFO 报表时,系统将对操作员身份进行合法性判断,只有具有使用 UFO
报表权限的用户才能登录进入 UFO 报表主界面。
即您可以对普通操作员设置是否能使用 UFO 报表的权限,并对其中的明细功能进行权限管理。
1.2.16
提供行业报表模板
提供了 21 个行业的标准财务报表模板,包括最新的《现金流量表》,可以轻松生成复杂报表。
提供自定义模板的新功能,可以根据本单位的实际需要定制模板。
1.2.17
提供联查明细帐功能
提供在报表上联查明细账功能,用户可以通过此功能查询与报表数据相关帐务系统中的的明细帐
来进行数据的查询分析。
3
第2章
2.1
什么是报表的格式状态和数据状态
UFO 报表 将含有数据的报表分为两大部分来处理,即报表格式设计工作与报表数据处理工作。
报表格式设计工作和报表数据处理工作是在不同的状态下进行的。实现状态切换的是一个特别重
要的按钮──“格式/数据”按钮,点取这个按钮可以在格式状态和数据状态之间切换。
2.1.1
格式状态
在格式状态下设计报表的格式,如表尺寸、行高列宽、单元属性、组合单元、关键字、可变区等。
报表的三类公式:单元公式(计算公式)、审核公式、舍位平衡公式也在格式状态下定义。
在格式状态下所做的操作对本报表所有的表页都发生作用。在格式状态下不能进行数据的录入、
计算等操作。
在格式状态下时,您所看到的是报表的格式,报表的数据全部都隐藏了。
2.1.2
数据状态
在数据状态下管理报表的数据,如输入数据、增加或删除表页、审核、舍位平衡、做图形、汇总、
合并报表等。在数据状态下不能修改报表的格式。
在数据状态下时,您看到的是报表的全部内容,包括格式和数据。
2.2
单元
单元是组成报表的最小单位,单元名称由所在行、列标识。
行号用数字 1-9999 表示,列标用字母 A-IU 表示。
例如:D22 表示第 4 列第 22 行的那个单元。
单元有以下三种类型:
2.2.1
数值单元
是报表的数据,在数据状态下(格式/数据按钮显示为"数据"时)输入。
数值单元的内容可以是 1.7*(10E-308)~1.7*(10E+308)之间的任何数(15 位有效数字),数字可
以直接输入或由单元中存放的单元公式运算生成。建立一个新表时,所有单元的类型缺省为数值。
2.2.2
字符单元
是报表的数据,在数据状态下(格式/数据按钮显示为"数据"时)输入。
字符单元的内容可以是汉字、字母、数字及各种键盘可输入的符号组成的一串字符,一个单元中
最多可输入 63 个字符或 31 个汉字。字符单元的内容也可由单元公式生成。
2.2.3
表样单元
是报表的格式,是定义一个没有数据的空表所需的所有文字、符号或数字。一旦单元被定义为表
样,那么在其中输入的内容对所有表页都有效。
表样在格式状态下(格式/数据按钮显示为"格式"时)输入和修改,在数据状态下(格式/数据按钮
显示为"数据"时)不允许修改。
一个单元中最多可输入 63 个字符或 31 个汉字。
【例 2-1】:如图 5-1 为某单位的资产负债表,屏幕显示为格式下的情形。你下那所看到的没有
数据的空表内容就是表样。
4
图 5-1
点取“格式/数据”按钮切换到数据状态后,屏幕如图 5-2,这时您可以看到表中显示的数据。这
个资产负债表中的“年初数”和“期末数”两列所包含的单元就是数值单元。
图 5-2
2.3
表页
一个 UFO 报表最多可容纳 99,999 张表页,每一张表页是由许多单元组成的。
一个报表中的所有表页具有相同的格式,但其中的数据不同。
表页在报表中的序号在表页的下方以标签的形式出现,称为"页标"。页标用"第 1 页"---"第 99999
页"表示。
2.4
区域
由一张表页上的一组单元组成,自起点单元至终点单元是一个完整的长方形矩阵。
在 UFO 报表 中,区域是二维的,最大的区域是一个二维表的所有单元(整个表页),最小的区域
是一个单元。
2.5
组合单元
由相邻的两个或更多的单元组成,这些单元必须是同一种单元类型(表样、数值、字符),UFO
报表在处理报表时将组合单元视为一个单元。
可以组合同一行相邻的几个单元,可以组合同一列相邻的几个单元,也可以把一个多行多列的平
面区域设为一个组合单元。
5
组合单元的名称可以用区域的名称或区域中的单元的名称来表示。
例如把 B2 到 B3 定义为一个组合单元,这个组合单元可以用"B2"、"B3"、或"B2:B3"表示。
2.6
报表的大小
行数: 1-9999 (缺省值为 50 行)
列数: 1-255 (缺省值为 7 列)
行高: 0-160 毫米 (缺省值为 5 毫米)
列宽: 0-220 毫米 (缺省值为 26 毫米)
表页数: 1-99,999 页(缺省值为 1 页)
2.7
固定区和可变区
固定区是组成一个区域的行数和列数的数量是固定的数目。一旦设定好以后,在固定区域内其单
元总数是不变的。
可变区是屏幕显示一个区域的行数或列数是不固定的数字,可变区的最大行数或最大列数是在格
式设计中设定的。
在一个报表中只能设置一个可变区,或是行可变区或是列可变区,行可变区是指可变区中的行数
是可变的;列可变区是指可变区中的列数是可变的。
设置可变区后,屏幕只显示可变区的第一行或第一列,其他可变行列隐藏在表体内。在以后的数
据操作中,可变行列数随着您的需要而增减。
有可变区的报表称为可变表。没有可变区的表称为固定表。
2.8
关键字
一个 UFO 报表的各个表页代表着不同的经济含义,例如主管单位把其 30 下属单位的利润表组成
一个报表文件,每个单位的利润表占一张表页。为了在这 30 张表页中迅速找到特定单位有必要
每张表页设置一个标记,例如把单位名称设为标记,这个标记就是关键字。
关键字是游离于单元之外的特殊数据单元,可以唯一标识一个表页,用于在大量表页中快速选择
表页。
UFO 报表 共提供了以下六种关键字,关键字的显示位置在格式状态下设置,关键字的值则在数
据状态下录入,每个报表可以定义多个关键字。
单位名称: 字符(最大 28 个字符),为该报表表页编制单位的名称
单位编号:字符型(最大 10 个字符),为该报表表页编制单位的编号
年: 数字型(1980~2099),该报表表页反映的年度
季: 数字型(1~4),该报表表页反映的季度
月: 数字型(1~12),该报表表页反映的月份
日: 数字型(1~31),该报表表页反映的日期
除此之外,UFO 报表还有自定义关键字功能,当定义为“周”和“旬”时,有特殊意义,可以用
于业务函数中代表取数日期,可从其他系统中提取数据。在实际工作中可以根据具体需要灵活运
用这些关键字。
2.9
筛选
筛选是在执行 UFO 报表的命令或函数时,根据用户指定的筛选条件,对报表中每一个表页或每
一个可变行(列)进行判断,只处理符合筛选条件的表页或可变行(列);不处理不符合筛选条
件的表页或可变行(列)。
筛选条件分为表页筛选条件和可变区筛选条件。表页筛选条件指定要处理的表页;可变区筛选条
件指定要处理的可变行或可变列。
筛选条件跟在命令、函数的后面,用“FOR <筛选条件>”来表示。
2.10
关联
UFO 报表中的数据有着特殊的经济含义,因此报表数据不是孤立存在的,一张报表中不同表页的
数据或多个报表中的数据可能存在着这样或那样的经济关系或勾稽关系,要根据这种对应关系找
到相关联的数据进行引用,就需要定义关联条件。UFO 报表在多个报表之间操作时,主要通过关
联条件来实现数据组织。
6
关联条件跟在命令、函数的后面,用“RELATION <关联条件>”来表示。如果有筛选条件,则
关联条件应跟在筛选条件的后面。
2.11
二维表和三维表
确定某一数据位置的要素称为“维”。在一张有方格的纸上填写一个数,这个数的位置可通过行
和列(二维)来描述。
如果将一张有方格的纸称为表,那么这个表就是二维表,通过行(横轴)和列(纵轴)可以找到这个二
维表中的任何位置的数据。
如果将多个相同的二维表叠在一起,找到某一个数据的要素需增加一个,即表页号(Z 轴)。这
一叠表称为一个三维表。
如果将多个不同的三维表放在一起,要从这多个三维表中找到一个数据,又需增加一个要素,即
表名。三维表中的表间操作即称为 “四维运算”。
7
第3章
在使用 UFO 报表之前,先熟悉一下我们将要工作的环境。
3.1
窗口的组成
UFO 报表有 3 个重要窗口,系统窗口、报表窗口和图表窗口。
启动 UFO 报表后启动的是系统窗口,此时窗口中没有打开文件。
在【文件】菜单中点取【新建】命令,将出现报表窗口,在窗口中显示一个系统自动创建的名为
“report1”的报表文件。屏幕如图 3-1
图 3-1
在[工具]菜单中点取[图表窗口]命令,将出现图表窗口,屏幕如图 3-2
图 3-2
8
系统窗口与报表窗口类似,下面我们主要说明报表窗口和图表窗口。
3.1.1
报表窗口的组成
菜单栏
显示报表菜单。UFO 报表有 3 类菜单:系统菜单、报表菜单和图表菜单。
1、系统菜单:
2、报表菜单:
3、图表菜单:
编辑栏
用于编辑单元格的内容。如图
编辑栏左侧的显示框为名字框,用于显示当前选中区域。在格式状态下时,只显示选中区域的名
字;在数据状态下时,显示选中区域的名字和表页号。
按钮用于定义单元公式; 按钮表示放弃输入内容; 按钮表示确认输入内容。当前单元中已
有的内容将自动显示在右侧的编辑框中。
工具栏
工具栏分为常用工具栏和格式工具栏。点中工具栏中的图标可执行相应的命令。
当鼠标移动到图标上并稍稍停留时,在图标下方显示此图标的简单提示,在状态栏中显示此图标
能够完成的功能。用鼠标拖动工具栏可使工具栏位于屏幕的各个位置。
例如:把鼠标移动到 图标上时,出现提示“打开(Ctrl+O)”,在屏幕下方的状态栏中显示“打
开一个已有的文件”。
用鼠标拖动常用工具栏或状态工具栏可使其位于屏幕的各个位置。当把鼠标移动到工具栏窗口的
四角上时,鼠标会变为 形状或 形状,此时拉动鼠标可以改变工具栏窗口的形状。
9
常用工具栏:
图标
作
用
创建一个新的报表文件
打开一个已有的文件
打开模板
保存文件
打印预览,观看打印的实际效果
打印报表
把选定内容剪切到剪贴板
把选定内容复制到剪贴板
把剪贴板的内容粘贴到指定区域
录入关键字的值
表页排序
可变区排序
组合单元
区域画线
联查明细账
向右求和
向下求和
插入图表对象
常用批命令
打开或关闭命令窗
提示信息日志
在线帮助
格式工具栏:
图标
作 用
字体
字号
选定区域内容的字体显示为粗体
选定区域内容的字体显示为斜体
选定区域内容的字体加下划线
选定区域内容显示在单元格的左侧
选定区域内容显示在单元格的中间
10
选定区域内容显示在单元格的右侧
调整选定区域的行高
调整选定区域的列宽
给数值加分节符
给数值加百分号
给数值加常用货币符号
增加小数位数
减少小数位数
全选钮
全选钮在报表的左上角。点中全选钮之后,当前表页的所有单元全部被选中。
行标和列标
行标为按钮。用鼠标点中行标,可选中整行。在行标按钮上拖动鼠标可选中一个多行区域。
行标与行标之间为行高调节区,鼠标移动到行标之间时,会变为 形状,拖动鼠标可调整行高。
当行高调整为 0 时,这一行被隐藏。把鼠标移动到有隐藏行的行标之间时,会变为 形状,拖动
鼠标可拉出隐藏的行。
列标为按钮。用鼠标点中列标,可选中整列。在列标按钮上拖动鼠标可选中一个多列区域。
列标与列标之间为列宽调节区,鼠标移动到列标之间时,会变为 形状,拖动鼠标可调整列宽。
当列宽调整为 0 时,这一列被隐藏。把鼠标移动到有隐藏列的列标之间时,会变为 形状,拖动
鼠标可拉出隐藏的列。
格式/数据按钮
点取"格式/数据"按钮可在格式状态和数据状态之间切换。
页标和页标滚动钮
点取"格式/数据"按钮进入数据状态,页标显示出来。页标是表页在报表中的序号,在表页的下方
用"第 1 页"到"第 99999 页"表示。建一个新文件时默认只有一张表页,页标为"第 1 页"。
页标为白色表示这张表页为当前表页,相应的页号显示在编辑栏中的名字框中。想要对某张表页
进行操作,首先要点中它的页标,使它成为当前表页。
当表页数较大时,所有的页标不可能同时显示。使用页标滚动钮可使要找表页的页标显示在屏幕
上。使用页标滚动钮时,页标随之移动,当前表页不变。
水平滚动条和垂直滚动条
水平滚动条的两端有两个按钮,按向左按钮可使屏幕显示表页左面的内容,按向右按钮可使屏幕
显示表页右面的内容。水平滚动条中有一个滚动块,把鼠标放在滚动块上,按住主按钮拖动滚动
块也可左右移动显示表页。
在数据状态下,把鼠标移动到水平滚动条左端的竖条上,鼠标变为 形状,拖动鼠标可以改变水
平滚动条的长短。
垂直滚动条的两端有两个按钮,按向上按钮可使屏幕显示表页上部的内容,按向下按钮可使屏幕
显示表页下部的内容。垂直滚动条中有一个滚动块,把鼠标放在滚动块上,按住主按钮拖动滚动
块也可上下移动显示表页。
水平拆分钮和垂直拆分钮
拆分钮分为“水平拆分钮”和“垂直拆分钮”,当鼠标放置在拆分钮上时会变为
拖动鼠标可以将窗口拆分为多个子窗口。
3.1.2
形状或
形状,
图表窗口的组成
图表窗口的组成与报表窗口类似,区别在于工作区和工具栏图标。图表工作区用于显示图表,工
具栏图标用于图表的有关操作。
11
工具栏
图标
作 用
打开一个已有的文件
打印预览,观看打印的实际效果
打印报表或图表
显示上一个图形
显示下一个图形
显示第一个图形
显示最后一个图形
删除图形
用上一组数据作图
用下一组数据作图
定义数据组
把图表格式改变为普通直方图
把图表格式改变为求和直方图
把图表格式改变为堆积直方图
把图表格式改变为成组直方图
把图表格式改变为立体直方图
把图表格式改变为立体成组直方图
把图表格式改变为普通折线图
把图表格式改变为成组折线图
把图表格式改变为圆饼图
把图表格式改变为面积图
3.2
改变窗口的外观
您可以选择窗口显示或不显示哪些部件,缩放窗口,改变窗口颜色等。
3.2.1
状态栏
第一次启动 UFO 报表后,状态栏自动显示在屏幕底部。您可以关闭状态栏。以后启动 UFO 报表
时,状态栏将保持上次关闭 UFO 报表时的状态。
【操作步骤】
点取[工具]菜单中的[状态栏],可以看到在【状态栏】菜单前面有一个√,表示此时状态栏已显示。
点取【状态栏菜单就可以】将隐藏状态栏。
再一次点取[状态栏]菜单项,将显示状态栏。
12
3.2.2
工具栏
第一次启动 UFO 报表后,工具栏自动显示在菜单栏下方。您可以用鼠标拖动工具栏,是它位于
屏幕的不同位置,或者关闭工具栏。以后启动 UFO 报表时,工具栏将保持上次关闭 UFO 报表时
的状态。
【操作步骤】
点取【工具】菜单,可以看到的【常用工具栏】与【格式工具栏】的菜单前都有一个√,表示此
是工具栏已显示。点取【常用工具栏】或【格式工具栏】的菜单可以隐藏常用工具栏。
再一次点取【工具】菜单中【常用工具栏】与【格式工具栏】的菜单,可以显示常用工具栏。
3.2.3
命令窗
第一次启动 UFO 报表后,命令窗并不显示在屏幕上。
点取工具栏中的命令窗图标 ,或者点取【文件】菜单中的【命令窗】,可以打开命令窗。
命令窗显示在屏幕的底部,如图 3-3。
图 3-3
命令窗可以改变大小。把鼠标移动到命令窗的上线上,鼠标将变为 形状,拖动鼠标可以改变命
令窗的大小。
再次点取工具栏中的〖命令窗〗图标 ,或者点取【文件】菜单中的【命令窗】,将关闭命令窗。
再次启动 UFO 报表后,命令窗将保留上次关闭 UFO 报表时的状态。例如上次关闭 UFO 报表时
命令为打开的窗,则再次启动 UFO 报表时将会自动打开命令窗。
3.2.4
命令窗的使用
命令窗打开之后,可以在其中输入命令。一个命令输入它的前 4 个字母即可。例如 APPEND 命
令可以书写为 APPE。
一个命令输入完毕之后,按回车执行该命令。在报表窗口中可以看到命令执行的过程。
如果命令书写有误,将出现警告提示框。关闭提示框后,把输入点“I”移动到这条命令上,按
F1 键,将弹出有关此命令的帮助正文,在其中可以查到命令规范等内容。这一条命令执行完毕之
后,命令窗中的输入点“I”自动移动到下一行的开始,等待输入下一条命令。UFO 报表把执行
过的所有的命令自动记录下来。
当您需要重复执行某些命令时,只需将光标移动到以前曾经输入的命令行上,按回车即可执行该
命令。执行完毕之后,可以看到这条命令再次出现在命令窗的最新位置上。
同时按下<Ctrl>键和<Tab>键,可以使命令窗和报表窗口轮流成为当前窗口。
13
3.3
改变报表显示比例
通过改变显示比例可以缩小或放大窗口的显示,窗口的内容只是改变了外观,实际大小并没有改
变。
【操作步骤】
点击【工具】菜单中的【显示比例】,将弹出“显示比例”对话框。
编辑框中输入 30~900 之间的整数。
注意
如果输入的显示比例数字不符合规范,将出现提示框:“请输入一个在 30 和 900 之间的整数。”
3.4
改变报表的显示风格
利用【显示风格】菜单,可以改变报表的外观:显示或隐藏行标和列标,按单元类型分颜色显示,
或者改变网格的颜色。
UFO 报表的单元分为数值单元、字符单元、表样单元三种类型。在一般情况下,数值单元、字符
单元和表样单元在显示时无法加以区分。设置【显示风格】后,数值单元的内容显示为兰色,字
符单元的内容显示为紫色,表样单元的内容显示为绿色。根据不同的显示颜色,可以很容易把不
同类型的单元区别开来。但单元内容实际的颜色并没有改变,只是改变了显示的颜色。
【操作步骤】
1、点取【工具】菜单中的【标准显示】,将弹出“显示风格”对话框如图 3-4
图 3-4
2、点取对话框中的"隐藏行标"后,不显示行标;点取"隐藏列标"后,不显示列标。
3、点取对话框中的"标准颜色"后,数值单元的内容显示为兰色,字符单元的颜色显示为紫色,表
样单元的颜色显示为绿色。
4、在"网格颜色"中列出了 16 种颜色,缺省为浅灰色。在其中选取颜色可以改变在格式状态下的
网格显示颜色。
5、要恢复原有设置,重复 1、2、3、4 步即可。
提示
按 F5 键也可以调出“显示风格”对话框。
把“网格颜色”设为白色将不显示网格线。
3.4.1
拆分窗口
当报表很大时,可以拆分窗口,以设置不滚动行(垂直拆分窗口)和不滚动列(水平拆分窗口)。
点取【窗口】-【拆分窗口】菜单,可以自动在当前单元的位置拆分窗口。
点取【窗口】-【撤消拆分窗口】菜单,可以取消拆分窗口,恢复正常。
例如,把当前单元放在 A3 单元"单位",选择【拆分窗口】,如下图
14
用鼠标拖动“拆分钮”可以拆分到任何位置,将报表拆分为窗格。拆分钮分为“水平拆分钮”和
“垂直拆分钮”。
【操作步骤】
1、指向垂直滚动条顶端和水平滚动条右端的拆分钮。
2、当鼠标放置在拆分钮上时会变为
图 3-5
形状或
形状,拖动鼠标可以将窗口拆分为多个子窗口。如
图 3-5
3、当鼠标变为小手时请单击鼠标左键
提示
双击拆分框可取消拆分。
15
第4章
4.1
4.1.1
启动和退出 UFO 报表
启动 UFO 报表
成功安装 UFO 报表后,将在 Windows 开始菜单的“程序”组中自动加入一项“U8 管理软件”。
点取此项后出现下级菜单,再点取其下级菜单中的“财务会计”中的“UFO 报表”后可以启动
UFO 报表。
4.1.2
退出 UFO 报表
下面的方法都可以退出 UFO 报表:
点取【文件】菜单,在下拉菜单中点取【退出】,可以退出 UFO 报表。
按[ALT+F4]键,可以退出 UFO 报表。
点取屏幕右上角的〖关闭窗口〗按钮 可退出 UFO 报表。
4.1.3
UFO 报表的功能键
[F1]帮助键:
在任何状态下,显示帮助内容。
在没有菜单项和对话框被激活时,按[F1]键弹出【帮助主题】窗口;在有菜单项和对话框被激活
时,按[F1]键弹出与当前操作相关的帮助内容。
[Alt]+菜单字母:
用来选择菜单,激活菜单上的指定菜单项。
[Tab]:
在对话框中各个选项之间或在录入的数据项间正向转换。
[Shift+Tab]:
在对话框中各个选项之间或在录入的数据项间逆向转换。
[Esc]:
输入时,放弃已输入内容;在对话框时,等同于取消按钮。
[PageUp]:
数据处理时,到上一屏。
[PageDown]:
数据处理时,到下一屏。
[Home]:
数据处理时,到本行的开始。
[End]:
数据处理时,到本行的末尾。
[←Backspace]:
删除当前光标前一个字符。
[Del]:
输入时,删除当前光标所在字符。如果输入项被全部选中则删除输入项全部内容。报表处理时,
等同于【编辑】菜单中的【清除】菜单项。
16
[Enter]:
报表处理时,当前单元下移;在输入单元内容时,确认输入;在字处理窗口换行。对话框的确认
键,数据录入的回车键。
[空格键]:
录入空字符。
[←]:
光标左移
[→]:
光标右移
[↑]:
光标上移
[↓]:
光标下移
[Ctrl]+[PageUp]:
报表处理时,翻到上一页。
[Ctrl]+[PageDown]:
报表处理时,翻到下一页。
[Ctrl]+[Home]:
报表处理时,到当前表页的第一个单元;在字处理窗中,到第一行
[Ctrl]+[End]:
报表处理时,到当前表页的最后一个单元;在字处理窗中,到最后一行
4.1.4
UFO 报表的命令快捷键
您在熟练使用 UFO 报表之后,不用打开菜单,直接在键盘上按下列命令快捷键就可以完成相应操
作。
新建报表
[Ctrl+N]
打开报表
[Ctrl+O]
关闭报表或图表
[Ctrl+F4]
保存报表或图表
[Ctrl+S]
设置文件口令
[Ctrl+R]
打印
[Ctrl+P]
退出
[Alt+F4]
剪切
[Ctrl+X]
复制
[Ctrl+C]
粘贴
[Ctrl+V]
编辑单元公式
[=]
显示风格
[F5]
插入图表对象
[Ctrl+F2]
会计日历
[F7]
计算器
[F9]
4.2
4.2.1
制作一个报表的流程
制作一个 UFO 报表的流程:
在以下步骤中,第一、二、四、七步是必需的,因为要完成一般的报表处理,一定要有启动系统
建立报表、设计格式、数据处理、退出系统这些基本过程。实际应用时,具体的操作步骤应视情
况而定。
17
第一步 启动 UFO 报表,建立报表
点取 Windows 开始菜单的“程序”组中 “U8 管理软件”后出现下级菜单,再点取其下级菜单中
的“财务会计”中的“UFO 报表”后可以启动 UFO 报表。
启动 UFO 报表后,首先要创建一个报表。
点取【文件】菜单中的【新建】命令,将自动创建一个空的报表文件,文件名显示在标题栏中,
为“report1”。这时可以在这张报表上开始设计报表格式,在保存文件时用自己的文件名给这张报
表命名。
第二步 设计报表的格式
报表的的格式在格式状态下设计,格式对整个报表都有效。可能包括以下操作:
设置表尺寸:即设定报表的行数和列数。
定义行高和列宽。
画表格线。
设置单元属性:把固定内容的单元如“项目”、“行次”、“期初数”、“期末数”等定为
表样单元;把需要输入数字的单元定为数值单元;把需要输入字符的单元定义为字符单元;
设置单元的字型、字体、字号、颜色、图案、折行显示等。
定义组合单元:即把几个相邻单元合并成一个使用。
设置可变区:即确定可变区在表页上的位置和大小。(根据实际情况而定)
确定关键字在表页上的位置,如单位名称、年、月、日等。
设计好报表格式之后,可以输入表样单元的内容,如“项目”、“行次”、“期初数”、“期
末数”等。
如果需要一个标准的财务报表如资产负债表等,可以利用 UFO 报表提供的财务报表模板自动生
成标准财务报表。UFO 报表还提供了 11 种套用格式,可以选择与报表要求相近的套用格式,再
进行一些必要的更改即可。
第三步 定义各类公式
UFO 报表有三类公式:单元公式(计算公式)、审核公式、舍位平衡公式,公式定义在格式状态
下进行。
单元公式:定义了报表数据之间的运算关系,在报表数值单元中键入“=”就可直接定义计算
公式,所以称之为单元公式。
审核公式:用于审核报表内或报表之间的勾稽关系是否正确,需要用【审核公式】菜单项定
义。
舍位平衡公式:用于报表数据进行进位或小数位取整时调整数据,避免破坏原数据平衡,需
要用【舍位平衡公式】菜单项定义。
第四步 报表数据处理
报表格式和报表中各类公式定义好之后,就可以录入数据并进行处理了。报表数据处理在数据状
态下进行。可能包括以下操作:
因为新建报表只有一张表页,需要追加多个表页。
如果报表中定义了关键字,则录入每张表页上关键字的值。
在数值单元或字符单元录入相应数据。
如果报表中有可变区,可变区初始只有一行或一列,需要追加可变行或可变列,并在可变行
或可变列中录入数据。
随着数据的录入,当前表页的单元公式将自动运算并显示结果。如果报表有审核公式和舍位
平衡公式,则执行审核和舍位平衡。需要的话,做报表汇总和合并报表。
第五步 报表图形处理
选取报表数据后可以制作各种图形,如直方图、圆饼图、折线图、面积图、立体图。图形可随意
移动;图形的标题、数据组可以按照要求设置,并可以打印输出。
第六步 打印报表
可控制打印方向,横向或纵向打印;可控制行列打印顺序;不但可也设置页眉和页脚,还可以设
置财务报表的页首和页尾;可缩放打印;利用打印预览可观看打印效果。
18
第七步 退出 UFO 报表
所有操作进行完毕后,不要忘记保存报表文件。保存后可以退出 UFO 报表系统。如果忘记保存
文件,UFO 报表在退出前将提醒您保存文件。
4.3
设计一个固定表
在 UFO 表中,一个表文件其实就是一个特殊的文件夹,在这个文件夹中,有一个样板专门用来
存放表的格式,这个样板建立后,就可以根据它作出众多格式相同,但内容不同的报表,这些报
表则用来存放那些反映经济业务的数据。样板和一般的数据表的最直观的区别在于窗口左下角的
“格式/数据”按钮的状态,如果按钮为“格式”,则表明当前表示样板;如果按钮为“数据”,
则表明当前表是数据表。可以通过点击该按钮在样板和一般数据表之间进行切换。
下面我们将制作一个具体的报表,如图 4-1。为了初步了解 UFO 报表制作报表的过程,请您按照
下面步骤一步一步操作。
图 4-1
第一步 创建报表文件
点取【文件】菜单中的【新建】命令,将自动创建一个空的报表,并进入格式状态。文件名显示
在标题栏中为“report1”。
第二步 设置表尺寸
点取【格式】菜单中的【表尺寸】,将弹出对话框如图 4-2。
在“行数”框中输入“8”,在“列数”框中输入“7”,点取“确认”按钮。
第三步 画表格线
选取 A3:F7 区域,点取【格式】菜单中的【区域画线】,将对话框如图 4-3
图 4-2
图 4-3
在对话框中点取“确认”按钮。报表窗口如图 4-4。
图 4-4
19
第四步 设置组合单元
选取 B1:E1 区域,点取【格式】菜单中的【组合单元】,将弹出下面对话框,在对话框中点取“整
体组合”按钮。如图 4-5 所示。
图 4-5
按照相同步骤,分别把 B3:C3、D3:E3、F3:F4 区域设置为组合单元。完成之后,报表窗口如图
4-6
图 4-6
第五步 设置单元属性
选取 B5:F7 区域,点取【格式】菜单中的【单元属性】,将弹出对话框如图 4-7
图 4-7
在“单元类型”中选中“数值”,在“格式”中选“逗号”和“小数位数”。选取 A3 单元,点
取【格式】菜单中的【单元属性】,弹出“单元属性”对话框,选择[边框]页签,单击下边框,
设为空。
提示:小数位的控制可通过格式工具栏中的增减数位按钮实现。
设置完成后,选取组合单元 B1:E1,点取【格式】菜单中的【单元属性】,选择[字体图案]页签,
如图 4-8。
20
图 4-8
在“字号”框中选“16”,在“背景色”框中选黄色,在[对齐]页签中旋水平方向“居中”和垂
直方向“居中”,按同样操作,分别把 A3:A7、B3:F4 的单元风格设置为水平方向“居中”和垂
直方向“居中”,把 B5:B7 单元风格设置为水平方向“居右”。设置完成后,报表窗口如图 4-9
图 4-9
提示
可通过格式工具栏中的字体字号及水平方向设置按钮进行简便操作。
第六步 输入表样文字
把当前单元移动到组合单元 B1:E1 上,输入“UFO 演示报表”。
在组合单元 B3:C3 中输入“市场中心”;
在 B4 单元中输入“市场一部”;
在 C4 单元中输入“市场二部”;
在组合单元 D3:E3 中输入“开发中心”;
在 D4 单元中输入“帐务部”;
在 E4 单元中输入“报表部”;
在组合单元 F3:F4 中输入“管理中心”;
在 A5 单元中输入“上半年”;
在 A6 单元中输入“下半年”;
在 A7 单元中输入“合计”。
输入完毕后,报表窗口如图 4-10。
图 4-10
21
第七步 设置关键字
把当前单元移动到 A2 单元,点取【数据】菜单中的【关键字】,在下拉菜单中点取【设置】,
将弹出对话框如图 4-11。
图 4-11
在对话框中点取“确定”按钮。
按同样操作当前单元移动到 C2 单元,在对话框中点取“年”并按“确定”按钮,设置关键字“年”;
按同样操作当前单元移动到 D2 单元,在对话框中点取“月”并按“确定”按钮,设置关键字“月”。
报表窗口如图 4-12。
图 4-12
第八步 定义单元公式
选取 B7:F7 区域,用鼠标点取格式工具栏中的 fx 按钮或者按键盘的“=”弹出下面对话框如图 4-13。
图 4-13
在编辑框中输入“B5:F5+B6:F6”,并按确认按钮。报表窗口如图 4-14。
图 4-14
注意
在单元公式编辑框中输入的各种标点符号必须为英文半角状态输入的,否则会导致公式输入失败。
第九步 录入关键字的值
点取屏幕左下角的“格式/数据”按钮,切换到数据状态。
点取【数据】在档案中的【关键字】,在下拉菜单中点取【录入】,将弹出下面对话框如图 4-15。
22
图 4-15
在“单位名称”编辑框中输入“用友公司”,在“年”编辑框中输入“2002”,在“月”编辑框
中输入“9”。报表窗口如图 4-16。
图 4-16
第十步 录入数据
在报表中录入如图 4-17 数据。录入数据的过程中,可以看到自动显示运算结果。
图 4-17
第十一步 保存报表文件
点取【文件】菜单的【保存】,选择要保存的路径,文件名栏输入“UFO 演示表”以代替“report1.rep”。
点取“保存”按钮后,可以看到标题栏的文件名变为“UFO 演示表”。
4.4
设计一个可变表
一般来说企业常用报表的格式比较固定,即使有变化,也可以通过修改固定表来实现。下面我们
要讲的可变表不是指固定表格时的变化,而是指那些行或列数不固定,随实际需要可增减的报表。
比如下面的例子:
某公司 9、10 月份销售的产品有三种,分别是甲产品、乙产品、丙产品。为考核各种产品的获利
能力,设计以下报表:
产品销售毛利明细表
单位名称:X 公司
年 月
单位:元
产品名称
销售收入
销售成本
销售毛利
合计
在上表中产品的品种是可以变化的,假定在 2002 年度该公司预计最多可以销售 10 种产品(包括
甲、乙、丙三种产品)。各种产品的销售收入和销售成本均根据实际发生数填列;每种产品的销
售毛利是该种产品收入减去各项费用的结果。
23
产品销售有关资料如下:
4.4.1
产品名称
9 月销售收入
9 月销售成本
10 月销售收入
10 月销售成本
甲
70000
40000
60000
37000
乙
50000
30000
60000
33000
丙
30000
10000
0
0
合计
150000
80000
120000
70000
制作产品销售毛利明细表:
第一步 启动 UFO 报表,建立报表
第二步 设计报表的格式和定义公式
1、确定表尺寸
本表共 4 列,行数不固定,最大为 14 行(10 种产品各 1 行,其他 4 行)。
2、输入表头和关键字
方法同固定表。
3、制作表体
在第 3 行各单元分别输入“产品名称”、“销售收入”、“销售成本”、“销售毛利”。在 A5
单元输入“合计”。
4、定义可变区
点中行标 4,点击【格式】菜单下的【可变区】后的【设置】,本例设置行可变,如图 4-18,将
数量改为“10”,点击[确认]。将发现第 5 行的行标变成 14。然后将 A4 单元属性设置为字符型
单元。
图 4-18
注意
一个报表中只能定义一个可变区。如果想重新设置可变区,首先取消现有可变区,再设置新的可变区。修改可变区
大小,可重新设置可变区。
5、定义公式
选中 B14 单元,点击“fx”图标(或键入“=”),系统弹出定义公式的对话框,点击[函数向导],
如图 4-19 选择“统计函数”中的 GTOTAL 函数,点击[下一步]。
24
图 4-19
输入可变区“B4:B13”,如图 4-20,点击[确认]。
图 4-20
同理填列 C14 和 D14 单元。最终结果如图 4-21
25
图 4-21
第三步 保存样板
将该文件命名为“产品销售明细表”保存。
第四步 数据处理
点击左下角“格式/数据”切换按钮,切换到“数据状态”。
1、输入关键字
“单位名称”为“X 公司”,“年”为“2002”,“月”为“9”。
2、插入行
选中 A4 单元,点击【编辑】菜单下的【插入】后的【行】,系统提示输入要插入的行的数量,
输入 2,如图 4-22,点击[确认]。
图 4-22
可以看到屏幕上增加了两行,行标分别为 5 和 6。
3、输入数据
在第 4、5、6 行各单元输入数据,输入结果如图 4-23。
26
图 4-23
同理输入 10 月分的数据。
第五步 排序
第六步 退出
27
第5章
5.1
在“格式状态”下设计报表格式
UFO 报表将含有数据的报表分为两大部分来处理,即报表格式设计工作与报表数据处理工作。报
表格式设计工作和报表数据处理工作是在不同的状态下进行的。实现状态切换的是一个特别重要
的按钮──格式/数据按钮,点取这个按钮可以在格式状态和数据状态之间切换。
在格式状态下设计报表的格式,如表尺寸、行高列宽、单元属性、组合单元、关键字、可变区等。
报表的三类公式:单元公式(计算公式)、审核公式、舍位平衡公式也在格式状态下定义。
在格式状态下所做的操作对本报表所有的表页都发生作用。在格式状态下不能进行数据的录入、
计算等操作。
在格式状态下时,您所看到的是报表的格式,报表的数据全部都隐藏了。
5.2
设置表尺寸
表尺寸即报表表页的行数和列数。表尺寸缺省为 50 行*7 列,最大不能超过 9999 行*255 列。
一个实际报表一般包括表头(标题、副标题、编制单位、日期等)、表体(报表主要数据能容)、
表尾(辅助说明部分)三部分,在设置表尺寸时应包括这三部分。
不过您不用担心,在以后操作中发现表尺寸不合适时,可以随时进行修改,不会丢失数据。当您
增加和删除报表的行列时,表尺寸也将自动增大或减小。
【操作步骤】
1、点取"格式/数据"按钮,进入格式状态。
2、点取[格式]菜单,在下拉菜单中点取[表尺寸],弹出"表尺寸"对话框如图 5-1。
图 5-1
在对话框中输入报表的行数(1-9999 之间)和列数(1-255 之间),确认后表尺寸就设置完成了,
当前处理的报表将按照设置的表尺寸显示。
3、修改表尺寸时,重复 1、2 步操作即可。
5.3
调整行高和列宽
在 UFO 报表中,行高限制在 0-160 毫米之间,缺省为 5 毫米;列宽限制在 0-220 毫米之间,缺省
为 25 毫米。
调整行高和列宽的操作类似,下面以调整行高来说明。
5.3.1
在格式状态下修改行高和列宽
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、选定要调整行高的 1 行或多行,点取【格式】菜单,在下拉菜单中点取【行高】,出现“行
高”对话框如图 5-2。在对话框中输入希望的行高值。
28
图 5-2
提示
调整行高可使用工具栏中的“行高”图标
。
可把鼠标移动到两个行标之间,鼠标变为
,拖动鼠标直到满意的行高,松开鼠标按钮即可。
可用鼠标一次调整多行的行高。点取多个行标,选中一个多行区域,然后利用鼠标
调整行高,选中区域中的
所有行将按新高度显示。
点取表页左上角的全选钮后调整行高,可一次调整所有行的行高。
当行高被调整为 0 时,这一行被隐蔽,行标显示为一条粗黑线。把鼠标移动到粗黑线上,鼠标变为
形状,这
时拖动鼠标可拉出隐藏行。
5.3.2
在数据状态下修改行高和列宽
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、将鼠标移到两个行之间,鼠标变为 ,拖动鼠标可调整行高;同理将鼠标移到两列之间,鼠
标变为 ,拖动鼠标可调整列宽。
提示
若调整某个区域的行高列宽则选中该区域,调整其中一行或一列即可调整整个区域的行高列宽。
5.4
画表格线
UFO 报表的画线类型有网线、框线、横线、竖线、正斜线、反斜线 6 种。表线样式有空线、细实
线、虚线、粗实线共 8 种,单元和区域的周边格线由各种线型绘制,缺省线型为空,即不绘制格
线。
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、选取要画线的区域。
3、点取【格式】菜单,在下拉菜单中点取【区域画线】,将弹出“区域画线”对话框如图 5-3。
图 5-3
在“画线类型”和“样式”中选择一种即可,确认后,选定区域中按指定方式画线。
4、如果想删除区域中的表格线,则重复 1、2、3 步,在对话框中选相应的画线类型样式为“空
线”即可。
29
提示
画表格线可使用工具栏中的“区域画线”图标
要画斜线,选择“正斜线”或“反斜线”和线形。
要删除斜线,选择“正斜线”或“反斜线”,线形选“空线”。
注意
设置正反斜线的区域不能超过 30X30 各单元。
5.5
5.5.1
设置单元属性
单元属性
指单元的类型、数字格式和边框线。单元属性是组成报表格式内容的重要部分,设置好每一个单
元的属性是设计好一个报表的关键。
5.5.2
单元类型
UFO 报表的单元有表样、数值、字符单种类型(请参考“第 2 章 UFO 报表的基本概念”部分)
5.5.3
数字格式
当单元类型为数值时,可以设置数字格式。不同的数字格式可使报表数据整齐规范、意义明了。
数字格式包括:
1、逗号,即分节号,(数值型数据每三位用逗号分隔)缺省为无逗号分隔。
2、百分号%:缺省为空。注意:数字加%号后,实际数值是原来的 100 倍。
3、货币符号:UFO 报表中提供了人民币符、美圆符、英镑符、克郎符、先令符 5 种货币符号,在
其中选定一个。点中此项则显示设置的常用货币符号,缺省为空。
4、小数位数:指定数值型数据的小数点位数(0-7)。缺省为没有小数位(整数)。
提示
单击格式工具栏中增减小数位按钮亦可完成对小数位的设定,是简便操作。
增加位:点击增加
1 位,若增加 n 位则点击 n 次
减少位:点击减少
1 位,若减少 n 位则点击 n 次(n≥0)
格式工具栏增减小数位的图标下的提示信息与状态栏中的提示信息相呼应,具有一致性。如默认状态下将鼠标 移
至
会出现提示信息“小数位数增加(2 位)”,状态栏中的提示为“单元小数位数增加”。点击
一下,表
明小数位数增加 1 位,状态栏的提示信息变为“小数位数增加为 3 位”。
5.5.4
货币符号的定义
可以设置经常使用的货币符号。设置货币符号后,在“单元属性”对话框中选取“货币符号”后,
选定区域将显示已设置的货币符号。
【操作步骤】
1、关闭所有报表,进入系统菜单。
2、点取【文件】菜单中的【货币符号】,将弹出“设置常用货币符号”对话框。如图 5-4
图 5-4
3、在对话框中选择一个货币符号。注意:货币符号的定义对所有报表起作用,如果选择显示货
币符号,将显示此式定义的货币符号。
4、要改变货币符号,重复 1、2、3 步即可。
30
5.5.5
边框线
边框线指单元的四条边线。边框线样式有空线、细实线、虚线、粗实线等 8 种,缺省线型为空,
即单元没有边框线。要想删除单元的边框线,把它重新定义为空即可。
5.5.6
设置单元属性
(参见“4.2 设计一个固定表”部分)
5.6
设置单元风格
单元风格指单元内容的字体、颜色图案、对齐方式和折行显示。
5.6.1
字体
字体包括宋体、仿宋、黑体、楷体等 16 种,缺省为宋体。字形包括普通、粗体、斜体、下划线
等 8 种,缺省为普通。字号 9 号至 120 号,缺省为 12 号字。
5.6.2
颜色图案
前景色指单元内容的颜色,前景色有 16 种,缺省为黑色。
背景色指单元填充的颜色,背景色有 16 种,缺省为白色。
图案指单元的背景图案,共有 4 种背景图案,缺省背景图案为空。想要删除单元中的图案,把它
再一次定义为空即可。
5.6.3
对齐
对齐是指单元内容在单元格中的对齐方式,可在水平方向(居中,居左,居右)和垂直方向(居下,
居中,居上)变化,缺省为水平方向居右,垂直方向居下。
5.6.4
折行显示
当单元的内容超过了单元的宽度之后,多出的部分是不可见的,除非拉大单元的宽度。还有一种
方法:把单元的风格设为折行显示,可以使单元的内容自动随着单元的宽度分几行显示。
【例 5-1】在单元内输入“北京市海淀区上的信息产业基地开拓路 15 号”。在 A1 单元,没有设
置折行显示时,单元显示如图 5-5。
把 A1 单元设置为折行显示,并且拉大单元的行高时,单元显示如图 5-6。
图 5-5
图 5-6
单元设置为折行显示后,改变单元列宽时,单元内容将随宽度的变化重新排列。
5.6.5
设置单元风格
(参见“4.2 设计一个固定表”部分)
5.7
设置和取消组合单元
组合单元由相邻的两个或更多的单元组成,这些单元必须是同一种单元类型(表样、数值、字符),
UFO 报表在处理报表时将组合单元视为一个单元。
可以组合同一行相邻的几个单元,可以组合同一列相邻的几个单元,也可以把一个多行多列的平
面区域设为一个组合单元。
组合单元的名称可以用区域的名称或区域中的单元的名称来表示。
例如把 B2 到 B3 定义为一个组合单元,这个组合单元可以用“B2”、“B3”、或“B2:B3”表示。
31
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、设置组合单元:
选取要设置为组合单元的区域,点取【格式】菜单,在下拉菜单中点取【组合单元】,弹出“组
合单元”对话框如图 5-7。点取“设置组合”按钮设置组合单元。
图 5-7
3、取消组合单元:
选取要取消组合的组合单元,点取【格式】菜单,在下拉菜单中点取【组合单元】,弹出“组合
单元”对话框。点取“取消组合”按钮取消组合单元。
注意
组合单元的内容最多 63 个字符或 31 个汉字。
定义组合单元后,组合单元的单元类型和内容以区域左上角单元为准。
取消组合单元后,区域恢复原有单元类型和内容。
有单元公式的单元不能包含在定义组合单元的区域中。
可变区中的单元不能包含在定义组合单元的区域中。
如果要把包含组合单元的区域重新设置为一个新的组合单元,这个区域应该包含整个组合单元。要取消组合单
元,应恰好选中这个要取消的组合单元。
5.8
设置和取消关键字
UFO 报表 共提供了单位名称、单位编号、年、季、月、日六种关键字(请参考 UFO 报表基本概
念部分)和一个自定义关键字,关键字的显示位置在格式状态下设置,关键字的值则在数据状态
下录入,每个报表可以定义多个关键字。
自定义关键字
关键字的名字由用户定义,最多 10 个字符,例如“经济类型”“Co. style”“报送属性”等。
关键字的值在“数据状态”下录入,可以是 1-30000 之间的数字。
当自定义关键字名称为“周”和“旬”时,它们有特殊的含义,代表业务函数中的取数日期,用
于从其他用友产品中提取数据。
当自定义关键字为“周”时,输入范围为 1-53。它用在业务函数中,例如公式:
tfs("503","周","借","付展示会租金","==",001,年)
假如报表关键字年=1998,周=10,则取 001 账套、1998 年第 10 周的 503 科目,摘要为"付展示会
租金"的借方发生额。
当自定义关键字为“旬”时,输入范围为 1-36。它用在业务函数中,例如公式:
tfs("503","旬","借","付展示会租金","==",001,年)
假如报表关键字年=1998,旬=5,则取 001 账套、1998 年第 5 旬的 503 科目,摘要为"付展示会租
金"的借方发生额。
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、设置关键字:
选取要设置关键字的单元,点取【数据】菜单中的【关键字】,在下拉菜单中点取【设置】,弹
出“设置关键字”对话框如图 5-8。在对话框中的关键字名称中选择一个,确认后在选定单元中显
示关键字名称为红色。
32
图 5-8
图 5-9
3、取消关键字:
点取【数据】菜单中的【关键字】,在下拉菜单中点取【取消】,弹出“取消关键字”对话框如
图 5-9,选取要取消的关键字,则该关键字被取消。
4、关键字设置之后,可以改变关键字在单元中的左右位置。点取【数据】-【关键字】-【偏移】
菜单项,弹出“定义关键字偏移”对话框如图 5-10,在其中输入关键字的偏移量。单元偏移
量的范围是【-300,300】,负数表示向左偏移,正数表示向右偏移。
图 5-10
图 5-11
注意
每个关键字只能定义一次,第二次定义一个已经定义的关键字时,系统自动取消第一次的定义。
每个单元中可以设置多个关键字,其显示位置由单元偏移量控制。
5.9
设置和取消可变区
(请参考“4.4 设计一个可变表”部分)
5.10
套用模板和套用格式
设计一个报表,既可以从头开始按部就班地操作,也可以利用 UFO 报表提供的模板直接生成报
表格式,省时省力。
UFO 报表提供了 11 种报表格式和 21 个行业报表模板包括了 70 多张标准财务报表(包括现金流
量表),也可以包含用户自定义的模板。用户可以根据所在行业挑选相应的报表套用其格式及计
算公式。
套用报表模板和套用格式需要在格式状态下进行。
5.10.1
如何套用报表模板
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、点取【格式】菜单,在下拉菜单中点取【报表模板】,将弹出“报表模板”对话框如图 5-11。
在其中选取行业和财务报表名。确认后,生成一张空的标准财务报表。
注意
当前报表套用标准财务报表模板后,原有内容将丢失。
33
此外,UFO 报表还提供了根据您在登录系统时所选账套所处行业一次生成多张该行业的报表标准
财务报表功能。
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、点取【格式】菜单,在下拉菜单中点取【生成常用报表】(或者点取”常用工具栏”中的”打开
模板”按钮 ),将弹出“生成常用报表”对话框如图 5-12。
确认后,自动生成该行业相应的空的标准财务报表。
图 5-12
5.10.2
图 5-13
如何套用格式
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、选取要套用格式的区域。
3、点取【格式】菜单中的【套用格式】,将弹出“套用格式”对话框如图 5-13。在对话框中选
取一种套用格式。
注意
区域套用格式之后,区域中原有格式和数据全部丢失。
有些套用格式中已设置了计算公式,当前区域套用该格式后,公式同时写入了相应单元中。
5.11
如何自定义模板
用户可以根据本单位的实际需要定制内部报表模板,并将自定义的模板加入系统提供的模板库内,
也可以根据本行业的特征,增加或删除各个行业及其内置的模板。
5.11.1
定制行业
使用定制行业,可以将本单位名称或则单位所属的行业加入到模板的行业类型中,在套用模板时
可以直接选择定制的行业或单位名称。
【操作步骤】
1、在 UFO 报表中作出本单位的模板后,点取【格式】-【自定义模板】,弹出“自定义模板”对
话框如图 5-14。
图 5-14
图 5-15
34
2、点击“增加”弹出“定义模板”编辑框,在编辑框中录入模板所属的行业名称(也可以是单
位名称)。录入正确后该行业被加入“自定义模板”对话框的“行业名称”列表框中。如图
5-15。
3、点击“删除”可以将不需要的行业从行业名称中去除,如想恢复删除的行业执行“增加”操
作。
4、如果要重新定义行业名称,选定需要改变的行业,然后点取“修改”在弹出的编辑框中重新
输入。
5、点取“下一步”进入定制模板对话框。
5.11.2
定制模板
使用定制模板,可以将本单位自制的模板加入到定制行业或系统提供的行业模板下。
[操作步骤]
1、选定某行业,点取“自定模板”的“下一步”,弹出对话框如图 5-16。
2、点击“增加”,弹出模板编辑框如图 5-17。
图 5-16
图 5-17
在“模板名称”编辑框中录入模板的名称(如:利润分配表),在“模板路径”录入模板保存的
路径(如:C:\UFSOFT\MODEL\利润分配表.REP),也可以单击“浏览”,找到模板保存的目录。
确定后自定义的模板加入到“自定义模板”对话框中的模板名称的列表框,在对话框下自动标记
模板路径。
3、若要删除模板点击“删除”可以删除选定的模板,恢复已删除的模板,单击“增加”,重新
录入模板路径及名称。
4、若要修改模板,首先选定需要改变的模板,然后点取“修改”在弹出的对话框如图 5-18 中重
新输入模板名称。
35
图 5-18
5、点取“完成”自定义模板操作结束
5.12
报表格式的编辑
如果要修改报表的行列,可以利用【编辑】菜单中的插入、追加、删除、交换行列命令。
还可以利用剪切、复制、粘贴来复制报表格式,包括其中的单元公式。
36
第6章
在 UFO 报表中,由于各种报表之间操作着密切的数据间的逻辑关系,所以,报表中各种数据的
采集、运算就用到了不同的公式,主要有计算公式(单元公式)、审核公式和舍位平衡公式。
6.1
计算公式
单元公式:定义了报表数据之间的运算关系,在报表数值单元中键入“=”就可直接定义计算公
式,所以称之为单元公式。
单元取值运算公式,如 C3=C1+C2
命令窗中的计算公式,如 LET C5=100,批命令中的计算公式,一次书写命令,执行时批量计算。
6.2
审核公式
在经常使用的各类财经报表中的每个数据都有明确的经济含义,并且各个数据之间一般地都有一
定的勾稽关系。如在一个报表中,小计等于各分项之和;而合计又等于各个小计之和等等。在实
际工作中,为了确保报表数据的准确性,我们经常用这种报表之间或报表之内的勾稽关系对报表
进行勾稽关系检查。一般地来讲,我们称这种检查为数据的审核。
UFO 报表 系统对此特意提供了数据的审核公式,它将报表数据之间的勾稽关系用公式表示出来,
我们称之为审核公式。
6.3
舍位平衡公式
报表数据在进行进位时,如以“元”为单位的报表在上报时可能会转换为以“千元”或“万元”
为单位的报表,原来满足的数据平衡关系可能被破坏,因此需要进行调整,使之符合指定的平衡
公式。如:原始报表数据平衡关系为
50.23+5.24=55.47
若舍掉一位数,即除以 10 后数据平衡关系成为
5.02+0.52=5.55
原来的平衡关系被破坏,应调整为
5.02+0.53=5.55
报表经舍位之后,重新调整平衡关系的公式称为舍位平衡公式。其中,进行进位的操作叫做舍位,
舍位后调整平衡关系的操作叫做平衡调整公式。
6.4
6.4.1
在公式中如何表示报表
如何表示表页
──表页
以@<表页号>表示表页,表页号为 1-99999 之间的数字。如@2 表示第 2 页。
──当前表页
以@表示当前正在处理的表页。
──最大表页
以@@表示最大表页。
6.4.2
如何表示报表
报表名必须用" "括起来,例如利润表应表示为"利润表"。
当报表名用来表示数据的位置时,在报表名的后面应跟减号和大于号。
例如:表示利润表中第 10 页的 D5 单元时,应该用"利润表"->D5@10 表示。
37
6.4.3
如何表示单元
单元可以用它所在行列标表示,例如 A2 表示 A 列中的的 2 个单元;D5 表示 D 列中的第 5 个单
元。
在命令窗和批命令中单元名称可以用下面几种形式表示:
1、<列标><行号>:如 A2 表示 A 列中的第 2 个单元。
2、<列标>#<行号>:如 A#2(等同于 A2)
3、!<列号>#<行号>:如!1#2(等同于 A2)
4、!!##:表示当前表页的最大单元(以屏幕显示的最大行列数为准,不是表尺寸。)
如何描述单元所在的位置
1、单元的完整描述为:
"报表名"-><单元名称>@表页号
例如:在报表“利润表”第 5 张表页上的 A11 单元表示为:"利润表"->A11@5
当表页号省略时,即单元描述为"报表名"-><单元名称>时,系统默认为单元在指定报表的第 1 页
上。
2、单元在当前正在处理的报表上时,报表名可以省略。
单元表示为:<单元名称>@表页号
例如在当前报表第 5 张表页上的 A11 单元表示为:A11@5
3、单元在当前报表的当前表页上时,报表名和表页号可以省略。
单元表示为:<单元名称>
例如在当前表页上的 A11 单元表示为:A11
6.4.4
如何表示区域
区域用形成区域对角线的两个单元的单元名称表示<单元名称>:<单元名称>,不分先后顺序。
图 6-1 区域可表示为:B2:C7、C7:B2、C2:B7、B7:C2。
图 6-1
在命令窗和批命令中
<行>
例如:“#5”表示第 5 行所有单元组成的区域。
“##”表示表页中最后一行所有单元组成的区域。
<列>
例如:“B”或“!2”表示 B 列所有单元组成的区域。
“!!”表示表页中最后一列所有单元组成的区域。
<行>:<行>
例如:“#5:#7”表示第 5 行到第 7 行所有单元组成的区域。
“#1:##”表示整个表页的区域。
<列>:<列>
例如:“B:D”或“!2:!4”或“B:!4”或“!2:D”表示 B 列到 D 列所有单元组成的区域。
“A:!!”或“!1:!!”表示整个表页的区域。
38
6.4.4.1 如何描述区域所在位置
1、区域的完整描述为:
"报表名"-><区域名称>@表页号
例如:在报表“利润表”第 5 张表页上的 A1:A11 区域表示为:
"利润表"->A1:A11@5
当表页号省略时,即单元描述为"报表名"-><区域名称>时,系统默认为区域在指定报表的第 1 页
上。
2、区域在当前正在处理的报表上时,报表名可以省略。
区域表示为:<区域名称>@表页号
例如:在当前报表第 5 张表页上的 A1:A11 区域表示为“A1:A11@5”。
3、区域在当前表页上时,报表名和表页号可以省略。
区域表示为:<区域名称>
例如:在当前表页上的 A1:A11 区域表示为“A1:A11”。
6.4.4.2 区域举例
【例 6-1】:”report1”->A10:B23@12
表示报表”report1”第 12 页的 A10 至 B23 区域。
【例 6-2】:A10:B23
表示当前表页的 A10 至 B23 区域。
【例 6-3】:A:D
表示当前表页的 A 列至 D 列区域。
【例 6-4】:A1:!!##(只有在命令窗和批命令中才能使用!#符号)
表示当前表页的 A1 单元至最大单元区域(整个表页)
【例 6-5】:A:!! (只有在命令窗和批命令中才能使用!#符号)
表示当前表页的 A 列最大列区域(整个表页)
【例 6-6】:#1:#10(只有在命令窗和批命令中才能使用!#符号)
表示当前表页的第 1 行到第 10 行区域。
【例 6-7】:#1:##(只有在命令窗和批命令中才能使用!#符号)
表示当前表页的第 1 行到最大行区域(整个表页)。
6.4.5
如何表示可变区
可变区中的行、列、单元、区域可以同样用行、列、单元、区域的绝对地址表示。与固定区行、
列、单元、区域表示方法相同。
可变区还有另外一套特殊的表示方法,即用“V_<可变区内相对地址>”表示。
由于可变区分为行可变区和列可变区,同样一个名称在行可变区时和在列可变区时会有不同的含
义。
例如:“V_1”在行可变区时表示第 1 可变行(整行);“V_1”在列可变区时表示第 1 行在列
可变区中的部分(非整行)。
如何用“V_<可变区内相对地址>”表示可变区中的:
行可变区中的可变行或列可变区中的行,可以用两种方法表示:
1、V_<行号>
例如:“V_1”表示行可变区的第 1 可变行;或者列可变区中的第 1 行。
2、V_#<行号>
例如:“V_#1”表示行可变区的第 1 可变行;或者列可变区中的第 1 行。
行可变区中的列或列可变区中的可变列,可以用两种方法表示:
1)V_<列标>
例如:“V_A”表示行可变区中的第 1 列;或者列可变区中的第 1 可变列。
2)V_!<列号>
例如:“V_!1”表示行可变区中的第 1 列;或者列可变区中的第 1 可变列。
39
可变区中的单元用 V_<可变区内相对地址>表示。
例如:图 6-2 为某报表的一部分,在报表的第 2 行设置了行可变区,有 2 个可变行。当前单元可
以表示为 V_A1 或者 A2。
图 6-2
可变区区域名称可以用下面几种形式表示:
<V_单元名称>:<V_单元名称>
例如:“V_A1:V_C1”表示行可变区中的第 1 行前 3 个单元组成的区域;或者 A1:C1 区域(列可
变区时)。
<V_行号>
例如:“V_1”或“V_#1”表示行可变区中的第 1 行所有单元组成的区域;或者列可变区的第 1
行所有单元组成的区域。
<V_列标>
例如:“V_A”或“V_!1”表示行可变区的 A 列所有单元组成的区域;或者列可变区中的第 1 列。
< V_行号>:< V_行号>
例如:“V_1:V_2”表示行可变区中的第 1 行到第 2 行所有单元组成的区域;或者列可变区的第
1 行到第 2 行所有单元组成的区域。
< V_列标>:< V_列标>
例如:“V_A:V_B”表示行可变区中的 A 列到 B 列所有单元组成的区域;或者列可变区的第 1
列到第 2 列所有单元组成的区域。
注意
描述区域时,在“:”两边的单元名称应统一,不能混用可变区描述和固定区描述。
例如:区域可以表示为 B2:B5 或 V_B1:V_B4,不能表示为 B2:V_B4 或 V_B1:B5。
6.4.6
运算符
UFO 报表的运算符包括算术运算符、比较运算符和逻辑运算符三类。
6.4.6.1 算术运算符
算术运算符是在描述运算公式时采用的符号,UFO 报表可使用的算术运算符及运算符的优先顺序
如下:
顺序
算术运算符
运算内容
1
2
3
^
*、/
+、-
平方
乘、除
加、减
6.4.6.2 比较运算符
UFO 报表有下列比较运算符:
符号
含义
=
等于
40
>
<
<>
>=
<=
大于
小于
不等于
大于或等于
小于或等于
6.4.6.3 逻辑运算连接符
UFO 报表有下列逻辑运算连接符:
符号
含 义
AND
OR
NOT
与(并且)
或(或者)
非
注意
逻辑运算符在使用时,如与其他内容相连接,必须至少有一个前置空格和一个后置空格。
如:A1=B1 AND B2=B3,NOT A=B 为正确的。
A1=B1ANDB2=B3,NOTA=B 为错误的。
6.4.7
表达式
6.4.7.1 算术表达式
运算符、区域和单元、常数、变量、关键字、非逻辑类函数以及算术表达式的组合,其结果为一
个确定值。表达式中括号嵌套应在 5 层以下。
算术表达式又分为单值和多值算术表达式。
单值算术表达式:
其结果为一个数值、也可为一个单纯的常数、可将其赋值给一个单元。
例如:C1=10
C2=A1+B1
等号后面的式子即为单值算术表达式。
多值算术表达式:
其结果为多个数值、可将其运算结果赋值给多个单元。
例如:C1:C10=A1:A10 + B1:B10
(表示 C1=A1+B1,C2=A2+B2,……,C10=A10+B10)
C1:C10=100
(表示 C1=100,C2=100,……,C10=100)
等号后面的式子即为多值算术表达式。
6.4.7.2 条件表达式(逻辑表达式)
利用比较运算符、逻辑运算符和算术表达式形成的判定条件,其结果只有两个,即 1(真), 0(假)。
例如:D5 >= 100
表示比较 D5 单元的值和数字“100”,如果 D5 单元的值大于或等于 100,则条件表达式为真,
否则为假。
例如:月 <= 6
表示比较关键字“月”的值和数字“6”,如果关键字“月”的值小于或等于 6,则条件表达式为
真,否则为假。
41
第7章
7.1
计算公式的编辑
UFO 报表提供了丰富的计算公式,可以完成几乎所有的计算要求。
UFO 报表的计算公式有 3 种方式:
单元公式,存储在报表单元中,按“=”即可定义。
命令窗中的计算公式,在命令窗中一条一条书写,按回车计算。
批命令中的计算公式,在批命令(SHL 文件)中一次性书写,执行批命令时批量计算。
在计算公式中,可以取本表页的数据,可以取其他表页中的数据,也可以取其他报表的数据,例
如从几张基础数据表中提取数据,计算后形成分析表。
在 UFO 报表中,除了可以从《账务》中提取数据外,新增可以从各用友产品中提取数据的功能。
利用取数函数可以取到以下系统的数据:《账务》、《应收》、《应付》、《工资》、《固定资
产》、《资金管理》、《财务分析》、《采购》、《存货》、《库存》、《销售》、《成本》等。
单元公式可以一个单元一个单元的定义,也可以给一个区域定义公式,称为区域公式。
例如:在损益表中,求累计数公式可以写为:
D5:D20=C5:C20+SELECT(D5:D20,年@=年 and 月@=月+1)
在可变区中不能定义单元公式,要计算可变区的内容,可以在命令窗中或批命令中定义可变区公
式。例如:let v_c=v_a*v_b
与 Excel 类似,UFO 报表提供了相对公式,在单元前面加“?”即可。
例如:相对公式 a10=ptotal(?a1:?a9),复制到 b10 单元后,公式自动变为 b10=ptotal(?b1:?b9)
7.1.1
如何定义单元公式
我们欲定义一个求合计数单元公式:a10=ptotal(a1:a9),即令 a10 单元等于 a1:a9 单元的合计数。
1、在格式设计状态下,选中 A10 单元。
2、按“=”,弹出“定义公式”对话框。
3、在对话框中输入“ptotal(a1:a10)”,回车。完成定义。
如果要定义筛选条件和关联条件,可以直接书写,也可以点取“筛选条件”“关联条件”按钮。
例如:a10=ptotal(a1:a9) for 年>=1990
单元公式将自动进行运算,也可以随时使用菜单“数据”-“整表重算”命令驱动报表中所有单元
公式进行重算。
不需再计算时,可以点取屏幕上方的“不计算”按钮,本表页以后不再重算。要重新计算,再次
点取“不计算”按钮即可。
当本表单元公式中涉及到其他表或其他系统数据时,必须“整表重算”后才能更新数据。
7.1.2
表页内部的公式
表页内部的计算公式,是指数据存放位置和数据来源位置,都没有超出本表本页范围的计算公式。
表页内部的计算公式可以分为:
7.1.2.1 一个单元的公式
固定区中一个单元公式是最简单的公式,可以给数值单元或字符单元赋值。
例如:
B5=“部门一”
C5=234
D5=2342
42
E5=345
F5=345
G5=PTOTAL(C5:F5)
。。。
7.1.2.2 区域公式
区域公式
当某一区域内各单元的公式极其相似时,需要用到区域公式。区域公式使一个区域等于另一个区
域或其他几个区域的计算结果。如图 7-1:
图 7-1
对上表编辑区域公式的方法为:
拖曳鼠标选中 C9:F9,按等号"=",输入区域公式
C9:F9=C5:F5+C6:F6+C7:F7+C8:F8
再拖曳鼠标选中 G5:G9,按等号"=",输入区域公式
G5:G9=C5:C9+D5:D9+E5:E9+F5:F9
区域公式左边单元的个数与右边表达式输出值的个数应该对应,如果不对应则按 UFO 报表规则
计算,例如:
a3=b(实际结果为 a3=b1)
a1:a3=b1:b2(实际结果为 a1=b1,a2=b2,a3=b2)
类似的公式还有诸如:
令区域 D3:D25 取 E3:E25 与 F3:F25 的商:
D3:D25=E3:E25/F3:F25
令区域 C7:C13 取 F15:F21 与 H6:H12 的和:
C7:C13=F15:F21+H6:H12
令区域 B8:C12 等于 12:
B8:C12=12
整行小计:
#5=#6+#7+#8+#9+#10
整列小计:
C=D+E+F+G+H
7.1.2.3 可变区公式
可变区的可以用和固定区一样的方法表示,也可以用一种特殊的,相对的方法表示。这种方法具
体来说有以下特点:
1、行可变表可变区列的表示方法是"V_"加列号,如:V_A,V_C,列可变表可变区行的表示方法
是"V_"加行号,如:V_1,V_3。
2、可变区内不允许编辑单元公式,可变区公式仅限在命令窗和批命令中使用。
如图 7-2 为行可变表,第 3 行起为可变行。可变列 V_A 为字符型,其他列为数值型。
43
图 7-2
假设出厂价为成本价的 1.25 倍,批发价为成本价的 1.5 倍,零售价为成本价的 2 倍。在命令窗或
批命令中可以这么写:
LET V_C=V_B*1.25, V_D=V_B*1.5, V_E=V_B*2 FOR ALL
7.1.2.4 筛选条件的运用
筛选条件是对计算公式的一种辅助约束,具体说就是对报表表页和可变区的判断。固定区筛选条
件控制符合条件的表页参与计算公式的计算,不符合条件的表页不参与计算公式的计算;可变区
筛选条件控制符合条件的可变行或可变列参与计算公式的计算,不符合条件的可变行或可变列不
参与计算公式的计算。
注意
单元公式中,表页筛选条件缺省时为全部表页,可变区筛选条件缺省时为所有可变行或可变列;命令窗或批命
令中,表页筛选条件缺省时为当前表页,可变区筛选条件缺省时为当前可变行或可变列。
假设在某一含关键字“年”的报表中,C2 代表利润值,H3 说明该单位的盈亏情况。我们要设计
这样的计算公式:对 1995 年以前的表页,将 E2:E5 的值赋给 C2:C5,对于 C2>0 的表页,在 H3
单元中显示“盈利单位”。
单元公式可以这么设计:
C2:C5=E2:E5 FOR 年>1995
H3=“盈利单位” FOR C2>0
注意
只有当报表格式设计中已设置了关键字,数据处理中已为不同表页录入了不同关键字时,关键字才能在计算公
式中起到作用。
在单元公式中,类似的筛选条件如:
令 1996 年下半年的表页进行计算:
FOR 年=1996 AND 月>6
令 3 月至 6 的表页进行计算:
FOR 月>3 AND 月<6
令 C1>0 或 C2>0 的表页进行计算:
FOR C1>0 OR C2>0
令 B1/2=C1 的表页进行计算:
FOR B1/2=C1
令第 1 页进行计算:
FOR MRECNO( )=1
在命令窗或批命令中,可以使用可变区公式,可变区筛选条件与固定区筛选条件中间以分号“;”
分隔,即使不使用固定区筛选条件而只使用可变区筛选条件也必须使用分号“;”。如:
令下半年的表页中可变区 A 列为“中央企业”的可变行进行计算:
FOR 月>6;V_A=“中央企业”
令行可变表当前表页可变区 C 列大于 100、D 列小于 200 的可变行进行计算:
FOR ;V_C>100 AND V_D<200
令行可变表所有表页可变区 C 列大于 100、D 列小于 200 的可变行进行计算:
44
FOR ALL;V_C>100 AND V_D<200
7.1.3
表页与表页间的计算公式
有些报表数据是从以前的历史记录中取得的,如:本表其他表页。当然,这类数据可以通过查询
历史资料而取得,然而,类似数据可能会繁多而复杂,查询起来既不方便,又会由于抄写错误而
引起数据的失真。而如果在计算公式中进行取数设定,既减少工作量,又节约时间,同时数据的
准确性也得到了保障。这就需要用到表页与表页间的计算公式。
在表页间取数可以分为:
取确定页号表页的数据
按一定关键字取数:
用 SELECT 函数从本表他页取数
用关联条件从本表他页取数
7.1.3.1 取确定页号表页的数据
当所取数据所在的表页页号已知时,用以下格式可以方便的取得本表他页的数据:
<目标区域> = <数据源区域> @ <页号>
如:
下面单元公式令各页 B2 单元均取当前表第一页 C5 单元的值。
B2=C5@1
下面单元公式令“年”关键字为“1992”的各页 C 列取第 1 页 D 列值与第 5 页 E 列值的商乘以
169.4。
C=(D@1/E@5)*169.4 FOR 年=1992
设当前行可变表为“AJ1.REP”,下面命令窗或批命令中的计算公式令各页可变区 A 列均取第一
页 A 列的值。
LET V_A=“AJ1.REP”->V-A@1
注意
所有引用本单元的公式及为可变区赋值的公式只能用在命令窗和批命令中,不能用在单元公式中。
7.1.3.2 按一定关键字取数
用 SELECT 函数从本表他页取数
SELECT 函数
select()函数最常用在《损益表》中,求累计值。如:
D=C+SELECT(D,年@=年 and 月@=月+1)
表示:累计数=本月数+同年上月累计数
例如,有下面报表,如何计算?如图 7-3
图 7-3
本年累计 :D=C+SELECT(D, 年@=年 and 月@=月+1)
上月数 :E=SELECT(C,年@=年 and 月@=月+1)
上年同期 :F=SELECT(C,年@=年+1 and 月@=月)
注意
使用 SELECT 函数时,请不要使用表页筛选条件。
45
用关联条件从本表他页取数
从本表他页取数的关联条件的格式为:
RELATION <单元 | 关键字 | 变量 | 常量> WITH “<当前表表名>”-> <单元 | 关键字 | 变量|
常量>
关联条件应写在筛选条件后面。
WITH 前的参数<单元 | 关键字 | 变量 | 常量>表示目标表页的特征,WITH 后的参数<单元 | 关
键字 | 变量 | 常量>表示数据源所在表页的特征,关联条件的意义在于目标页与数据源所在的表
页使 WITH 前后的参数相等。
具体用法我们以例子说明。
以下单元公式令表“LRB”各页 A 列取该页上月 B 列数值。
A=“LRB”->B RELATION 月 WITH “LRB”->月+1
“RELATION 月 WITH “LRB”->月+1”是一个关联关系,假如当前表页是 5 月,即左边的参
数“月”为 5,WITH 右边的参数“月”的值为 4 时才能使 WITH 前后相等,这就形成一个关联,
达到了取上月表页数据的目的。以此类推,取 3 个月前的数据就应该描述为“RELATION 月
WITH “LRB”->月+3”。
注意
所有引用本表他页相同地址单元的计算公式只能在命令窗和批命令中使用,不能在单元公式中使用。
可变区公式如:下面命令窗和批命令中的计算公式令可变表“A01”本页可变区 A 列取该页上月
可变区 B 列数值。
LET V_A=“A01”->V_B RELATION 月 WITH “A01”->月+1
取已知表页数据还可以用这样的公式:下面的单元公式令表“LRB”各页 A 列取本表 1 月 B 列数
值。
A=“LRB”->B RELATION 1 WITH“LRB”->月
该公式与公式“LET A=SELECT(B,月=1) FOR ALL”意义相同,但可以用在单元公式上,而函数
SELECT 不能用于单元公式。
当表中有两个或更多的关键字,且用一个关键字不能唯一表示一个表页时,需要用两个关键字进
行关联。假如当前页关键字为 1995 年 5 月,需要取 1995 年 6 月而不是 1996 年 6 月的值,就不
能用“RELATION 月 WITH 月+1”这样的关联关系了,这时,我们可以使用两个关联条件。
下面命令窗或批命令中的计算公式令表“LRB”本页 A 列取本表同年上月 A 列数值。
LET A=“LRB”->A RELATION 年 WITH “LRB”->年, 月 WITH “LRB”->月+1
注意
使用关联条件取本表他页数据时,等号右边源数据区域必须有当前表表名。
7.1.4
报表与报表间的计算公式
在进行报表与报表间的取数时,不仅仅要考虑取哪一个表哪一个单元的数据,还要考虑数据源在
哪一页。例如,5 月份的《资产负债表》中的利润,需要去取《利润表》中 5 月份的利润数据,
假如《利润表》中存在其他月份的数据,而不存在 5 月份的数据,那么,《资产负债表》绝对不
应该将其他月份的数据取出来。报表间的计算公式就是要保证这一点。
报表间的计算公式与同一报表内各表页间的计算公式很相近,主要区别就是把本表表名换为他表
表名。
取他表确定页号表页的数据
用以下格式可以方便地取得已知页号的他表表页数据:
<目标区域> = “<他表表名>” -> <数据源区域>[ @ <页号> ]
当<页号>缺省时为本表各页分别取他表各页数据。
下面就该格式举一些例子。
取他表数据:
令当前表页 D5 的值等于表“Y”第 4 页 D5 的值:
46
D5=“Y”->D5@4
令本表各页 D5 的值等于表“Y”各页 D5 的值:
D5=“Y”->D5 FOR ALL
令当前表所有表页 C5 的值等于表“Y”第 1 页中 C10 的值与表“Y”第 2 页中 C2 的值:
C5=“Y”->C10@1+“Y”->C2@2
取他表及本表的数据:
令当前表所有表页 C5 的值等于表“Y”第 1 页中 C10 的值与当前表第 2 页中 C2 的值:
C5=“Y”->C10@1+C2@2
取其他两个表的数据:
当前表 C1>0 的表页 D5 的值等于表“Y”第 1 页中 H20 的值与表“X”第 2 页中 E4 的值:
D5=“Y”->H20@1/“X”->E4@2 FOR C1>0
可变区公式:
在命令窗或批命令中,令当前可变表 C1>0 的表页 V_D 的值等于表“Y”第 1 页中 V_H 的值与表
“X”第 2 页中 V_L 的值:
LET V_D=“Y”->V_H@1/“X”->V_L@2 FOR C1>0
用关联条件从他表取数
当我们从他表取数时,已知条件并不是页号,而是希望按照年、月、日等关键字的对应关系来取
他表数据,就必须用到关联条件。
表页关联条件的意义是建立本表与他表之间以关键字或某个单元为联系的默契关系。
从他表取数的关联条件的格式为:
RELATION <单元 | 关键字 | 变量 | 常量> WITH “<他表表名>”-> <单元 | 关键字 | 变量 | 常
量>
具体用法我们以例子说明。
A1=“FYB”->A1 FOR ALL RELATION 月 WITH“FYB”->月
取 FYB 表的,与当前表页月相同的月的 A1 单元的值。
如果当前表页为 9 月,则取 FYB 表 9 月表页 A1 的值。
下面单元公式令本表各页 A 列取表“LRB”上月各页 B 列数值。
A=“LRB”->B RELATION 月 WITH“LRB”->月+1
下面单元公式令当前表各页 A 列取表“LRB”同年上月 A 列数值。
A=“LRB”->A RELATION 年 WITH“LRB”->年, 月 WITH“LRB”->月
各页取他表同一页数值:
下面公式令当前表各页 A 列取表“LRB”1 月 B 列数值。
A=“LRB”->B FOR ALL RELATION 1 WITH “LRB” -> 月
取其他 2 个或更多表的数值如图 7-4:
下面公式令当前表各页 A 列取表“LRB”同年上月表页 B 列数值及表“ZJB”上一年相同月份表
页 C 列数值之和。
A=“LRB”->B+“ZJB”->C RELATION 年 WITH “LRB”->年, 月 WITH “LRB”->月, 年 WITH
“ZJB”->年, 月 WITH
“ZJB”->月
图 7-4
7.2
7.2.1
编辑审核公式
什么是审核公式
在经常使用的各类财经报表中的每个数据都有明确的经济含义,并且各个数据之间一般地都有一
定的勾稽关系。如在一个报表中,小计等于各分项之和;而合计又等于各个小计之和等等。在实
47
际工作中,为了确保报表数据的准确性,我们经常用这种报表之间或报表之内的勾稽关系对报表
进行勾稽关系检查。一般地来讲,我们称这种检查为数据的审核。
UFO 报表 系统对此特意提供了数据的审核公式,它将报表数据之间的勾稽关系用公式表示出来,
我们称之为审核公式。
除了审核公式之外,UFO 报表还提供了审核命令 CHECK。在命令窗或批命令中执行 CHECK 命令
即可实现审核。
7.2.2
定义审核公式
一个报表中常常存在着许多平衡关系。编辑审核公式时,类似的平衡关系可以放在一个审核公式
组中,这样可以使审核公式更加简明。设置审核公式组应遵循以下原则:
1、一个报表可以存在多个审核公式组,每个审核公式组中各审核公式的筛选条件和关联条件完
全相同,共用一条提示信息。
2、筛选条件、关联条件、提示信息有所不同的审核公式应分为不同的审核公式组。
3、提示信息应尽量详细明确,以便于检查错误。
【操作步骤】
1、在报表格式设计状态下,用鼠标选取菜单“数据”-“编辑公式”-“审核公式…”命令,调出
“审核公式”对话框如图 7-5。
图 7-5
2、在“编辑框”中按照对话框右侧的格式范例输入审核公式。
3、审核公式编辑完毕,检查无误后选择“确认”,系统将保存此次审核公式的设置。
4、按 [ESC] 键或选择“取消”将放弃此次操作。
本表内本表内的审核公式举例:
假设我们要审核调查表 “as02.rep”。如图 7-6
图 7-6
该表有以下审核关系,希望审核时达到这样的效果:
C9=C5+C6+C7+C8,若此项关系不平,则提示“一季度小计不等!”
D9=D5+D6+D7+D8,若此项关系不平,则提示“二季度小计不等!”
E9=E5+E6+E7+E8,若此项关系不平,则提示“三季度小计不等!”
F9=F5+F6+F7+F8,若此项关系不平,则提示“四季度小计不等!”
48
G9=G5+G6+G7+G8,若此项关系不平,则提示“合计不等于各项小计之和!”
该表的审核公式为:
C9=C5+C6+C7+C8
MESSAGE “一季度小计不等!“
D9=D5+D6+D7+D8
MESSAGE “二季度小计不等!“
E9=E5+E6+E7+E8
MESSAGE “三季度小计不等!“
F9=F5+F6+F7+F8
MESSAGE “四季度小计不等!“
G9=G5+G6+G7+G8
MESSAGE “合计不等于各项小计之和!“
各表间的审核公式举例:
假设我们要审核调查表 “as02.rep” ,该表数据部分来自调查表“as021.rep”。
如图 7-7,下表为“as021.rep”:
图 7-7
如图 7-8,下表为“as02.rep”:
图 7-8
调查表“as02”中一季度的数据来自调查表“as021.rep”,调查表“as02”中应有以下审核关系,
希望审核时达到这样的效果:
C5=调查表“as021.rep”的 F5,若此项关系不平,则提示“一季度部门一数据与表“as02.rep”数
据不符!”
C6=调查表“as021.rep”的 F6,若此项关系不平,则提示“一季度部门二数据与表“as02.rep”数
据不符!”
C7=调查表“as021.rep”的 F7,若此项关系不平,则提示“一季度部门三数据与表“as02.rep”数
据不符!”
C8=调查表“as021.rep”的 F8,若此项关系不平,则提示“一季度部门四数据与表“as02.rep”数
据不符!”
调查表的审核公式为:
C5=”as021.rep”->F5
MESSAGE ”一季度部门一数据与表”as02.rep”数据不符!”
C6=“as021.rep”->F6
49
MESSAGE “一季度部门二数据与表”as02.rep”数据不符!”
C7=“as021.rep”->F7
MESSAGE “一季度部门三数据与表”as02.rep”数据不符!”
C8=“as021.rep”->F8
MESSAGE ”一季度部门四数据与表”as02.rep”数据不符!”
此外,如果是在命令窗或批命令想实现审核功能可通过审核命令 CHECK 来实现(详见“附录 2
命令列表”部分)
7.2.3
用审核关系验证报表
在数据处理状态中,当报表数据录入完毕后,应对报表进行审核,以检查报表各项数据勾稽关系
的准确性。
进入数据处理状态。用鼠标选取菜单“数据”-“审核”命令。
系统按照审核公式逐条审核表内的关系,当报表数据不符合勾稽关系时,屏幕上出现提示信息,
记录该提示信息后按任意键继续审核其余的公式。
按照记录的提示信息修改报表数据,重新进行审核,直到不出现任何提示信息,表示该报表各项
勾稽关系正确。
每当对报表数据进行过修改后,都应该进行审核,以保证报表各项勾稽关系正确。
7.3
7.3.1
编辑舍位平衡公式
什么是舍位平衡
报表数据在进行进位时,如以“元”为单位的报表在上报时可能会转换为以“千元”或“万元”
为单位的报表,原来满足的数据平衡关系可能被破坏,因此需要进行调整,使之符合指定的平衡
公式。如:原始报表数据平衡关系为
50.23+5.24=55.47
若舍掉一位数,即除以 10 后数据平衡关系成为
5.02+0.52=5.55
原来的平衡关系被破坏,应调整为
5.02+0.53=5.55
报表经舍位之后,重新调整平衡关系的公式称为舍位平衡公式。其中,进行进位的操作叫做舍位,
舍位后调整平衡关系的操作叫做平衡调整公式。
7.3.2
定义舍位平衡公式
平衡公式编写规范:
1、平衡公式书写顺序应为统计过程的逆方向。
例如:
统计过程为:
E11=A11+B11
F11=C11+D11
G11=E11+F11
如图 7-9,箭头表示统计方向,G11 为统计结果。
图 7-9
因此平衡公式正确的书写顺序应该为:
G11=E11+F11
50
E11=A11+B11
F11=C11+D11
当求和区域较大时,可以使用不带区域筛选条件的函数 PTOTAL,如:
G11=PTOTAL(E11:F11)
E11=PTOTAL(A11:B1)
F11=PTOTAL(C11:D11)
2、 平衡公式中只可以使用加号“+”、减号“-”,不可以使用其他运算符和函数。
以下平衡公式是错误的:
A1=PTOTAL(B1:C1 , B1:C1>0)
B1=C1*D1
G3=H3 / 89
3、平衡公式等号左边只能为一个不带页号和表名的单元,不能是超过一个单元的区域。
以下平衡公式是错误的:
A@5=B+C
A1:C1=D1:D1+2
4、等号右边所有出现的区域不能带页号和表名。
以下平衡公式是错误的:
F9=F8@5+“REPORT1”-> C5
5、任何一个单元只允许在平衡公式等号右边出现一次。
以下平衡公式是错误的:
F9=F5+F6+F7+F8
G8=C8+C8+D8+E8+F8
因为单元 F8 在平衡公式中出现了两次。
下面是定义舍位平衡公式的操作步骤:
【操作步骤】
1、在报表格式设计状态下,用点取菜单“数据”-“编辑公式”-“舍位公式…”,调出“舍位平
衡公式”对话框如图 7-10。
图 7-10
2、舍位平衡公式编辑完毕,检查无误后选择“完成”,系统将保存此次舍位平衡公式的设置。
按 [ESC] 键或选择“取消”将放弃此次操作。
注意
在各编辑框中输入如下各项:
1、舍位表名:
和当前文件名不能相同,默认在当前目录下。
2、舍位范围:
指定进行舍位的单元或区域,不可带页号和表名;舍位数据的范围,要把所有要舍位的数据包括在内。
3、舍位位数:
1-8 位。舍位位数为 1,区域中的数据除 10;舍位位数为 2,区域中的数据除 100;以此类推。
4、平衡公式:按统计过程的逆方向书写的舍位区域计算公式,格式为:<单元> =<算术表达式>,不含筛选条件和关联
条件,对整个报表的各个表页均有效。
51
7.3.3
对报表进行舍位平衡操作
当报表编辑完毕,需要对报表进行舍位平衡操作时,可进行以下操作。
进入数据处理状态。用鼠标选取菜单“数据”-“舍位平衡”命令。
系统按照所定义的舍位关系对指定区域的数据进行舍位,并按照平衡公式对舍位后的数据进行平
衡调整,将舍位平衡后的数据存入指定的新表或他表中。
打开舍位平衡公式指定的舍位表,可以看到调整后的报表。
舍位平衡公式编辑举例:
如图 7-11 以如下“源表.rep”为例示范舍位平衡公式的编辑。
图 7-11
该表计算公式为:
C9=C5+C6+C7+C8
D9=D5+D6+D7+D8
E9=E5+E6+E7+E8
F9=F5+F6+F7+F8
G9=C9+D9+E9+F9
将表“源表.rep”的数据单位由“元”转换成“千元”,并挤平数据,将舍位平衡后的舍位表存
入表“舍位表.rep”。
编辑舍位平衡公式如图 7-12:
图 7-12
对于设置了舍位关系的报表“源表.rep”,在数据处理状态下进行报表舍位操作,生成舍位表“舍
位表.rep”如图 7-13:
图 7-13
52
第8章
8.1
报表的格式管理
如果报表在使用发现格式设计有误或表格少量变动,需要修改样板,下面是几种可能出现的情况。
8.1.1
在固定区中插入行(列)
在固定区中插入的行是带格式的行,它沿用插入位置行的格式,包括表格线、单元属性和单元风
格。
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、把当前单元移动到想要插入行的位置上。
3、点取【编辑】菜单中的【插入】,在下拉操作中选【行】,将弹出“插入”对话框如图 8-1。
图 8-1
4、在“插入数量”编辑框中输入要插入的行数。
注意
插入行后,表尺寸随之增加。
插入行后,单元公式的绝对引用不变,相对引用随之变化。
同理插入列操作与此相同。
8.1.2 插入可变行(列)
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、把当前单元移动到要插入可变行的可变行上。
3、点取【编辑】菜单中的【插入】,在下拉菜单中点取【行】,将弹出“插入”对话框如图 8-1。
4、在“插入数量”编辑框中输入要插入的可变行的数量。
注意
如果插入的可变行数量超过了在格式状态下设置的可变区的大小,只插入可变区最大尺寸的可变行,超过的部分
将省略。
8.1.3
在固定区的最后追加行(列)
在固定区中追加的行是不带格式的空行。
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、点取【编辑】菜单中的【追加】,在下拉菜单中选【行】,将弹出“追加行”对话框如图 8-2。
53
图 8-2
3、在“追加数量”编辑框中输入要追加的行数。
注意
追加行后,表尺寸随之增加。
8.1.4
追加可变行(列)
如果报表中设置了行可变区,则追加可变行;如果设置了列可变区,则追加可变列。
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、点取要追加可变行的表页的页标,使它成为当前表页。把当前单元移动到可变区内的任意位
置。
3、点取【编辑】菜单中的【追加】,在下拉菜单中点取【行】,将弹出“追加行”对话框如图
8-2。
4、在“追加行数量”编辑框中输入要追加的可变行的数量。
注意
如果追加的可变行数量超过了在格式状态下设置的可变区的大小,只追加可变区最大尺寸的可变行,超过的部分
将省略。
8.1.5
交换固定区的行(列)
交换固定区的行是将一张表页中的指定的行的所有内容(包括格式和数据)进行交换。
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、点取【编辑】菜单中的【交换】,在下拉菜单中点取【行】,将弹出“交换”对话框如图 8-3。
图 8-3
3、在“源行号”和“目标行号”编辑框中输入两个要互相交换位置的行号。
可以一次交换多个行,多个行号之间用“,”隔开。
注意
固定区的行和可变区的行不能交换,如果在对话框中输入了固定区的行和可变行,将出现提示框:“交换行错误!”
。
在交换多个行时,如果源行数和目标行个数不一致,将出现提示框“输入的源行数应与目标行数应该一一对应。”
斜线不参加交换。
8.1.6
交换可变行(列)
交换可变行是将一张表页中的指定的任意可变行的数据进行交换。
54
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、把当前单元移动到可变区的任意位置。
3、点取【编辑】菜单中的【交换】,在下拉菜单中点取【行】,将弹出“交换”对话框如图 8-3。
4、在“源行号”和“目标行号”编辑框中输入两个要互相交换位置的行号。
可以一次交换多个可变行,多个行号之间用“,”隔开。
注意
可变行的行号用数字 1-9999 表示,不允许输入 V_1 形式。
固定区的行和可变区的行不能交换,如果在对话框中输入了固定区的行和可变行,将出现提示框:“交换行错误!”。
在交换多个可变行时,如果源行数和目标行个数不一致,将出现提示框“输入的源行数应与目标行数应该一一
对应。”
8.1.7
删除固定区中的行(列)
【操作步骤】
1、点取“格式/数据”按钮,进入格式状态。
2、选取要删除的行的区域。
3、点取【编辑】菜单中的【删除】,在下拉菜单中选【行】,将弹出类似下面对话框如图 8-4:
图 8-4
点取“确认”按钮则删除选定的行,点取“取消”按钮则放弃操作。
注意
删除行列后,在删除位置中的单元公式将随之删除。
在其他行列中的单元公式中,绝对引用不变,相对引用随之变化。
8.1.8
删除可变行(列)
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、选取要删除的可变行区域。
3、点取【编辑】菜单中的【删除】,在下拉菜单中点取【行】,将弹出类似下面对话框如图 8-4:
点取“确定”按钮则选定可变行被删除;点取“取消”按钮则放弃操作。
注意
可变区至少应有一个可变行,所以不能删除所有的可变行。当前选中所有可变行进行删除时,将出现提示框:
“删除行错误!”。
8.2
8.2.1
表页管理
插入和追加表页
向一个报表中增加表页有追加和插入两种方式,插入表页即在当前表页前面增加新的表页;追加
表页即在最后一张表页后面增加新的表页。
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
55
2、点取要插入表页的表页页标,使它成为当前表页。
3、点取【编辑】菜单中的【插入】,在下拉菜单中点取【表页】,将弹出“插入”对话框如图
8-5。追加则选择【追加】命令。
图 8-5
4、在“插入表页数量”编辑框中输入要插入的表页数,确认后在当前表页之前增加新表页。
8.2.2
交换表页
交换表页是将指定的任何表页中的全部数据进行交换。
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、点取【编辑】菜单中的【交换】,在下拉菜单中点取【表页】,将弹出“交换”对话框如图
8-6。
图 8-6
3、在“源表页号”和“目标表页号”编辑框中输入要互相交换位置的表页页号。可以一次交换
多个表页,多个表页号用“,”隔开。
例如:要同时交换第 1 页和第 2 页,第 3 页和第 4 页,第 10 页和第 20 页,则在“源页号”编辑
框中输入“1,3,10”;在“目标页号”编辑框中输入“2,4,20”。
8.2.3
删除表页
删除表页是将指定的整个表页删除,报表的表页数相应减少。
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、点取【编辑】菜单中的【删除】,在下拉菜单中点取【表页】,将弹出“删除表页”对话框
如图 8-7。
图 8-7
3、如果不指定表页号和删除条件,则确认后删除当前表页。
4、如果要删除指定表页号的表页,则在“删除表页”编辑框中输入要删除的表页号。
可以同时删除多张表页,多个表页号之间用逗号“,”隔开。
例如输入“1,3,10”则删除第 1 页、第 3 页和第 10 页。
56
5、如果要删除符合删除条件的表页,在“删除条件”编辑框中输入删除条件,或者点取“条件”
按钮在“定义条件”对话框中定义删除条件。
8.2.4
表页排序
UFO 报表 提供表页排序功能,可以按照表页关键字的值或者按照报表中的任何一个单元的值重
新排列表页。
“第一关键值”指根据什么内容对表页进行排序。“第二关键值”指当有表页的第一关键值相等
时,按照此关键值排列。“第三关键值”指当有多张表页用第一关键值和第二关键值还不能排列
时,按照第三关键值排列。
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、点取【数据】菜单中的【排序】,在下拉菜单中点取【表页】,将弹出“排序”对话框如图
8-8,也可以点击“常用工具栏”中的表页排序按钮 进行操作。
图 8-8
3、在“第一关键值”编辑框中选择一个关键字或输入一个单元名称;选择“递增”或“递减”
顺序。
4、依次定义第二和第三关键值。
注意
以关键字为关键值排序时,空值表页在“递增”时排在最前面,在“递减”时排在最后面。例如:以关键字“单位
名称”递增排序,“单位名称”为空的表页排在第 1 页。
以单元为关键值排序时,空值作为零处理。
8.2.5
查找和定位
查找和定位都是为了在存在多张报表和多表页的情况下,快速地找到所需的报表。
查找分为查找表页和查找可变区,查找表页是根据给定的条件,在报表中找到符合条件的表页,
并使它成为当前表页。查找可变区是根据给定的条件,在当前表页的可变区中找到符合条件的可
变行(列),并使它成为当前可变行(列)。
【操作步骤】
1、点取“格式/数据”按钮,进入数据状态。
2、点取【编辑】菜单中的【查找】,将弹出“查找”对话框如图 8-9。
57
图 8-9
3、在“查找内容”中点取“表页”。
4、在“查找条件”框中定义查找条件。
5、点取“查找”按钮后,第一个符合条件的表页将成为当前表页。
6、点取“下一个”按钮后,下一个符合条件的表页将成为当前表页。
7、如果没有符合条件的表页,或查找到最后一个符合条件的表页时,状态栏中将显示“满足条
件的记录未找到!”。
例如:
1、要查找 1996 年 11 月的表页,则选择“表页”,定义查找条件:“年=1996 AND 月=11”。
2、要查找 A10 单元的值大于 1000 的表页,则选择“表页”,定义查找条件“A10>1000”。如
图 8-10。
图 8-10
58
第9章
9.1
采集外部数据
UFO 报表可以把下面几类数据采集到当前报表中:
其他报表文件(后缀.REP)的数据
文本文件(后缀.TXT)的数据
DBASE 数据库文件(后缀.DBF)的数据
数据采集时源表可以带筛选条件,源表文件名可以用变量表示。
操作步骤:
1、点取“格式/数据”按钮,进入数据状态。
2、点取[数据]菜单中的[采集],将弹出“数据采集”对话框。
3、在对话框中选取源数据所在的文件名,点取“采集”按钮或者双击该文件名即可执行数据采
集,UFO 报表将在当前报表中自动追加表页以存放数据。
注意
采集报表文件的数据时,如果当前报表的格式与源数据报表的格式不一样,将出现对话框“报表格式不同!是否
强行追加?”点取“确定”按钮后,将强行追加,由于报表格式不同,数据很可能追加得毫无意义。点取“取消”
按钮后,将放弃数据采集操作。
采集报表文件时,如果你只想采集报表中的部分表页,请使用 APPEND FROM 命令。
9.2
多区域数据透视
在 UFO 报表中,大量的数据是以表页的形式分布的,正常情况下每次只能看到一张表页。要想
对各个表页的数据进行比较,可以利用数据透视功能,把多张表页的多个区域的数据显示在一个
平面上。
[操作步骤]
1、点取“格式/数据”按钮,进入数据状态。
2、点取要透视的第一张表页的页标,将对它和它之后的表页的数据进行透视。
3、点取[数据]菜单中的[透视],弹出“多区域透视”对话框如图 9-1,在编辑框中输入区域范围。
图 9-1
如:B4:D4,C4:E6
4、输入完毕后,按确定将生成透视结果“透视”对话框如图 9-2。拉动水平滚动条到最右边,可
以看到各个表页中的关键字的值显示在相应数据的右边。
59
图 9-2
5、利用对话框中的“保存”按钮可以把数据透视结果保存为报表,点取“确认”按钮关闭对话
框。数据透视结果将保存为报表中。
注意
在“输入区域范围”内,输入区域范围,不同区域之间用“,”分开;区域范围可以是单元,也可以是区域,也
可以是不连续的多个区域。如:A1:C4,E29:F36,b3, b5
在“输入列标字串”内,输入对区域数据的含义描述,不同字段名之间用“,”分开;如:北京,上海,天津
可以将字段名定义为所设置的关键字“单位名称”、“单位编号”、“年”、“月”、“日”等
透视的单元数不过 3000 个,页数不超过 999 页
9.3
数据汇总
报表的汇总是报表数据不同形式的叠加。报表汇总是每一位财会人员都熟悉的,也是非常复杂和
繁琐的。利用 UFO 报表提供的汇总功能就可以快速、简捷地完成报表汇总操作。
UFO 报表提供了表页汇总和可变区汇总两种汇总方式,表页汇总是把整个报表的数据进行立体方
向的叠加,汇总数据可以存放在本报表的最后一张表页或生成一个新的汇总报表。可变区汇总是
把指定表页中可变区数据进行平面方向的叠加,把汇总数据存放在本页可变区的最后一行或一
列。
9.3.1
表页汇总
UFO 报表的表页汇总功能非常强大,即可把汇总数据保存在本报表中,也可形成一个新的汇总表;
即可汇总报表中所有的表页,也可只汇总符合指定条件的表页,例如在 1996 年全年各月共 12 张
表页中,汇总上半年的表页;报表中的可变区即可按数据位置汇总,也可重新排列顺序,按各项
内容汇总。
[操作步骤]
1、点取“格式/数据”按钮,进入数据状态。
2、点取[数据]菜单中的[汇总],在下拉菜单中点取[表页],将弹出“表页汇总─步骤 1/3”对话框
如图 9-3,此对话框用于指定汇总数据保存的位置。
图 9-3
60
如果要把汇总结果保存在本报表中,请点取“汇总到本表最后一张表页”单选钮。UFO 报表将自
动追加一张表页,并把汇总数据存在这张表页中。
如果要把汇总结果保存在一个新的报表中,请点取“汇总到新的报表”单选钮,并且在编辑框中
输入路径和新的报表名,省略路径时表示在当前目录下。如果输入的报表名是一个已存在的报表,
将删除此报表原有内容!
3、点取“下一步”按钮,将弹出“表页汇总─步骤 2/3”对话框如图 9-4,此对话框用于指定汇
总哪些表页。
图 9-4
如果要汇总报表中所有的表页,请点取“下一步”按钮。
如果汇总报表中的部分表页,在“表页汇总条件”中定义条件。可以以单元的值为汇总条件,或
者以关键字的值为汇总条件,或者以表页号为汇总条件。汇总条件可以有多个,它们之间是“并
且”或“或者”的关系。点取“并且”、“或者”、“加入”按钮可以使汇总条件进入“汇总条
件编辑框”。如果您对 UFO 报表比较熟悉,也可直接在“汇总条件编辑框”输入和修改汇总条件。
A. 以单元的值为汇总条件
在左边编辑框中输入单元名称,在中间编辑框中选择关系运算符,在右边编辑框中输入单元的值。
注意
如果单元的值为字符时,应加上双引号" "。
例如:“A10>=500”表示汇总 A10 单元的值大于等于 500 的表页,忽略 A10 单元的值小于 500
的表页。
B. 以关键字的值为汇总条件
在左边编辑框中选择已设置的关键字,在中间编辑框中选择关系运算符,在右边编辑框中选择关
键字的值。
例如:“年=1996 AND 月>5”表示汇总 1996 年下半年的表页。
C. 以表页号为汇总条件
在左边编辑框中输入表页号函数“MREC( )”,在中间编辑框中选择关系运算符,在右边编辑框
中输入表页号。
例如:“MREC( )>=5 AND MREC( )<=10”表示汇总第 5 页到第 10 页的表页。
4、点取“下一步”按钮后,将弹出“表页汇总─步骤 3/3”对话框如图 9-5,此对话框用于处理
报表中的可变区。
点取“按物理位置汇总”后,UFO 报表将忽略可变区数据的实际意义,直接把可变区数据按位置
叠加。
点取“按关键值汇总”后,在关键值列表框中选择一个关键值,此关键值为行可变区的某一列或
者列可变区的某一行。
如果此关键值为字符型,则将按照关键值的顺序进行汇总;如果此关键值为数值型,则只对此关
键值进行物理汇总,可变区中的其他数据不汇总。
5、点取“完成”按钮后将生成汇总结果。
UFO 报表将自动给汇总表页设置“表页不计算”标志。
61
图 9-5
9.3.2
可变区汇总
对可变表除了可以进行表页汇总外, 还可以对可变区的数据进行平面方向的汇总。执行可变区
汇总后,UFO 报表在进行可变区汇总的表页中自动追加一个可变行或可变列,把汇总结果保存在
其中。
即可对所有表页进行可变区汇总,也可对部分表页进行可变区汇总,例如在 2001 年全年各月共
12 张表页中,汇总上半年的表页中的可变区数据;在进行可变区汇总的表页中,即可汇总整个可
变区,也可只汇总部分可变区。
[操作步骤]
1、点取“格式/数据”按钮,进入数据状态。
2、点取[数据]菜单中的[汇总],在下拉菜单中点取[可变区],将弹出“可变区汇总─步骤 1/2”对
话框如图 9-6,此对话框用于指定对报表中哪些表页进行可变区汇总。
图 9-6
在“表页汇总条件”框中选择要进行可变区汇总的表页,缺省为汇总当前表页。在“汇总条件编
辑框”中输入“ALL”表示对所有表页进行可变区汇总。
可以以单元的值为汇总条件,或者以关键字的值为汇总条件,或者以表页号为汇总条件。汇总条
件可以有多个,它们之间是“并且”或“或者”的关系。点取“并且”、“或者”、“加入”按
钮可以使汇总条件进入“汇总条件编辑框”。如果您对 UFO 报表比较熟悉,也可直接在“汇总条
件编辑框”输入和修改汇总条件。
A. 以单元的值为汇总条件
在左边编辑框中输入单元名称,在中间编辑框中选择关系运算符,在右边编辑框中输入单元
的值。
62
例如:“A10>=500”表示汇总 A10 单元的值大于等于 500 的表页,忽略 A10 单元的值小于
500 的表页。
B. 以关键字的值为汇总条件
在左边编辑框中选择已设置的关键字,在中间编辑框中选择关系运算符,在右边编辑框中选
择关键字的值。
例如:“年=1996 AND 月>5”表示汇总 1996 年下半年的表页。
C. 以表页号为汇总条件
在左边编辑框中输入表页号函数“MREC( )”,在中间编辑框中选择关系运算符,在右边编
辑框中输入表页号。
例如:“MREC( )>=5 AND MREC( )<=10”表示汇总第 5 页到第 10 页的表页。
3、点取“下一步”按钮后,将弹出“可变区汇总─步骤 2/2”对话框如图 9-7,此对话框用于指
定汇总可变区中的哪些可变行(可变列)。
图 9-7
如果要汇总整个可变区,请点取“完成”按钮。
如果只汇总部分可变区,则在“可变区汇总条件”框中定义条件。可以以单元的值为可变区汇总
条件,或者以行可变区中的一列(或者列可变区中的一行)的值为可变区汇总条件。汇总条件可
以有多个,它们之间是“并且”或“或者”的关系。点取“并且”、“或者”、“加入”按钮可
以使可变区汇总条件进入“可变区汇总条件编辑框”。如果您对 UFO 报表比较熟悉,也可直接在
“可变区汇总条件编辑框”输入和修改条件。
A. 以单元的值为可变区汇总条件
在左边编辑框中输入单元名称,单元名称必须为“V_”形式。在中间编辑框中选择关系运
算符,在右边编辑框中输入单元的值。注意:如果单元的值为字符时,应加上双引号" "。
例如:“V_A1>=500”表示汇总 V_A1 单元的值大于等于 500 的可变行(可变列)。
B.以行可变区中的一列(或者列可变区中的一行)的值为可变区汇总条件
在左边编辑框中列出了行可变区的所有列(或者列可变区的所有行),在其中选择一个。在
中间编辑框中选择关系运算符,在右边编辑框中输入一个值。
例如:“V_A>1000”表示汇总 V_A 列数据大于 1000 的可变行。
4、点取“完成”按钮后生成可变区汇总的结果。
注意
如果某个表页中的可变区数量已超出设置的可变区大小,则该表页的可变区汇总结果将无法保存。
对于字符型数据的汇总,如果字符串不同,则汇总结果为最后一个字符单元的内容。
63
【例 9-1】:某公司报表表页如图 9-8,从第 2 行开始为可变区。
进行不带条件的可变区汇总后,生成汇总及果如图 9-9。
图 9-8
图 9-9
64
第 10 章
10.1 UFO 的图表
UFO 的图表可以将报表数据所包含的经济含义以图表的方式直观地反映出来,是企业管理、数据
分析的重用工具。
10.1.1
图表格式
UFO 提供了直方图、圆饼图、折线图、面积图 4 大类共 10 种格式的图表。
10.1.2
图表与报表的关系
图表是利用报表文件中的数据生成的,图表与报表存在着紧密的联系,当报表中的源数据发生变
化时,图表也随之变化。一个报表文件可以生成多个图表,最多可以保留 12 个图表。
10.1.3
图表的存在方式
图表以图表窗口的形式存在。图表并不是独立的文件,它的存在依附于源数据所在的报表文件,
只有打开报表文件后,才能打开有关的图表。报表文件被删除之后,由该报表文件中的数据生成
的图表也同时删除,在报表中可以插入多个图表对象。
10.1.4
图表对象的操作
图表可以命名,可以选择图表名打开图表,可以修改图表,保存或删除图表。与报表文件一样,
图表可以打印输出。
注意
图表对象窗口只能打印图标对象。
10.2
图表的组成
图表虽然有直方图、圆饼图、折线图、面积图 4 大类共 10 种格式,但不同格式的图表的组成是
类似的。下面以前文的产品销售明细表为例简要说明如何生成图表,并介绍图表的组成。
【操作步骤】
1、打开产品销售明细表。
2、选中 A3:D4 区域,如图 10-1。
图 10-1
65
3、点击【工具】菜单中的【插入图表对象】(或者点击常用工具栏上的“插入图表对象”按钮
点击后弹出窗口如图 10-2。
),
图 10-2
4、选择相应的图形,系统默认的图形是普通直方图,点击“确认”用鼠标拉动图表调整到合适
大小,结果如图 10-3。
图 10-3
66
第 11 章
11.1
插入图表对象
用户可以在 UFO 的报表文件的数据状态下,插入一个图表对象,是报表数据和图表同时存在与
一个报表文件中。插入的图表对象与创建它的报表数据相链接。当报表数据改变时,图表对象也
随之更新。
【例 11-1】A、B、C 三种产品 8 月销售情况比较图,打开产品销售明细表。
【操作步骤】
第一步:选取区域
1、在报表窗口中,点取“格式/数据”按钮,进入数据状态。
2、选中 A3:D6 区域,如图 11-1。
注意
在任何一张表页中选取一个数据区域,区域不能少于 2 行*2 列。系统把区域中的第一行和第一列默认为标注,
其余为数据区。
图 11-1
第二步:插入图表对象
1、点取[工具]菜单中的[插入图表对象],将弹出“区域作图”对话框,如图 11-2。
图 11-2
67
2、在对话框中定义以“行”或以“列”为 X 轴;数据操作范围为“当前表页”;图表名称为“Sale”;
标题内容“8 月销售收入成本比较”;X 轴标题为“收入成本毛利”,Y 轴标题为“金额”。
图表格式选择“成组直方图”。如图 11-2。
3、确认后,在报表数据附近,插入相应的图表。
4、将鼠标放在插入的图表对象边框,按鼠标左键拖动边框,调整图表大小。
第三步:激活图表对象
双击图表对象,即可激活图表对象窗口。如图 11-3。
图 11-3
注意
图表名在“区域作图”对话框中定义,在以后将不能被修改。
11.2
图表对象激活与修饰
双击插入的图表对象,激活图表对象窗口。如图 11-3,然后可以编辑该图标对象。
11.2.1
编辑标题
图表标题、X 轴标题、Y 轴标题可以在建立图表时的“区域作图”对话框中输入内容,也可以在
图表建立以后进行编辑。
【操作步骤】
1、点取[编辑]菜单中的[主标题]或者[X 轴标题]或者[Y 轴标题],将弹出“编辑标题”对话框如图
11-4。
图 11-4
2、在“请输入标题”编辑框中输入标题内容。如果此编辑框为空则不显示相应标题。
提示
双击标题也可弹出“编辑标题”对话框。
11.2.2
标题字体
【例 11-2】将主标题的字体改为“楷体”,字号“16”
68
【操作步骤】
1、点取要改变的标题“主标题”。
2、点取[编辑]菜单中的[标题字体],将弹出“标题字体”对话框。
3、在对话框中选择字体、字型、字号等。如图 11-5。
同样把 X 轴标题和 Y 轴标题均改为“宋体”,字号“12”。同样调整图形、标题、标注的位置,
结果如图 11-6。
图 11-5
图 11-6
11.3
改变图表格式
UFO 共提供了 10 种图形格式,在[格式]菜单中选择相应的图形格式就可以完成相应图形格式的
转换。点取工具栏中的图标也可改变图表格式。
图表将自
前面我们做的是成组直方图。此时如果点击[格式]菜单或点击图标
动转化,如普通直方图如图 11-7。
图 11-7
69
堆积直方图如图 11-8。
图 11-8
注意
其中普通直方图、立体直方图、普通折线图、圆饼图、面积图只能显示 A 产品的资料。
11.4
定义数据组
图表的坐标轴可以进行转换。
【操作步骤】
1、点取[编辑]菜单中的[定义数据组],将弹出“定义数据组”对话框如图 11-9。
2、在对话框中点取“行”或“列”,图表将作相应的变化。
重新定义数据组后,还可以进行图表格式的转换,具体操作同上。
注意
“以一行数据为一组进行比较”:选择此项后,以源数据区域中的行为 X 轴,以第一行内容为 X 轴标注。以源
数据区域中的列为 Y 轴。
“以一列数据为一组进行比较”:选择此项后,以源数据区域中的列为 X 轴,以第一列内容为 X 轴标注。以源
数据区域中的行为 Y 轴。
图表的坐标轴转换也可以点击图标
11.5
“定义数据组”实现。
图表对象的管理
在报表中插入图表对象后,选定对象点击鼠标右键可以对图表对象进行管理。
在图 11-6 中,选中图表,单击鼠标右键,弹出快捷菜单。如图 11-10。
图 11-9
图 11-10
1、图表对象的剪切、复制、清除(从当前表删除选定图表对象)。
2、如果插入多个图表对象,选定某个对象,选择[对象前置]或[对象后置] 使它显示在最前端或其
它图表对象之后。
70
3、对图表对象进行预览和打印,此时打印和预览到的只是插入的图表对象。如果想对插入的图
表对象的整张表进行预览,可以选择在工具栏。
4、选择[属性]可以得到图形对象的名称和生成图像的区域,并可以改变图形显示的尺寸大小。
5、选择[外观]可以改变图形对象外观:将外边框线去掉或透明显示。如图 11-11。
11.6
图形对象的属性
插入图表对象后,选中图形单击鼠标右键选取“属性”,弹出的对话框中,显示图形名称及生成
图形的数据区域。如图 11-12。
图 11-11
图 11-12
改变百分数的大小,可以改变图形显示的比例,选中“相对于原始尺寸”复选框时,图形的显示
比例的更改是在生成图形时拖动鼠标选定的大小的基础上按比例缩放。
71
第 12 章
在 UFO 报表系统中,图表有两种存在方式:一种是和报表出现在同一窗口中,即图文混排方式,
上一章采用的就是这种方式;另一种是图表单独存在于另外一个窗口中,本章将对此详细介绍。
下面仍以“产品销售明细表”为例说明。
【例 12-1】在“产品销售明细表”中,同时作“A 产品销售情况图”和“A、B、C 三种产品 8
月销售情况比较图”,具体操作见前一章。这里只显示结果。如图 12-1。
图 12-1
12.1
认识图表窗口
在报表窗口,点击【工具】菜单中的【图表窗口】,屏幕显示如图 12-2,您会发现菜单条和图表
已经不同了。
72
图 12-2
12.2
打开图表窗口
【操作步骤】
1、在报表窗口中,点取【工具】菜单中的【图表窗口】,将打开一个图表窗口。如果已有图表,
则自动打开第一个图表;如果没有图表,则打开一个空的图表窗口。
2、点取【图表】菜单中的【打开】,将弹出“打开图表”对话框如图 12-3。
图 12-3
3、在对话框中列出了本报表文件已有的图表名,在其中选择一个打开。
12.3
显示图表
一个报表文件可以生成多个图表,最多可以保存 12 个图表。图表以窗口的方式存在,一个图表窗口
只能显示一个图表。为了观看多个图表,可以使用下面几个图标:
点取“显示上一个图表”
按钮后,将显示当前图表的上一个图表。
点取“显示下一个图表”
按钮后,将显示当前图表的下一个图表。
点取“显示第一个图表”
按钮后,将显示最早生成图表。
按钮后,将显示最后生成图表。
点取“显示最后一个图表”
在某些情况下,当在报表文件中所选取的数据区域有多组源数据,为每次只显示一组数据的图形
可以用下面的图标按钮:
点取“用上一组数据作图”
按钮后,将显示上一组数据的图形。
点取“用下一组数据作图”
按钮后,将显示下一组数据的图形。
73
12.4
删除图表
【操作步骤】
1、打开要删除的图表,并使它成为活动窗口。
2、点取【图表】菜单中的【删除】,当前图表将被删除。
12.5
关闭
【操作步骤】
1、点取【图表】菜单中的【关闭】,将关闭图表窗口。
2、关闭图表的同时将自动保存图表。
74
第 13 章
在实际工作中,对某些文件,特别是财经报表,我们希望这些文件或报表格式不被另外的人员改
动,为此系统提供了文件口令和格式加锁功能。
13.1
文件口令
在实际工作中,一些报表需要限制访问权限,可以为报表增加文件口令。在打开一个有口令的报
表时,必须输入正确的口令才能打开该报表。
13.1.1
设置文件口令
操作步骤
1、新建一个报表时,选择“文件”菜单,单击“文件口令”后弹出设置口令对话框如图 13-1。
2、在“新口令”编辑栏内输入文件保护口令,在“确认新口令”编辑栏内输入相同口令,以便
您确定和熟记该口令。如果两次输入不同,将弹出“新口令与确认新口令不匹配,请重新输
入!”。否则提示“设置口令成功!”如图 13-2。
图 13-1
图 13-2
3、保存该表,关闭后,再打开此报表时,会弹出文件口令对话框如图 13-3,在“口令”编辑栏
输入正确的口令,就可以打开此报表。
图 13-3
13.1.2
更改或取消文件口令
对已有口令的报表,可以更改口令或取消口令。
【操作步骤】
1、如果需要更改口令,打开该报表,选择“文件”菜单,单击“文件口令”后弹出设置口令对
话框。在口令编辑栏中输入口令,如果口令正确“新口令”和“确认新口令”编辑栏变亮。
如图 13-4。
75
图 13-4
2、在“新口令”和“确认新口令”编辑栏输入相同口令,否则提示“新口令与确认新口令不匹
配,请重新输入!”,如果输入为空时提示“警告!文件保护口令已经取消!”如图 13-5。
图 13-5
注意
口令用于防止非授权用户访问被保护的报表文档,口令可以是字母、数字、空格、符号的任意组合,最多为 256
个字符。键入口令时,UFO 会将每个键入的字符都显示为“*”。
在 UFO 中口令不区分大小写,例如 SYSTEM 等同于 system。
13.2
格式加解锁
对某些报表格式,一旦设计好后基本不变,对它们进行加解锁,可以灵活管理报表样板。
13.2.1
格式加锁
报表格式加锁后,想要进入格式状态修改格式必须输入正确口令。如果口令有误,则不能进入格
式状态,只能在数据状态下操作。
【操作步骤】
1、点取[格式]菜单中的[保护],在下拉菜单中点取[格式加锁],将弹出“格式加锁”对话框如图
13-6。
2、在“输入口令”编辑框中输入格式保护口令,在“确认输入口令”编辑框中再次输入相同的
口令。两次输入相同的口令是为了确定并熟记口令,如果两次输入的口令不同,将弹出提示
框“您两次输入的密码不同,请重新输入”。
3、报表格式加锁之后,在进入数据状态之前,可以进行任何操作;进入数据状态之后,想要回
到格式状态,将弹出“验证格式口令”对话框如图 13-7。口令输入正确后,才能进入格式状
态修改报表格式。口令不正确将出现提示框“口令错误!不能进入格式设计!”。
76
图 13-6
图 13-7
13.2.2
格式解锁
【操作步骤】
1、点取[格式]菜单中的[保护],在下拉菜单中点取[格式解锁],将弹出“验证格式口令”对话框
如图 13-7。
2、在“请输入格式口令”编辑框中输入正确口令。如果口令输入错误则不能解锁,将弹出提示
框“输入口令错误!不能解锁!”
77
第 14 章
14.1
14.1.1
文件管理
UFO 报表的文件类型
UFO 报表系统有 3 类文件,它们是:
1、报表文件(后缀.rep)
报表文件是我们在日常操作中要熟练使用的,一个报表文件就是一个电子报表,例如资产负债表、
损益表、利润表等,它包括一页或多页格式相同、但具有不同数据的表页。
2、批命令文件(后缀.shl)
批命令文件是多个 UFO 报表命令的集合,即在一个批命令文件中编写多个命令,执行这个批命令
文件就可以一次完成这些命令。批命令文件在二次开发窗口 UFOEDIT 中编写。
3、菜单文件(后缀.mnu)
菜单文件在常规操作中较少用到,是用户设计的、可以实现特定功能和操作流程的菜单文件,它
可以取代系统菜单。菜单文件在二次开发窗口 UFOEDIT 中编写。
14.1.2
打开其他文件类型的文件
打开一个已有的文件后,系统自动进入数据状态,第一张表页为当前表页。除了*.rep 报表文件,
UFO 报表可以直接打开的文件类型有:
1、 文本文件(后缀.txt)
2、 DBASE 数据库文件(后缀.dbf)
3、 ACCESS 文件(后缀.mdb)
4、 MS EXCEL 文件(后缀.xls)
5、 LOTUS 1-2-3(4.0 版)文件(后缀.wk4)
6、 UFO7.x 系列的报表文件(DOS 5.x 系列文件需要进行转换才能打开)。
【操作步骤】
1、点取[文件]菜单中的[打开]或快捷键:CTRL+O,弹出“打开”对话框。
2、在“打开”对话框中选取适当的文件打开。在对话框底部有一选择框“以只读方式打开”,
选中此项则打开的文件不允许修改。
注意
打开 LOTUS1-2-3 文件时,表格线将丢失。
打开 TXT、DBF、MDB、XLS、WK4 文件时,原有的字符转换为字符型单元,数值转换为数值型单元。
TXT、DBF 文件打开后,所有的数据将存放在第一张表页上。
提示
在[文件]菜单的下部列出了最近打开的文件列表,可在其中点取文件名打开文件。如果显示“打开文件失败!”则表示此
文件已不在原来位置上或已被删除,或者是 UFO 不能打开的文件格式。
14.1.3
另存为其它文件格式
利用[另存为]命令,可以保存当前文件的备份,或者把文件保存为其他文件格式。
UFO 可以保存的文件类型有:
1、本系统的报表文件(后缀.rep)
2、文本文件(后缀.txt)
78
3、DBASE 数据库文件(后缀.dbf)
4、ACCESS 文件(后缀.mdb)
5、MS EXCEL 文件(后缀.xls)
6、LOTUS 1-2-3(4.0 版)文件(后缀.wk4)
【操作步骤】
1、点取[文件]菜单中的[另存为],弹出“另存为”对话框。
2、在“文件名”框中输入新的文件名。
3、在“存为类型”框中,单击所要保存的文件格式。
4、点击“保存”按钮。
注意
执行[另存为]命令后,对文件所作的改变保存在新文件中,原有文件不保存这些改变。
REP 文件另存为文本文件 TXT 时,单元类型将以本列的第一个单元内容为准。再次在 UFO 中打开这个 TXT 文件
时,所有表页的内用在第一页上,并且表样单元转换为字符单元。
REP 文件另存为 DBF 文件后,再次在 UFO 中打开这个 DBF 文件时,所有表页的内容在第一页上,并且表样单元
转换为字符单元。
REP 文件另存为 MDB 文件后,再次在 UFO 中打开这个 MDB 文件时,依然为多页的,表样单元转换为字符单元。
REP 文件另存为 XLS 文件后,再次在 UFO 中打开这个 XLS 文件时,依然为多页的,表样单元转换为字符单元。
REP 文件另存为 WK4 文件后,再次在 UFO 中打开这个 WK4 文件时,依然为多页的,表样单元转换为字符单元。
文件的导入及导出
14.1.4
目前,国内财务软件众多,由于他们采用的数据库平台和结构各不相同,几乎任意两个软件之间
要实现数据传递都存在专门的数据转换问题。
例如:上级单位使用 UFO,基层单位使用 TB 表。进行报表报送时,两种报表文件不统一,必须
经过转换才能使用。但目前各财务软件公司自行其事并没有统一的转换标准,给用户工作带来了
很大麻烦。
在 1998 年,由用友公司倡导,各大财务软件公司参加了"标准财务软件接口规范"的制定工作。并
由用友公司制定了财务数据的接口规则和标准数据存储方式,既"文件的导入和导出"功能。
工作流程是,首先把本软件的数据导出为"标准财务数据"(包括*.ini 配置文件和*.txt 文本文件),
然后另一方可以把其导入并转换为自己的数据。
例如:基层单位使用 TB 表,使用"导出功能"把报表转换为标准财务数据。把标准财务数据报送
给上级单位。上级单位接收到标准财务数据时,把其导入到 UFO 中,形成 REP 报表文件。
导入
文件导入功能,可以将某个软件提供的报表文件数据转换到 UFO 的报表中。
【操作步骤】
1、[文件]菜单中的[其他财务软件数据]的[导入],弹出对话框如图 14-1。
79
图 14-1
2、在对话框中,选定文件存放的初始化设置文件(*.INI)文件点取“打开”。弹出对话框如图 14-2。
图 14-2
3、在“可导入报表”列表框下,用鼠标选定要导入的报表名称,然后点取“导入”将该文件转
换为 UFO 的报表文件。
导出
文件导出功能,可以将某一软件生成的报表文件转换为标准的文件格式,便于其它软件直接读取数
据。
【操作步骤】
1、打开要导出的文件。
2、点取[文件]菜单中的[其他财务软件数据]的[导出],弹出对话框如图 14-3。
图 14-3
注意
当*.INI 文件不存时,用户必须在文件名的编辑框中输入文件名,新建一个*.INI 文件。
80
3、选取文件存在的初始化设置文件(*.INI)文件,点取“打开”弹出“导出文件”对话框如图 14-4。
图 14-4
4、在“导出文件”对话框中定义导出的文件名称,*.txt,不带路径,与*.ini 文件在相同路径下。
点取“导出”,如果在初始化设置文件(*.INI)该文件已存在提示“文件已存在,请更换文件
名?”,点取“确定”重新输入文件名,否则取消导出操作。
14.1.5
生成 HTML
为了实现文件之间相互转换,UFO 除了提供“另存为”功能,还提供了生成 HTML 文件功能,
是相互传送数据变为现实可行。
选取“文件”菜单中“生成 HTML”将报表文件另存为浏览器文件,可以将浏览器文件放到 Web
网页上,用您的浏览器根据文本的内容进行格式化显示。
【操作步骤】
1、打开要转化的报表文件,选取“格式/数据”按钮,到数据状态。
2、选取“文件”菜单中的“生成 HTML”。弹出对话框如图 14-5。
图 14-5
注意
打开的报表文件如果在此之前未生成过 HTML 文件,则弹出对话框如图 14-5,生成的 HTML 文件与源文件保存在
相同的位置,否则弹出“另存为”对话框如图 14-6,在“文件名”编辑框中输入文件的名称,然后单击“确定”
将文件保存为浏览器文件。
图 14-6
81
XML 文件的导出与导入
14.1.6
导入
【操作步骤】
1、选取“文件”菜单中的[其他格式]——[从 XML 导入],弹出对话框如图 14-7。
图 14-7
2、在“打开”列表框下,用鼠标选定要导入的报表名称,然后点取“导入”将该文件转换为 UFO
的报表文件,弹出对话框如图 14-8。
图 14-8
3、点击“保存”即可。
导出
【操作步骤】
1、打开要转化的报表文件,选取“格式/数据”按钮,到数据状态。
2、选取“文件”菜单中的[其他格式]——[导出成 XML],弹出对话框如图 14-9。
3、点取“确定”后,弹出对话框如图 14-10。
图 14-9
图 14-10
82
转后的文件和原文件默认保存在同一目录下。
14.2
14.2.1
应用服务
什么是应用服务
前面介绍了报表内部及报表间的计算公式的设计方法,无疑,这些计算公式给报表的数据组织和
数据管理带来了极大的方便。然而,报表中的许多数据不一定来自报表系统,例如,有许多的数
据来自第三方提供的数据 (如:会计账簿)。每一次制作会计报表,都从会计账簿中誊抄数据毕竟
不是个好办法,因为这样,会计报表就有可能失去其数据的准确性、有效性和及时性。因此,如
果将会计账簿中的有关数据直接通过计算公式提取到相关的会计报表中,将会给报表的编制带来
极大的方便,同时,既避免了数据的失真,又节约了时间,增加了效率。
UFO 为用户提供了的应用服务的查询功能,应用查询服务提供的函数架起了 UFO 报表系统和用
友软件(集团)公司的其它业务应用模型(用友公司的总账系统、工资系统等)之间的数据传递的
桥梁。所以,如果用户使用了用友软件(集团)公司的套装软件,就可以实现 UFO 电子报表同
其它应用软件间数据整合。利用应用服务提供的函数设计计算公式,每期的会计报表无须过多操
作,系统就会自动地将第三方提供的数据传递到报表系统的会计报表中。
应用服务用于从用友公司的 U8 管理软件系列产品中提取数据。
具体提取方法与 UFO 以前版本类似,通过定义“业务函数”来提取符合条件的数据。例如函数
QC ( "101" , "全年", "
借", 001, 1999) 表示提取《用友账务系统》中 001 账套的 101 科目的年初借方余额。
这些函数可以使用于单元公式、命令窗、批命令中。
各“业务函数”(取数函数)的详细格式和用法可参阅《附录 1》。
U8 管理软件的各个产品模块紧密地结合在一起,可以看作一个大的产品。使用 UFO 可以从各个
产品模块中提取数据,包括:《账务》23 个、《应收》、《应付》8 个、《工资》7 个、《固定
资产》7 个、《财务分析》1 个、《采购》32 个、《存货》11 个、《库存》31 个、《销售》39
个、《成本》9 个、《资金管理》2 个。
14.2.2
应用服务的使用
【操作步骤】
1、在[数据]菜单中,点取“重新登录”在对话框中设置账套号和会计期。
2、在[数据]菜单中,选择“编辑公式”的“单元公式”下的函数向导,也可以点取工具栏。
快捷键:=
3、在函数向导的左边列表框中列出应用服务的名称,当点中某一应用服务时,在右边的列表框
列出应用服务提供的所有函数。
4、双击某一函数,弹出函数对话框,然后按给出的函数格式手工输入,确认后函数经检查正确
后输入成功。
14.3
链接和嵌入
链接与嵌入是在不同应用程序中间创建的文档间交流信息的两种方式。借助 UFO 的链接与嵌入
功能,你可以在一个应用程序的文档包含另外一个应用程序创建的信息。例如:在 UFO 中插入
MICROSOFT EXCEL 电子表格、WORD 文档等支持链接与嵌入功能的程序。
14.3.1
什么是链接
链接是从一个文件(源文件)向另一个文件(目的文件)复制信息,并保持两个文件之间的联系。
改变源文件中的信息时,目的文件中的信息将同时改变。
14.3.2
什么是嵌入
嵌入是 从一个文件(源文件)向另一个文件(目的文件)插入信息,嵌入后信息称为对象并成
为宿主文件的一部分。双击嵌入对象,将打开创建该对象的应用程序,你对该对象的修改反映在
宿主文件中,但对源文件没有影响。
83
14.3.3
链接与嵌入的区别
它们的主要区别在于数据放入文件后,存放的位置和更新方式不同,如果采用链接方式,更改源
文件后信息将更新。 链接的数据保存在源文件中,数据所放入的文件只保存数据的位置并显示
连接和映像,如果采用嵌入方式,更改源文件后信息不会更新。嵌入的对象已经成为宿主文档文
档自身的一部分,双击对象可在源应用程序中打开并编辑它,而在源应用程序中的原始对象保持
不变。
注意
如果需要独立于源文件使用嵌入;
如果希望源文件改动时信息能自动更新,请使用链接。
14.3.4
嵌入新对象
要在其它应用程序中创建嵌入对象,必须在计算机中安装此软件。
操作步骤:
1、单击要嵌入对象的位置
2、在“编辑”菜单中,单击“插入新对象”选项,弹出“插入对象”对话框如图 14-11。
图 14-11
3、在“对象类型”框,单击要创建对象的类型。
4、要将插入的对象显示为一个图标,可以选中“显示成图标”复选框。
14.3.5
链接或嵌入已有的整个文档
【操作步骤】
1、单击要放置对象的位置。
2、在“编辑”菜单中,单击“插入新对象”命令,然后单击“从文件中创建”选项卡。
3、在“文件名”,键入要链接或嵌入的对象名。若需查找要链接或嵌入的文件,可单击“浏览”。
4、要将对象显示为一个图标,可选中“显示成图标”复选框。
5、若要保持与原始文件的链接,选中“链接”复选框。将文件内容以链接方式插入到您的报表
中。源文件所做的更改将反映到您的报表中,如图 14-12。
84
图 14-12
例如:您可以用 Excel 制作的工作表作为一个对象链接到 UFO 的报表文件中,您可以在 Excel 中
对工作表进行修改,也可以进行计算,得到的结果将自动反映到 UFO 的报表文件中。
注释:
如果不选择“链接”,文件只作为嵌入对象插入到您的报表中,可以使用建立它的程序来启动它。
14.3.6
从已有的文件链接或嵌入选定的信息
【操作步骤】
1、选择要链接或嵌入的信息。
2、单击 或 。
3、切换到要放置信息的文档,然后单击希望该信息出现的位置。
4、在编辑菜单中,单击“选择性粘贴”命令。
5、若要链接选定信息,单击“粘贴链接”。要嵌入选定信息,可单击“粘贴”命令。在“作为”
框中,单击名称中有“对象”一词的选项。
例如:如果从 WORD 文档中复制了信息,就单击“Microsoft Word 文档对象。如图 14-13。
图 14-13
14.3.7
在已安装了源程序的情况下编辑嵌入的对象
如果创建嵌入对象的应用软件已安装,可双击打开该对象进行编辑,一些应用程序将暂时取替当
前应用程序中的菜单和工具栏,以便能够编辑此处的嵌入对象,而不必切换到另一个窗口。其它
应用软件在一个独立的窗口中启动初始应用软件,而后打开对象进行编辑。
【操作步骤】
1、 双击嵌入的对象打开它,或将鼠标指向该对象单击右键选择“....对象”项,然后单击“编辑”
或“打开”。
85
2、编辑该对象。
3、如果在该处编辑对象,单击对象之外的任何位置可返回放置嵌入对象的位置。
提示
某些嵌入的对象(如视频和音频),双击即开始播放而不是打开应用程序进行编辑。要编辑这些对象,先选定,然
后再指向“编辑”菜单中的“.....对象”,再单击“编辑”命令。
没有创建对象的应用程序的情况下编辑对象
14.3.8
如果创建嵌入对象的应用软件不存在,可将对象转换为已有应用程序的文件格式。例如,如果您
在 UFO 文档中含有嵌入的 Microsoft Works Spreadsheet 对象,而您没有 Works 软件,可将该对象
转换为 Microsoft Excel Workbook 格式,然后在 Micro Excel 中编辑它。
操作步骤:
1、选择要编辑的对象。
2、在“编辑”菜单中,指向“……对象”(Microsoft Excel 工作表),然后单击“转换”按钮。
3、若要将嵌入对象转换为在“对象类型”框中指定的文件格式,用鼠标点中该文件格式,单击
“确定”。
提示
某些嵌入对象(如视频和音频),双击即开始播放而不是打开应用程序进行编辑。要编辑这些对象,先选定,然后
再指向“编辑菜单”中的“……对象”。再单击“编辑”命令。
编辑链接对象
14.3.9
如果 UFO 中有链接对象,双击对象打开源文件也可以单击鼠标右键选择“……对象”然后点取
“编辑”和“打开”。
提示
在每次打开包含链接对象的文件时,只要源文件存在都会显示自动更新。
14.3.10
修改对象的大小
选定插入的对象,单击鼠标左键激活对象,将鼠标移动到对象边框的黑点处,当鼠标变为
或
时,按下鼠标左键同时拖动鼠标到适当大小,放开鼠标即可。
14.3.11
对象预览/对象打印
选定对象单击鼠标右键选择【对象预览】或【对象打印】,可以只对链接或嵌入的对象执行预览
及打印。
14.3.12
对象置前/对象置后
当文件中插入多个链接或嵌入多个对象时,选定对象单击鼠标右键选择【对象置前】/【对象置后】
可以使该对象置于其它与之重叠的对象之前/之后。
14.3.13
更换图标
插入对象后,选定对象单击鼠标右键,并点取"属性"。在弹出的对话框中选取"查看"---"更换图标"即
可在弹出的对话框设置图标。 例如:插入的对象为位图文件,如图 14-14,
86
图 14-14
选择"默认",图标有当前图标还原为默认图标。
选择"来源",可以从源文件(对象的生成文件)中选择提供的图标作为当前图标。
可以在"标号",中为图标定义标题,在对话框右下角预览图标样式。
14.3.14
对象外观
对象在缺省时承不透明状态,有外边框线。如果要改变对象的外观,选定对象点击鼠标右键,选取"
外观",在对话框中选中"透视显示",当对象被置于前端时,可以观察到被其覆盖的部分。去除选中
的"外边框线"复选框,则不显示对象的外边框线。
注意
位图文件不能以透明显示。
14.3.15
对象属性
选定对象单击鼠标右键,并点取"属性"可查看和更改对象的属性,也可选择"编辑"菜单中的"对象属
性"。
14.3.16
更新链接和控制如何更新链接
【操作步骤】
1、在“编辑”菜单中,单击“链接”命令。如果文件不包含链接,“链接”项将以淡灰显示。
2、单击要更新的链接。要选定多个连接,按下 Ctrl 键的同时再单击每个链接,如图 14-15。
3、若要在每次打开包含链接文档时更新链接的信息,或者在打开包含链接文档时,若链接的信
息被更改,文档中的链接也随时更新,请单击“自动”选项。如果希望链接信息只在单击“更
新”按钮时才更新,请单击“手工”选项。
提示
链接:显示该文档当前使用的链接类型和更新方式。 如果要更新链接,请单击该链接,然后单击"自动"或"手动"。
如果找不到链接的源文件,"更新"列将显示"未知"。这种情况一般发生在源文件已被删除或位于未知网络驱动器上
的时候。
自动、手工:指定所选链接的更新方式:自动还是手动。 如果选择"自动",则无论何时更改源文档的链接信息,
该文档都会自动更新。 如果选择"手动",则在单击"立即更新"后,才更新信息。
打开源文件:单击此处可以打开所选链接的源文件。
更改源文件:单击此处可以更改所选链接的源文件。在链接不同文档的信息时,该功能非常有用。
断开链接:断开所选的链接。如果您希望对源文档的更改不反映到当前文档中,请使用该项。
87
14.4
14.4.1
打印
强制分页
系统提供的自动分页功能是按照表页的自然页进行分页,但是有时自动分页 会影响报表的美观
或是不能满足用户的需要,因此我们提供了“强制分页”功能。由于强制分页功能用于打印输出,
并不是从本质上改变表格式,所以在格式状态和数据状态均可进行此项操作。
【操作步骤】
1、 若只对行或只对列进行分页,则将光标移到相应行的第一列单元或相应列的第一行单元中。
2、 点取【工具】菜单中的【强制分页】选项,系统将以该单元的上边线框为分界画出一条横向
虚线,或以该单元的左边线框为分界画出一条纵向虚线,即该页将照此虚线按行或列划分为
两页。
3、 若欲同时对行和列进行分页,则将光标移到相应单元,点取【工具】菜单中的【强制分页】
选项,系统将以该单元的左上角为分页点画出十字状虚线,即该页将按此虚线划分区域分为
四页。
4、 若想恢复分页前的状态,点取【工具】菜单中的【取消全部分页】选项,则可恢复分页。
14.4.2
页面设置
利用“页面设置”可以设置报表的页边距、缩放比例、页首和页尾。
操作步骤:
1、激活要进行页面设置的报表文件的窗口。
2、点取[文件]菜单中的[页面设置],将弹出“页面设置”对话框。
3、在上、下、左、右页边距编辑框中输入页边距的值。
4、在“缩放比例”编辑框中输入缩放倍数,在 0.3 倍到 3 倍之间。
5、在“页首页尾”中选择页首和页尾的类型和范围。
进行页面设置之后,报表窗口并没有变化,在“打印预览”中可以观看页面设置效果。
14.4.3
打印设置
打印设置包括设置打印机、打印纸、打印质量等。
【操作步骤】
1、激活要打印的报表文件或图表的窗口。
2、如果要打印报表,则点取要打印表页的页标,使它成为当前表页。
3、点取[文件]菜单中的[打印],将弹出“打印设置”对话框。
4、在“打印”对话框中设置打印机、打印纸的大小、打印方向、纸张来源、图象的分辨率、图
象抖动、图象的浓度、打印品质、打印到文件、打印范围。
如果不想打印报表中的某些行或某些列,进入格式状态,把行高或列宽调整为 0 即可。
快捷键:Ctrl+I
14.4.4
打印预览
利用打印预览可以随时观看报表或图表的实际打印效果。
【操作步骤】
1、激活要打印的报表文件或图表的窗口。
2、如果预览报表,则点取要预览的表页的页标,使它成为当前表页。
3、点取[文件]菜单中的[打印预览],将进入“打印预览”屏幕。
4、在“打印预览”屏幕上方有一排按钮,点取这些按钮有不同的效果。
“打印”按钮:点取此按钮后,将弹出“打印”对话框,在其中可进行打印设置。
“关闭”按钮:点取此按钮后,关闭打印预览,回到原窗口。
进入打印预览时,打印纸的显示比例为最小。当鼠标指针在模拟打印纸上移动时,鼠标指针将变
为放大镜形状,单击鼠标按钮可放大显示比例。放大两次后,显示比例达到最大,鼠标指针恢复
为通常形状。此时单击鼠标指针,打印纸的显示比例还原为最小。
88
14.4.5
打印
UFO 每次打印当前表页的内容。在格式状态下执行打印,只打印报表的格式;在数据状态下执行
打印,将打印当前表页的所有内容。
【操作步骤】
1、激活要打印的报表文件或图表的窗口。
3、点取[文件]菜单中的[打印],将弹出“打印”对话框。
4、在“打印”对话框中设置打印机、打印纸的大小、打印方向、纸张来源、图象的分辨率、图
象抖动、图象的浓度、打印品质、打印到文件、打印范围。
如果不想打印报表中的某些行或某些列,进入格式状态,把行高或列宽调整为 0 即可。
14.4.6
打印图表
【操作步骤】
1、点取要打印的图表窗口,使它成为当前窗口。
2、点取[图表]菜单中的[打印预览],进入打印预览画面,可以观看图表的打印效果。
3、点取[图表]菜单中的[打印],将弹出“打印”对话框 ,可以设置打印机、纸张大小、打印方向
等。
14.4.7
数据套打
执行数据打印操作,可以只打印数据状态下的数据,对于定义的报表格式内容不打印。
如果打印整张报表请使用[文件]菜单的[打印]。
【操作步骤】
1、点取“格式/数据”按钮,到“数据”状态。
2、点取要打印表页的页标,使它成为当前表页。
点取[文件]菜单中的[数据套打],将弹出“打印”对话框 ,可以设置打印机、纸张大小、打印方
向等。
14.4.8
对象打印
对象打印操作可以不打印报表的格式及数据状态的内容,而只打印插入报表的对象。
【操作步骤】
1、选定插入的某一对象(被选定对象的边框出现八个黑点)。
2、然后点击鼠标右键在弹出的菜单中点取[对象打印]。
注意
如果要打印插入对象后的整个报表请点取[文件]---[打印预览]
89
第 15 章
15.1
什么是批命令
UFO 的批命令实质上是把多个 UFO 命令进行集合操作处理,即在一个批命令文件中编写多个命
令,执行这个批命令文件就可以一次性完成这些命令。批命令在许多时候是必不可少的。
大部分命令和函数均可在批命令中使用;批命令可以嵌套、递归(这是在单元公式中不能作到的)
和带参调用;批命令可以在批命令和自定义菜单中调用。
批命令文件在 UFO 提供的二次开发窗口 UFOEDIT 中编写,编写完成后以后缀“.SHL”保存。
点取[文件]-[执行]菜单可以执行批命令文件。
在批命令的执行过程中,按<Esc>键可以终止批命令的执行。
批命令在许多时候是必不可少的,例如当主管单位进行报表汇总时和企业集团的母公司进行合并
报表时需要用到批命令。
15.2
批命令的实现过程
批命令文件后缀为.SHL,实现过程是:
第一步 打开"UFOEDIT"窗口。
第二步 建立一个批命令文件。
第三步 在系统窗口或报表窗口都可以执行批命令文件。
第一步 打开"UFOEDIT"窗口
【操作步骤】
1、点取【工具】菜单中的【二次开发】,将打开 UFOEDIT 窗口如图 15-1。
图 15-1
1、点取【窗口】菜单中的【工具栏】,可以关闭和打开工具栏。
2、点取【窗口】菜单中的【状态栏】,可以关闭和打开状态栏。
3、点取【文件】菜单中的【退出】,可以退出 UFOEDIT 窗口。
第二步 创建批命令
【操作步骤】
1、点取[文件]菜单中的[新建],将弹出“新建”对话框如图 15-2。
2、在对话框中选“批命令文件”,点取“确认”按钮后创建一个批命令文件,系统给批命令文
件命名为“无标题批命令 1”,显示在标题栏中,如图 15-3。
90
图 15-2
图 15-3
3、在窗口中出现插入点“I”,这时可以在窗口中输入命令。在批命令中一条命令占一行,输入
一条命令之后回车即可开始输入下一个命令。可以利用光标移动键在批命令正文中移动。因
为 UFO 自动把命令窗中输入的命令全部记录下来,所以可以复制命令窗中的命令,把它粘贴
到 UFOEDIT 窗口中,形成批命令。
注意
在批命令中不能使用全角字符(在双引号""中可以使用全角字符)。
因为 UFOEDIT 窗口没有检查错误的功能,在批命令编写完毕后,应检查一下是否有语法错误和逻辑错误。
提示
在批命令编写过程中,把插入点“I”移动到某个命令上,按下 F1 键,将调出相应帮助内容。
第三步 执行批命令文件。
在系统窗口或报表窗口都可以执行批命令文件。
【操作步骤】
1、点取【文件】菜单中的【执行】,将弹出“执行”对话框,如图 15-4。
图 15-4
91
2、在“文件类型”框中选“批命令文件”。
3、在对话框中选择一个已编制好的批命令文件(后缀.SHL)。
4、点取“执行”按钮后执行该批命令文件。
注意
批命令执行过程的相关信息显示在状态栏中。
如果批命令中存在错误,在执行批命令时将出现相应提示框,可以选择中止或继续执行批命令。
15.3
批命令实例
例 1、下面是一个审核报表的批命令。
if c6<>c7+c8+c9+c10
disp "c6 单元错误!"
return
end
if c19<>c20+c21+c22+c23
disp "c19 单元错误!"
return
end
if c28<>c6+c19
disp "c28 单元错误!"
return
end
disp "数据全部正确!"
例 2、以下是《损益表》取数的批命令。
let C5=fs(501,月,"贷",999,年)
let C6=fs(502,月,"借",999,年)
let C7=fs(503,月,"借",999,年)
let C8=fs(504,月,"借",999,年)
let C9=C5-ptotal(C6:C8)
let C10=fs(511,月,"贷",999,年)-fs(512,月,"借",999,年)
let C11=dfs(521,321,月,"贷",,,999,年)
let C12=fs(522,月,"借",999,年)
let C13=C9+C10-C11-C12
let C14=fs(531,月,"贷",999,年)-fs(532,月,"借",999,年)
let C15=fs(541,月,"贷",999,年)
let C16=fs(542,月,"借",999,年)
let C17=C13+C14+C15-C16
let C18=fs(505,月,"借",999,年)
let C19=C17-C18
let D5:D19=C5:C19+select(D5:D19,年@=年 and 月@=月+1)
例 3、以下是采集下级单位报表的批命令。
let &unit=getstr(“要采集的单位名称:”)
open “a:\zcfzb.rep”
if &unit<>单位名称
disp “单位名称不符!”
break
end
let &year=getint(“要采集的年度:”)
let &month=getint(“要采集的月份:”)
open repo “a:\zcfzb.rep” append from “a:\zcfzb” for 年=&year and 月=&month
92
append from “a:\syb” for 年=&year and 月=&month
append from “a:\xjllb” for 年=&year and 月=&month
。。。。。。
例 4、以下是一个寻找单位名称为“销售部”表页的批命令。
LET &PAGE=1
WHILE &PAGE<=100
SETPAGE &PAGE
IF 单位名称="销售部"
DISPLAY "已找到销售部表页!"
RETURN
END
LET&PAGE=&PAGE+1
END
DISPLAY "未找到销售部表页!"
例 5、有下面可变表,编制一个求产品销售额大于某数的批命令。
v_a
v_b
v_c
v_d
────────────────────────
产品名称
单价
数量
销售额
________________________________________________
let v_d=v_b*v_c for all ;all
let &max=getint("销售额大于?")
total to "汇总表" key v_a for all ;all
open repo "汇总表"
gdele for ;v_d<=&max
gsort on v_d –d
93
第 16 章
16.1
什么是自定义菜单
自定义菜单是用户编写的,实现特定功能和操作流程的菜单,它可以取代系统菜单和报表菜单。
功能菜单实现了对 UFO 功能的调用,即以用户编辑的菜单项目来调用 UFO 的功能。
菜单文件在 UFO 提供的二次开发窗口 UFOEDIT 中编写,编写完成后以后缀“.MNU”保存。在
系统窗口或报表窗口中可以执行菜单文件,执行之后它将取代 UFO 的菜单。
16.2
自定义菜单的实现过程
自定义菜单文件后缀为.MNU,实现过程是:
第一步
第二步
第三步
第四步
第五步
第一步
打开二次开发“UFOEDIT”窗口;
建立自定义菜单;
修改自定义菜单;
在系统窗口或报表窗口中都可以执行菜单文件;
可以打印自定义菜单。
打开二次开发“UFOEDIT”窗口
【操作步骤】
1、点取【文件】菜单中的【二次开发】,打开二次开发窗口“UFOEDIT”窗口,如图 16-1。
图 16-1
2、点取【窗口】菜单中的【工具栏】,可以关闭和打开工具栏。
3、点取【窗口】菜单中的【状态栏】,可以关闭和打开状态栏。
4、点取【文件】菜单中的【退出】,可以退出 UFOEDIT 窗口。
第二步
建立自定义菜单
【操作步骤】
1、 点取【文件】菜单中的【新建】,将弹出“新建”对话框如图 16-2。
94
图 16-2
2、 在对话框中选“菜单文件”,点取“确认”按钮后窗口如下图系统给菜单文件命名为“无标
题菜单 1”,显示在标题栏中,如图 16-3。
图 16-3
3、在窗口中出现的自定义菜单条,在菜单条的第一个位置有一个棕色框,用鼠标双击这个棕色
框,将弹出“编辑菜单项”对话框如图 16-4。
图 16-4
4、在“菜单项标题”框中输入菜单的名字。菜单的名字不能超过 20 个字符。
5、如果此菜单有下级菜单项,则点取右侧的“是否有下级菜单项”多选钮。如果没有下级菜单项,
则不点取。
6、如果此菜单项没有下级菜单项,即它是最后一级菜单项,请在对话框中输入此菜单项要执行
的命令。
7、在“状态栏说明”框中输入此菜单项的说明文字。在执行此菜单文件时,当此菜单项被激活
时,说明文字将显示在状态栏中。
8、点取“确认”按钮后,定义的菜单项标题将显示在窗口中的自定义菜单栏中。
9、如果菜单项有下级菜单项,用鼠标点取它之后,将出现下级菜单,在下拉菜单中有一个绿色框,
如图 16-5,双击这个绿色框可以用相同的方法编辑下级菜单项。
95
图 16-5
注意
自定义菜单最多可以有 3 级,每一级菜单不能超过 12 个。
第三步
修改自定义菜单
插入菜单项:
如果要插入一级菜单项,把鼠标移动到插入位置上,点取【编辑】菜单中的【插入】,或者点取
插入图标 ,系统会弹出对话框,询问是否插入菜单。点击“是”插入菜单,点击“否”取消操
作。将在插入位置的左侧插入一个新的菜单项。
如果要插入二级或三级菜单项,把鼠标移动到插入位置上,点取【编辑】菜单中的【插入】,或
者点取插入图标 ,将在插入位置的上方插入一个新的菜单项。
删除菜单项:
把鼠标移动到要删除的菜单项上,点取【编辑】菜单中的【删除】,或者点取删除图标 ,则删
除此菜单项。系统会弹出对话框,询问是否删除菜单。点击“是” 删除菜单,点击“否”取消
操作
自定义菜单编写完毕后,保存菜单文件。
第四步
执行自定义菜单
在系统窗口或报表窗口中都可以执行菜单文件。
【操作步骤】
1、 点取【文件】菜单中的【执行】,将弹出“执行”对话框,如图 16-6。
图 16-6
2、在“文件类型”框中选“菜单文件(*.mnu)”。
3、在对话框中选择一个已编制好的菜单文件(*.mnu)。
96
4、点取“执行”按钮后,以该菜单文件代替 UFO 菜单,点取菜单可以完成定义好的命令。
提示
也可以使用【文件】菜单中的【自定义菜单】,将自己定义的菜单代替 UFO 标准菜单。
在命令窗中执行“SETMENU”命令可以返回到 UFO 标准菜单。
第五步
可以打印自定义菜单
菜单文件由自定义菜单栏、多个下拉菜单和 UFO 命令组成,因此它的打印与其他文件不同,首
先要把菜单文件输出到一个文本文件中,然后打印这个文本文件。
【操作步骤】
1、激活要打印的菜单文件的窗口。
2、点取【文件】菜单中的【输出到文件】,或点取“输出到文件图标
话框如图 16-7。
,将弹出“输出到”对
图 16-7
3、在其中选择一个文本文件,或者输入一个新的文件名,菜单文件将输出到此文本文件中。
4、点取【文件】菜单中的【打开】,打开此文本文件。
5、点取【文件】菜单中的【打印】,将弹出“打印”对话框,点取“确认”按钮后可以打印此
文件。
16.3
自定义菜单实例
编制一个“报表汇总处理“自定义菜单。
【操作步骤】
1、在系统窗口或报表窗口,点取【工具】菜单中的【二次开发】,打开 UFOEDIT 窗口。
2、创建一个菜单文件,并给它命名为“报表汇总菜单.mnu”。
3、自定义菜单的一级菜单如图 16-8,有表页汇总、表页管理、翻转表页、关闭报表、返回 UFO。
图 16-8
97
具体内容:
1)“表页汇总”,无下级菜单。
输入命令: TOTAL TO “hzb”
APPEND FROM “hzb”
2)“表页管理”,有下级菜单。
二级菜单 1:“追加表页”,输入命令:APPEND
二级菜单 2:“删除表页”,输入命令:DELETE
3)“翻转表页”,有下级菜单。
二级菜单 1:“向后翻页”,输入命令:SKIP 1
二级菜单 2:“向前翻页”,输入命令:SKIP -1
二级菜单 3:“翻道首页”,输入命令:SKIP -10000
二级菜单 4:“翻到末页”,输入命令:SKIP 10000
4)“关闭报表”,无下级菜单。
输入命令:CLOSE
5)“返回 UFO”,无下级菜单。
输入命令:SETMENU
4、保存此菜单文件。
5、激活报表窗口。
6、点去【文件】菜单中的【执行】,在执行对话框中选取“报表汇总菜单.mnu”。
7、执行之后,自定义菜单代替了 UFO 菜单,并且可以进行菜单的操作。屏幕如下图 16-9。
图 16-9
98
第 17 章
17.1
变量说明
变量格式:
变量名前必须加"&"符号作为变量标识符,如 &NAME1。
变量名:
长度小于等于 8 个字节。可以由字母、数字和下划线组成,必须以字母或下划线开头,不能以
数字开头。
例如:&test1、&_test1 为合法的,&1test 为非法的。
变量类型:
变量有数据和字符两种类型,变量类型随赋值类型的不同而随时变化。
【例 17-1】 LET &TEST1=3000
变量&TEST1 为数据类型。
LET &TEST1="TEST VARIABLE TYPE"
变量&TEST1 为字符类型。
变量使用状态:
系统状态、格式状态和数据状态。
总变量个数:
小于等于 80 个。
要查看已定义的变量及其内容,可以使用 list 命令。
17.2
变量使用
在命令窗中和批命令中可随时定义变量。变量可用于:
1、UFO 的大部分函数、命令中的参数可以用变量来代替。具体格式请参考(附录部分)。
2、UFO 的报表名、表页号、行号、列标都可以用变量来代替。
3、可以用变量进行循环处理。
【例 17-2】有一个变量&AA,
变量的增减量为 :(&AA+-)
以变量代替报表名:&AA->
(该变量为字符型)
以变量代替表页号:@&AA
(该变量为数据型)
以变量代替行号 :#&AA
(该变量为数据型)
以变量代替列号 :!&AA
(该变量为数据型)
【例 17-3】在命令窗或批命令中执行下面程序:
LET &tab=1
LET &row=3
LET &col=3
LET &name="test1"
LET !&col#&row:!(&col+2)#(&row+2)=&name->!(&col-1)#(&row+2)@&tab
以上程序等价于: C3:E5="TEST1"->B5@1
【例 17-4】在命令窗或批命令中执行下面程序:
LET &KM="10101"
LET &N=1995
99
LET B5=QC(&KM,&N,001)
以上程序实现功能:B5 单元取 001 套账 1995 年 10101 科目的期初数.
【例 17-5】在命令窗或批命令中执行下面程序:
LET &AA="核算审核通过!"
DISPLAY &AA
以上程序实现功能:显示提示框“核算审核通过!”。
【例 17-6】在命令窗或批命令中执行下面程序:
LET &AA="TEST"
OPEN REPORT &AA
以上程序实现功能:打开报表文件"TEST"。
17.3
清除变量
定义的每一个变量都会占用一定的内存空间。为了更加有效地利用系统资源,当一个变量使用完
毕后,应该释放该变量占用的内存空间,相当于清除该变量。利用 FREE 命令可以清除变量。
FREE 命令
〖命令说明〗
清除内存变量
〖命令格式〗
FREE <变量名>
〖参数说明〗
变量名:需要清除的变量,ALL 表示所有变量。
〖运行状态〗
系统状态、格式状态、数据状态。
〖范例〗
1、如下命令清除变量&A:FREE &A
2、如下命令清除所有变量:FREE ALL
100
第 18 章
UFO 提供了分支语句、循环语句、跳转语句、和返回语句 4 类语句。
语句只能用于批命令文件中,其作用主要是通过对条件的判断,决定命令的执行方式。
18.1
18.1.1
分支语句
简单条件分支语句
格式:
IF <条件表达式>
<语句行序列>
END
运行结果:如果条件为真,则执行 IF 语句后面的语句行序列;如果条件为假,则执行 END 后面
的语句。
例如:IF A3>0
LET B3=A3
END
运行结果:当 A3 单元的值大于 0 时,B3 单元等于 A3 单元;当 A3 单元的值小于等于 0 时,执
行 END 之后的语句。
18.1.2
选择条件分支语句
格式:
IF <条件表达式>
<语句行序列 1>
ELSE
<语句行序列 2>
END
运行结果:如果条件为真, 则执行语句行序列 1;如果条件为假,则执行 ELSE 后的语句行序
列 2。
例如:IF A3>1000
LET B3=A3
ELSE
LET B3=0
END
运行结果:如果 A3 单元的值大于 1000,B3 单元等于 A3 单元;如果 A3 单元的值小于等于 1000,
B3 单元等于 0。
18.2
循环语句
格式:
WHILE <条件表达式>
<语句行序列>
END
运行结果:当条件为真时,循环执行语句行序列;直到条件为假时,执行 END 之后的语句。
例如:给 12 张表页中的关键字“月”分别赋值为 1-12。
LET &AA=1
101
WHILE &AA<=12
LET 月@&AA=&AA
LET &AA=&AA+1
END
18.3
跳转语句
格式:
BREAK
运行结果:跳出最近一层循环体
1、用于 WHILE 匛 ND 语句中时,执行 BREAK 语句后将跳出 WHILE 循环,执行 END 之后的语
句。
2、用于 WHILE 匛 ND 语句中之外时,执行 BREAK 语句后将结束本批命令。(等同于 RETURN
语句的作用)
例如:以下语句完成功能是:有两个报表 ME.REP 和 DATA.REP,报表 ME.REP 各个表页的 A5
单元取报表 DATA.REP 相应表页 A5 单元的数据,全部取完之后显示"本年度数据已全部取到。"
OPEN REPORT "ME"
//打开报表"ME"
LET &MONTH=1
//给变量&MONTH 赋初值为 1
WHILE &MONTH<=12
//当变量&MONTH 小于等于 12 时,执行下面语句
IF &MONTH>MONTH( )
//如果变量&MONTH 大于系统时间的月
DISPLAY "本年度数据已全部取到。"
//显示提示框"本年度数据已全部取到!"
BREAK
//跳出 WHILE 循环
END
//结束 IF 语句
LET A5@&MONTH="DATA"->A5@&MONTH
//当前报表&MONTH 表页的 A5 单元等于报表"DATA"相同表页的 A5 单元的值。
LET &MONTH=&MONTH+1
//变量&MONTH 加 1,并回头执行 WHILE 语句
END
//结束 WHILE 语句
18.4
返回语句
格式:
RETURN
运行结果:结束最近一层批命令。
例如:以下是一个寻找单位名称为“销售部”表页的批命令。
LET &PAGE=1
//给变量&PAGE 赋初值为 1
WHILE &PAGE<=100
//当变量&PAGE 小于等于 100 时,执行下面语句;当变量&PAGE 大于 100 时,执行 WHILE 循
环外的第一条语句。
SETPAGE &PAGE
//把&PAGE 表页设置为当前表页。
IF 单位名称="销售部"
102
//如果关键字单位名称的值为"销售部",则执行下面语句;如果关键字单位名称的值不为"销售部",
则执行&PAGE=&PAGE+1 语句
DISPLAY "已找到销售部表页!"
//显示提示框"已找到销售部表页!"
RETURN
//结束本批命令
END
//结束 IF 语句
LET&PAGE=&PAGE+1
//变量&PAGE 加 1
END
//结束 WHILE 循环
DISPLAY "未找到销售部表页!"
//显示提示框"未找到销售部表页!"
103
附录 1
附 1.1
函数介绍
UFO 有 56 个函数,包括统计函数 21 个,数学函数 12 个,表操作辅助函数 2 个,日期函数 7 个,
条件取值函数 1 个,读取数据库数据函数 1 个,指针状态类函数 2 个,字符处理函数 7 个,交互
输入函数 2 个,文件函数 1 个。
在 UFO 中,有 170 个“业务函数”,使用业务函数可以从《总账》《应收》《应付》等系统中
提取数据。是 UFO7.x“账中取数”功能的扩展。业务函数的详细格式和用法可参阅《业务函数
帮助》。
利用函数可以节省您学习数学计算、财务及统计学运算的时间和精力,如果用户同时使用用友公
司的账务处理系统,UFO 还可以帮助您完成账务取数等常用功能,实现账表一体化。
函数规范:
FUNCTION ( < para > [ , < para > ] * )
〖说明〗
FUNCTION
函数名,即函数关键字, 如 AVG, PTOTAL 等,可以简写成前 4 个字母,如
PTOT。
[ ] 表示该参数可选,可以省略
* 表示其前面括号内的内容可以有 0 到多个
<para> 函数参数
,
逗号,用于隔开各参数
注意
函数中使用到的字母和符号,如:函数名、括号( ( ) )、引号(“”)、逗号(,)、等号(=)等均为半角符号。
附 1.2
统计函数
附 1.2.1
合计函数
附 1.2.1.1 PTOTAL——固定区合计函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
固定区合计函数
PTOTAL(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的固定区单元的合计。
字符型单元和表样型单元不参与计算。当计算区域与条件区域不同时,条件区
域将按照与计算区域左上角单元对齐,一一对应的原则控制运算。当条件区域
与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于条件区域时,
超出部分按满足条件处理;计算区域小于条件区域时,超出计算区域的筛选条
件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有固定区单元的值的合计。
PTOTAL(A:B)
如下函数返回当前表页的第 3 行与第 4 行中所有固定区单元的值的合计。
104
PTOTAL(#3:#4)
如下函数返回第 12 表页中区域 C5:F20 中所有固定区单元的值的合计。
PTOTAL(C5:F20@12)
如下函数返回当前表页中区域 A3:A5 的固定区中值大于等于 0 的所有单元的合
计。
PTOTAL(A3:A5,A3:A5>0)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元的值的合计,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
PTOTAL(A3:B15,C3:C15>0)
如下函数返回当前表页中区域 A3:A15 的固定区中大于 0 的固定区单元的值与
区域 B3:B15 中各固定区单元的值的和。
PTOTAL(A3:B15,A3:A15>0)
因为求和区域大于条件区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
固定区单元进行合计,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的固定区中所有大于 0 的单元的值的合计。
PTOTAL(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了求和区
域。
附 1.2.1.2 GTOTAL——可变区合计函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
可变区合计函数
GTOTAL(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区单元的合计。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的值的合计。
GTOTAL(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的值的合计。
GTOTAL(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的值的合计,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
GTOTAL(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元值的合
计。
GTOTAL(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元值的合
计。
GTOTAL(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元的值与
区域 B3:B15 中各可变区单元的值的和。
GTOTAL(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元进行合计,而区域
105
B3:B15 不受条件 A3:A15>0 限制,当作成满足条件处理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的值的合计。
GTOTAL(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了求和区
域。
附 1.2.1.3 TOTAL——立体方向合计函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.2.2
立体方向合计函数
TOTAL(<区域>[,<页面筛选条件>])
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常
量><关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有页面的区域内各单元值的合计数。即对多个表页的某
一部分进行汇总。
字符型单元和表样型单元不参与计算。
单元公式,命令窗,批命令。
如下函数返回本表所有表页 A 列和 B 列各单元的值的合计。
TOTAL(A:B)
如下函数返回本表所有表页第 2 行和第 3 行各单元的值的合计。
TOTAL(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 各单元的值的合
计。
TOTAL(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页行可变区 A 列各单元的值
的合计。
TOTAL(V_A,月<10)
平均值函数
附 1.2.2.1 PAVG——固定区平均值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
固定区平均值函数
PAVG(<区域>[,区域筛选条件])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的固定区单元的平均值。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列至 C 列所有固定区单元的平均值。
PAVG(A:C)
如下函数返回当前表页的第 3 行至第 4 行所有固定区单元的平均值。
PAVG(#3:#4)
如下函数返回当前表页中从 D5 单元至 D30 固定区单元的平均值。
PAVG(D5:D30)
如下函数返回第 12 表页中区域 C5:F20 的所有固定区单元的平均值。
PAVG(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元的值的平均值,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
106
PAVG(A3:A15,C3:C15>0)
如下函数返回当前表页 A3:A5 中所有大于 0 的固定区单元的平均值。
PAVG(A3:A5,A3:A5>0)
如下函数返回当前表页 A3:A5 中所有大于 0 的固定区单元的平均值与区域
B3:B15 中各固定区单元的值的平均值。
PAVG(A3:B15,A3:A5>0)
因为求平均值区域大于条件区域,所以只对区域 A3:A15 中满足条件 A3:A5>0
的固定区单元进行计算,而区域 B3:B15 不受条件 A3:A5>0 限制,当作成满足
条件处理。
如下函数返回当前表页的 A3 到 B15 的固定区中所有大于 0 的单元的值的平均
值。
PAVG(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了求平均
值区域。
附 1.2.2.2 GAVG——可变区平均值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
可变区平均值函数
GAVG(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区单元的平均值。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的平均值。
GAVG(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的平均值。
GAVG(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的平均值,即 C3>0
时 A3 参与计算,C4>0 时 A4 参与计算,……,C15>0 时 A15 参与计算。
GAVG(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元的平均
值。
GAVG(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元的平均
值。
GAVG(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元与区域
B3:B15 中各可变区单元的平均值。
GAVG(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元求平均值,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的平均值。
GAVG(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
107
附 1.2.2.3 AVG——立体方向平均值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.2.3
立体方向平均值函数
AVG(<区域>[,<页面筛选条件>])
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常量><
关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有页面的区域内各单元的平均值。即对多个表页某一部
分计算平均值。
字符型单元和表样型单元不参与计算。
单元公式,命令窗,批命令。
如下函数返回本表所有表页 A 列和 B 列各单元的平均值。
AVG(A:B)
如下函数返回本表所有表页第 2 行和第 3 行各单元的平均值。
AVG(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 各单元的平均值。
AVG(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页可变区 A 列各单元的平均
值。
AVG(V_A,月<10)
如下函数返回本表中各表页行可变区 C 列至 E 列各单元的平均值。
AVG(V_C:V_E)
计数函数
附 1.2.3.1 PCOUNT——固定区计数函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
固定区计数函数
PCOUNT(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的固定区单元个数。
表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的固定区单元的个数。
PCOUNT(A:B)
如下函数返回当前表页的第 3 行与第 4 行中的固定区单元的个数。
PCOUNT(#3:#4)
如下函数返回第 12 表页中区域 C5:F20 中的固定区单元个数。
PCOUNT(C5:F20@12)
如下函数返回当前表页 A:B 列中所有大于 0 的固定区单元个数。
PCOUNT(A:B,A:B>0)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元的个数,即 C3>0 时 A3 参与计数,C4>0 时 A4 参与计数,……,C15>0
时 A15 参与计数。
PCOUNT(A3:A15,C3:C15>0)
如下函数返回当前表页中区域 A3:A15 中大于 0 的固定区单元的个数与区域
B3:B15 中固定区单元的个数。
PCOUNT(A3:B15,A3:A5>0)
108
因为计数区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A5>0 的固
定区单元进行计数,而区域 B3:B15 不受条件 A3:A5>0 限制,当作成满足条件
处理。
如下函数返回当前表页的 A3:B15 中所有大于 0 的固定区单元的个数。
PCOUNT(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C:D 超出了计算区域。
如下函数返回当前表页的所有 A3:B15 等于字符串“UFO”的固定区单元的个
数。
PCOUNT(A3:B15,A3:D15=“UFO”)
附 1.2.3.2 GCOUNT——可变区计数函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
可变区计数函数
GCOUNT(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区单元的个数。
表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的个数。
GCOUNT(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的个数。
GCOUNT(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的个数,即 C3>0 时 A3
参与计算,C4>0 时 A4 参与计算,……,C15>0 时 A15 参与计算。
GCOUNT(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元的个
数。
GCOUNT(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元的个数。
GCOUNT(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元与区域
B3:B15 中可变区单元的个数。
GCOUNT(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元计数,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条件处
理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的个数。
GCOUNT(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
如下函数返回当前表页的所有 A3:B15 等于字符串“UFO”的固定区单元的个
数。
GCOUNT(A3:B15,A3:D15=“UFO”)
附 1.2.3.2 COUNT——立体方向计数函数
〖函数说明〗
〖函数格式〗
立体方向计数函数
COUNT(<计数区域>[,<页面筛条件>])
109
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.2.4
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常
量><关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有页面计数区域单元个数之和。即对多个表页某一部分
进行计数。
表样型单元不参与计算。
单元公式,命令窗,批命令。
如下函数返回本表所有表页 A 列和 B 列单元的个数之和。
COUNT(A:B)
如下函数返回本表所有表页第 2 行和第 3 行单元的个数之和。
COUNT(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 单元的个数之和。
COUNT(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页行可变区 A 列单元个数之
和。
COUNT(V_A,月<10)
最小值函数
附 1.2.4.1 PMIN——固定区最小值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
固定区最小值函数
PMIN(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的固定区单元中最小的单元的数值。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页所有 A 列至 B 列各固定区单元的最小值。
PMIN(A:B)
如下函数返回当前表页所有第 3 行至第 4 行各固定区单元的最小值。
PMIN(#3:#4)
如下函数返回第 12 表页中区域 C5:F20 中的固定区单元的最小值。
PMIN(C5:F20@12)
如下函数返回当前表页中区域 A3:A5 中值大于等于 0 的固定区单元的最小值。
PMIN(A3:A5,A3:A5>0)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元中的最小值,即 C3>0
时 A3 参与计算,C4>0 时 A4 参与计算,……,C15>0 时 A15 参与计算。
PMIN(A3:A15,C3:C15>0)
如下函数返回当前表页中区域 A3:A15 的固定区中大于 0 的固定区单元的值与
区域 B3:B15 中各固定区单元的最小值。
PMIN(A3:B15,A3:A15>0)
因为求和区域大于条件区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
固定区单元进行计算,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的固定区中所有大于 0 的单元的最小值。
PMIN(A3:B15,A3:D15>0)
110
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.4.2 GMIN——可变区最小值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
可变区最小值函数
GMIN(<区域[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区最小的单元的数值。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的最小值。
GMIN(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的最小值。
GMIN(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的最小值,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
GMIN(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元的最小
值。
GMIN(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元的最小
值。
GMIN(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元与区域
B3:B15 中可变区单元的最小值。
GMIN(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元求最小值,而区域
B3:B15 不受条件 A3:A15>0 限制,当作成满足条件处理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的最小值。
GMIN(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.4.3 MIN——立体方向最小值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
立体方向最小值函数
MIN(<区域>[,<页面筛选条件>])
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常
量><关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有页面的区域单元中最小的单元的数值。即返回多个表
页某一部分单元中最小的单元的数值。
字符型单元和表样型单元不参与计算。
单元公式,命令窗,批命令。
111
〖范例〗
附 1.2.5
如下函数返回本表所有表页 A 列和 B 列单元中最小的单元的数值。
MIN(A:B)
如下函数返回本表所有表页第 2 行和第 3 行单元中最小的单元的数值。
MIN(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 单元中最小的单
元的数值。
MIN(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页行可变区 A 列各单元中最
小的单元的数值。
MIN(V_A,月<10)
最大值函数
附 1.2.5.1 PMAX——固定区最大值函数
〖函数说明〗
固定区最大值函数
〖函数格式〗
PMAX(<区域>[,<区域筛选条件>])
〖参数说明〗
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
〖返回值〗
指定区域内所有满足区域筛选条件的固定区单元中最大的单元的数值。
〖注释〗
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
〖使用范围〗
单元公式,命令窗,批命令。
〖范例〗
如下函数返回当前表页所有 A 列至 B 列各固定区单元的最大值。
PMAX(A:B)
如下函数返回当前表页所有第 3 行至第 4 行各固定区单元的最大值。
PMAX(#3:#4)
如下函数返回第 12 表页中区域 C5:F20 中的固定区单元的最大值。
PMAX(C5:F20@12)
如下函数返回当前表页中区域 A3:A5 中值大于等于 0 的固定区单元的最大值。
PMAX(A3:A5,A3:A5>0)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元中的最大值,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
PMAX(A3:A15,C3:C15>0)
如下函数返回当前表页中区域 A3:A15 的固定区中大于 0 的固定区单元的值与
区域 B3:B15 中各固定区单元的最大值。
PMAX(A3:B15,A3:A15>0)
因为求和区域大于条件区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
固定区单元进行计算,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的固定区中所有大于 0 的单元的最大值。
PMAX(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.5.2 GMAX——可变区最大值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
可变区最大值函数
GMAX(<区域[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
112
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区最大的单元的数值。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的最大值。
GMAX(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的最大值。
GMAX(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的最大值,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
GMAX(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元的最大
值。
GMAX(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元的最大
值。
GMAX(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元与区域
B3:B15 中可变区单元的最大值。
GMAX(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元求最大值,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的最大值。
GMAX(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.5.3 MAX——立体方向最大值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
立体方向最大值函数
MAX(<区域>[,<页面筛选条件>)
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常
量><关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有页面的区域单元中最大的单元的数值。即返回多个表
页某一部分单元中最大的单元的数值。
字符型单元和表样型单元不参与计算。
单元公式,命令窗,批命令。
如下函数返回本表所有表页 A 列和 B 列各单元中最大的单元的数值。
MAX(A:B)
如下函数返回本表所有表页第 2 行和第 3 行单元中最大的单元的数值。
MAX(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 单元中最大的单
元的数值。
MAX(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页行可变区 A 列各单元中最
113
大的单元的数值。
MAX(V_A,月<10)
附 1.2.6
方差函数
附 1.2.6.1 PVAR——固定区方差函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
固定区方差函数
PVAR(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的固定区单元的方差。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与求和区域的大小不相匹配时按照下面规则处理:求和区域大于条
件区域时,超出部分按满足条件处理;求和区域小于条件区域时,超出求和区
域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页所有 A 列至 B 列固定区单元的方差。
PVAR(A:B)
如下函数返回当前表页所有第 3 行至第 4 行固定区单元的方差。
PVAR(#3:#4)
如下函数返回第 12 表页中区域 C5:F20 中固定区单元的方差值。
PVAR(C5:F20@12)
如下函数返回当前表页中区域 A3:A5 中值大于等于 0 的固定区单元的方差。
PVAR(A3:A5,A3:A5>0)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元中的方差,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
PVAR(A3:A15,C3:C15>0)
如下函数返回当前表页中区域 A3:A15 的固定区中大于 0 的固定区单元的值与
区域 B3:B15 中各固定区单元的方差。
PVAR(A3:B15,A3:A15>0)
因为求和区域大于条件区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
固定区单元进行计算,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的固定区中所有大于 0 的单元的方差。
PVAR(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.6.2 GVAR——可变区方差函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
可变区方差函数
GVAR(<区域[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区单元的方差。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
114
〖使用范围〗
〖范例〗
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的方差。
GVAR(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的方差。
GVAR(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的方差,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,C15>0
时 A15 参与计算。
GVAR(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元的方
差。
GVAR(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元的方差。
GVAR(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元与区域
B3:B15 中可变区单元的方差。
GVAR(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元求方差,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条件
处理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的方差。
GVAR(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.6.3 VAR——立体方向方差函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.2.7
立体方向方差函数
VAR(<区域>[,<页面筛选条件>])
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常
量><关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有计算区域单元的方差。即返回多个表页某一部分单元
的方差。
字符型单元和表样型单元不参与计算。
单元公式,命令窗,批命令。
如下函数返回本表所有表页 A 列和 B 列单元的方差。
VAR(A:B)
如下函数返回本表所有表页第 2 行和第 3 行单元的方差。
VAR(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 单元的方差。
VAR(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页可变区 A 列单元的方差。
VAR(V_A,月<10)
偏方差函数
附 1.2.7.1 PSTD——固定区偏方差函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
固定区偏方差函数
PSTD(<区域>[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有固定区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
115
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
指定区域内所有满足区域筛选条件的固定区单元的偏方差。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与求和区域的大小不相匹配时按照下面规则处理:求和区域大于条
件区域时,超出部分按满足条件处理;求和区域小于条件区域时,超出求和区
域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页所有 A 列至 B 列固定区单元的偏方差。
PSTD(A:B)
如下函数返回当前表页所有第 3 行至第 4 行固定区单元的偏方差。
PSTD(#3:#4)
如下函数返回第 12 表页中区域 C5:F20 中固定区单元的偏方差值。
PSTD(C5:F20@12)
如下函数返回当前表页中区域 A3:A5 中值大于等于 0 的固定区单元的偏方差。
PSTD(A3:A5,A3:A5>0)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的固定区中大于
0 的单元中的偏方差,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
PSTD(A3:A5,C3:C15>0)
如下函数返回当前表页中区域 A3:A15 的固定区中大于 0 的固定区单元的值与
区域 B3:B15 中各固定区单元的偏方差。
PSTD(A3:B15,A3:A15>0)
因为求和区域大于条件区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
固定区单元进行计算,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的固定区中所有大于 0 的单元的偏方差。
PSTD(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.7.2 GSTD——可变区偏方差函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
可变区偏方差函数
GSTD(<区域[,<区域筛选条件>])
区域:需要进行计算的区域。页号缺省时,默认为与被赋值区域在同一页。
区域筛选条件:确定参与计算的单元,格式为:<条件区域><关系运算符><普
通算术表达式>,缺省为参数“区域”中的所有可变区单元。“条件区域”的
页号缺省时默认为与被赋值区域在同一页。
指定区域内所有满足区域筛选条件的可变区单元的偏方差。
字符型单元和表样型单元不参与计算。
当计算区域与条件区域不同时,条件区域将按照与计算区域左上角单元对齐,
一一对应的原则控制运算。
当条件区域与计算区域的大小不相匹配时,按照下面规则处理:计算区域大于
条件区域时,超出部分按满足条件处理;计算区域小于条件区域时,超出计算
区域的筛选条件无效。
单元公式,命令窗,批命令。
如下函数返回当前表页的 A 列与 B 列中的所有可变区单元的偏方差。
GSTD(A:B)
如下函数返回第十二表页中区域 C5:F20 中所有可变区单元的偏方差。
GSTD(C5:F20@12)
如下函数返回当前表页中对应于区域 C3:C15>0,区域 A3:A15 的可变区中大于
0 的单元的偏方差,即 C3>0 时 A3 参与计算,C4>0 时 A4 参与计算,……,
C15>0 时 A15 参与计算。
GSTD(A3:A15,C3:C15>0)
如下函数返回将当前表页列可变区的第 3 行和第 4 行的所有可变区单元的偏方
116
差。
GSTD(V_3:V_4)
如下函数返回第 2 个表页行可变区中 B 列的所有大于 0 的可变区单元的偏方
差。
GSTD(V_B@2,V_B>0)
如下函数返回当前表页中区域 A3:A15 的可变区中大于 0 的可变区单元与区域
B3:B15 中可变区单元的偏方差。
GSTD(A3:B15,A3:A15>0)
因为求和区域大于筛选区域,所以只对区域 A3:A15 中满足条件 A3:A15>0 的
可变区单元求偏方差,而区域 B3:B15 不受条件 A3:A15>0 限制,当作成满足条
件处理。
如下函数返回当前表页的 A3 到 B15 的可变区中所有大于 0 的单元的偏方差。
GSTD(A3:B15,A3:D15>0)
区域筛选条件 A3:D15>0 中 C3:D15 的数据不考虑,因为 C3:D15 超出了计算区
域。
附 1.2.7.3 STD——立体方向偏方差函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.3
附 1.3.1
立体方向偏方差函数
STD(<区域>[,<页面筛选条件>])
区域:需要进行计算的区域,不带页号。
页面筛选条件:确定参与计算的页面,格式为:<关键字 | 单元 | 变量 | 常量><
关系运算符><普通算术表达式> ,缺省为所有表页。
符合页面筛选条件的所有页面区域单元的偏方差。即返回多个表页某一部分单
元的偏方差。
字符型单元和表样型单元不参与计算。
单元公式,命令窗,批命令。
如下函数返回本表所有表页 A 列和 B 列单元的偏方差。
STD(A:B)
如下函数返回本表所有表页第 2 行和第 3 行单元的偏方差。
STD(#2:#3)
如下函数返回本表中关键字“年”小于 1990 的各表页 A3:A5 单元的偏方差。
STD(A3:A5,年<1990)
如下函数返回本表中关键字“月”小于 10 的各表页可变区 A 列单元的偏方差。
STD(V_A,月<10)
数学函数
SIN——正弦函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
正弦函数
SIN(<算术表达式>)
算术表达式:用弧度表示的角度,可以为数值型常量、数值型变量、数值型单
元。
给定角度的正弦值。
如果参数的单位是角度,将其乘以 PAI( )/180 转化为弧度。
单元公式,批命令。
如下函数返回 30 度角的正弦值 0.5。
SIN(30*PAI( )/180)
如下函数返回 180 度角的正弦值 0。
SIN(PAI( ))
若 A1 单元的值为以弧度表示的角度,则如下函数返回 A1 单元的正弦值。
SIN(A1)
若 A1 单元的单位为角度,则如下函数返回 A1 单元的正弦值。
SIN(A1*PAI( )/180)
117
附 1.3.2
COS——余弦函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.3.3
TAN——正切函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.3.4
余弦函数
COS(<算术表达式>)
算术表达式:用弧度表示的角度,可以为数值型常量、数值型变量、数值型单
元。
给定角度的余弦值。
如果参数的单位是角度,将其乘以 PAI( )/180 转化为弧度。
单元公式,批命令。
如下函数返回 30 度角的余弦值 0.86603。
COS(30*PAI( )/180)
如下函数返回 180 度角的余弦值 1。
COS(PAI( ))
若 A1 单元的值为以弧度表示的角度,则如下函数返回 A1 单元的余弦值。
COS(A1)
若 A1 单元的单位为角度,则如下函数返回 A1 单元的余弦值。
COS(A1*PAI( )/180)
正切函数
TAN(<算术表达式>)
算术表达式:用弧度表示的角度,可以为数值型常量、数值型变量、数值型单
元。
给定角度的正切值。
如果参数的单位是角度,将其乘以 PAI( )/180 转化为弧度。
参数为((2n+1)PAI( )/2)(n 为整数)倍时无意义。
单元公式,批命令。
如下函数返回 30 度角的正切值 0.57735。
TAN(30*PAI( )/180)
如下函数返回 180 度角的正切值 0。
TAN(PAI( ))
若 A1 单元的值为以弧度表示的角度,则如下函数返回 A1 单元的正切值。
TAN(A1)
若 A1 单元的单位为角度,则如下函数返回 A1 单元的正切值。
TAN(A1*PAI( )/180)
CTAN——余切函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
余切函数
CTAN(<算术表达式>)
算术表达式:用弧度表示的角度,可以为数值型常量、数值型变量、数值型单
元。
参数为(nPAI( ))(n 为整数)倍时无意义。
给定角度的余切值。
如果参数的单位是角度,将其乘以 PAI( )/180 转化为弧度。
单元公式,批命令。
如下函数返回 30 度角的余切值 1.73205。
CTAN(30*PAI( )/180)
如下函数返回 90 度角的余切值 0。
CTAN(PAI( )/2)
若 A1 单元的值为以弧度表示的角度,则如下函数返回 A1 单元的余切值。
CTAN(A1)
若 A1 单元的单位为角度,则如下函数返回 A1 单元的余切值。
CTAN(A1*PAI( )/180)
118
附 1.3.5
ABS——绝对值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.3.6
INT——取整函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.3.7
取整函数
INT(<算术表达式>)
算术表达式:其计算结果为用于进行取整计算的数值,可以为数值型常量、数
值型变量、数值型单元。
算术表达式计算结果的整数部分。
单元公式,批命令。
如下函数返回 A1 单元的整数部分。
INT(A1)
如下函数返回 123.46 的整数部分 123。
INT(123.46)
如下函数返回表达式 ABS(A1+A2+A3)的整数部分。
INT(ABS(A1+A2+A3))
SQR——平方根函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.3.8
绝对值函数
ABS(<算术表达式>)
算术表达式:其运算结果为用于计算绝对值的数值,可以为数值型常量、数值
型变量、数值型单元。
算术表达式运算结果的绝对值。
单元公式,批命令。
如下函数返回 A1 单元的绝对值。
ABS(A1)
如下函数返回-123.46 的绝对值 123.46。
ABS(123.46)
如下函数返回算术表达式 A1+A2-1000 的绝对值。
ABS(A1+A2-1000)
平方根函数
SQR(<算术表达式>)
算术表达式:其结果为用于计算平方根的数值,应为正数,可以为数值型常量、
数值型变量、数值型单元。
算术表达式计算结果的平方根。
单元公式,批命令。
如下函数返回 1242 的平方根 35.242。
SQR(1242)
如下函数返回 A1 单元的平方根。
SQR(A1)
如下函数返回算术表达式 ABS(A1+A2+A3)的平方根。
SQR(ABS(A1+A2+A3))
LN——自然对数函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
自然对数函数
LN(<算术表达式>)
算术表达式:其计算结果为用于计算自然对数的数值,应为正数,可以为数值
型常量、数值型变量、数值型单元。
算术表达式计算结果的自然对数值。
单元公式,批命令。
如下函数返回 12 的自然对数 2.48491。
LN(12)
119
如下函数返回 A1 单元的自然对数。
LN(A1)
如下函数返回算术表达式 ABS(A1+A2+A3)的自然对数。
LN(ABS(A1+A2+A3))
附 1.3.9
LOG——以 10 为底的对数函数(常用对数函数)
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.3.10
EXP——指数函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.3.11
以 10 为底的对数函数(常用对数函数)
LOG(<算术表达式>)
算术表达式:其结果为用于计算常用对数的数值,应为正数,可以为数值型常
量、数值型变量、数值型单元。
算术表达式计算结果的常用对数值。
单元公式,批命令。
如下函数返回 12 的常用对数 1.07918。
LOG(12)
如下函数返回 A1 单元的常用对数。
LOG(A1)
如下函数返回算术表达式 ABS(A1+A2+A3)的常用对数。
LOG(ABS(A1+A2+A3))
指数函数
EXP(<算术表达式>)
算术表达式:其结果为基底 e 的指数,可以为数值型常量、数值型变量、数值
型单元。
e 的“算术表达式”次幂的值。
常数项 e 等于 2.71828(近似值),是自然对数的底。
单元公式,批命令。
如下函数返回 e 的近似值 2.71828。
EXP(1)
如下函数返回 e 的平方 7.38906。
EXP(2)
如下函数计算结果为 3。
EXP(LN(3))
如下函数返回 e 的 A1 次方。
EXP(A1)
ROUND——四舍五入函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
四舍五入函数
ROUND(<算术表达式>,<小数位>)
算术表达式:其结果为要进行四舍五入的数值,可以为数值型常量、数值型变
量、数值型单元。
小数位:需要进行四舍五入的小数位数,为正整数或正整数型变量。
按指定位数,对“算术表达式”计算结果的小数位进行四舍五入。
单元公式,批命令。
如下函数返回 123.126 按小数点后第二位四舍五入的值,结果为 123.13。
ROUND(123.126,2)
如下函数返回-123.124 按小数点后第二位四舍五入的值,结果为-123.12。
ROUND(-123.124,2)
如下函数返回 A1 四舍五入成整数的值。
ROUND(A1,0)
120
附 1.3.12
PAI——圆周率函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.4
附 1.4.1
字符处理函数包括
LEN
字符串长度函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.4.2
STR
字符串长度函数
LEN (<字符串表达式>)
字符串表达式:用于测量长度的字符串,可以为字符串、字符型单元或字符变
量。
字符串长度。
单元公式,批命令。
字符串“abcdefg”有 7 个字符,因此,如下函数返回 7。
LEN(“abcdefg”)
若字符串变量&A=“friend”,有 6 个字符,则如下函数返回 6。
LEN(&A)
数值型值转换成字符型值
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.4.3
圆周率函数
PAI( )
无。
圆周率近似值 3.14159。
单元公式,批命令。
如下函数返回圆周率近似值 3.14159。
PAI( )
当需要把角度转换成弧度时,可以将角度值乘以(PAI( )/180)。如下函数返回 30
度角的正弦值 0.5。
SIN(30*PAI( )/180)
数值型值转换成字符型值
STR (<算术表达式>)
算术表达式:可以为数值型变量、数值型常量、数值型单元,用于转换为字符
型数据,可以为数值型变量、数值型常量、数值型单元。
算术表达式计算结果转化成的字符型数据。
在单元公式中只适用于字符型单元。
单元公式,批命令。
如下函数将数值 1.123 转换成字符串“1.123”。
STR(1.123)
如下函数将算术表达式 A1+A2+A3 的计算结果转换成字符串。
STR(A1+A2+A3)
SUBSTR 取子串函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
取子串函数
SUBSTR (“<字符串表达式>”[ , <起始位置>] [ , <字符长度>])
字符串表达式:想要截取字符的字符串,可以为字符串、字符变量或字符型单
元。
起始位置:可以为数值型变量、数值型常量、数值型单元,缺省时为从源字符
串第 1 个字符起截取。
字符长度:可以为数值型变量、数值型常量、数值型单元,缺省时为截取源字
符串的最后一个字符为止。
从一定位置起截取一定长度的源字符串。
在单元公式中只适用于字符型单元。
单元公式,命令窗,批命令。
121
〖范例〗
附 1.4.4
TRIM
如下函数将字符串“ABCDEFG”从第 3 个字符起截取 2 个字符,返回“CD”。
SUBSTR(“ABCDEFG”,3,2)
如下函数将字符串“ABCDEFG”从第 1 个字符起截取 4 个字符,返回“ABCD”。
SUBSTR(“ABCDEFG”,,4)
如下函数将字符串“ABCDEFG”从第 4 个字符起截取至字符串尾,返回
“DEFG”。
SUBSTR(“ABCDEFG”,4)
去空格函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.4.5
LOWER 字符串转换为小写字母函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.4.6
字符串转换为小写字母函数
LOWER(<字符串表达式>)
字符串表达式:想要转换为全部是小写字母的字符串,可以为字符串、字符变
量或字符型单元。
转换成全部是小写的字符串。
单元公式,命令窗,批命令。
如下函数返回“users' friend office”。
LOWER(“Users' Friend Office”)
UPPER 字符串转换为大写字母函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.4.7
去空格函数
TRIM(<字符串表达式>)
字符串表达式:想要删去空格的字符串,可以为字符串、字符变量或字符型单
元。
消去空格的字符串。
单元公式,批命令。
如下函数返回字符串“USERS'FRIENDOFFICE”。
TRIM(“USERS' FRIEND OFFICE”)
VAL
字符串转换为大写字母函数
UPPER(<字符串表达式>)
字符串表达式:想要转换为全部是小写字母的字符串,可以为字符串、字符变
量或字符型单元。
转换成全部是大写的字符串。
单元公式,批命令。
如下函数返回 USERS' FRIEND OFFICE。
UPPER(“Users' Friend Office”)
字符串转换为数值型值
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
字符串转换为数值型值
VAL(<字符串表达式>)
字符串表达式:想要转换为数值型值的字符串,可以为字符串、字符变量或字
符型单元。
字符串转换成的数值型值。
没有数值含义的字符串将返回 0。
单元公式,批命令。
如下函数返回 12.34。
VAL(“12.34”)
如下函数返回 12.34。
VAL(“12.34abcde”)
如下函数返回 0。
VAL(“abcde”)
122
如下函数返回 0。
VAL(“abcde12.34”)
附 1.5
附 1.5.1
日期函数
SECOND
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.5.2
MINUTE
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.5.3
HOUR
DAY
分函数
分函数
MINUTE( )
无参数。
系统时间“分”的数值型值。
数据处理。
单元公式,命令窗,批命令。
如下函数返回系统时间中“分”的数值型值,如当前时间为 20:44:59,则返回
44。
MINUTE( )
小时函数
HOUR( )
无参数。
系统时间“小时”的数值型值。
数据处理。
单元公式,命令窗,批命令。
如下函数返回系统时间中“小时”的数值型值,如当前时间为 20:44:59,则返
回 20。
HOUR( )
日期函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.5.5
秒函数
SECOND( )
无参数。
系统时间“秒”的数值型值。
数据处理。
单元公式,命令窗,批命令。
如下函数返回系统时间中“秒”的数值型值,如当前时间为 20:44:59,则返回
59。
SECOND( )
小时函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.5.4
秒函数
日期函数
DAY( )
无参数。
系统日期“日”的数值型值。
数据处理。
单元公式,批命令。
如下函数返回系统日期中“日”的数值型值,如当前日期为 1996 年 12 月 31
日,则返回 31。
DAY( )
MONTH 月份函数
〖函数说明〗
〖函数格式〗
月份函数
MONTH( )
123
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.5.6
SEASON季度函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.5.7
YEAR
附 1.6.1
年函数
YEAR( )
无参数。
系统日期“年”的数值形值。
数据处理。
单元公式,批命令。
如下函数返回系统日期“年”的数值形值,如当前日期为 1996 年 12 月 31 日,
则返回 1996。
YEAR( )
表操作辅助函数
MRECNO
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.6.2
季度函数
SEASON( )
无参数。
系统日期“月”转化成的“季度”的数值型值。
数据处理。
单元公式,命令窗,批命令。
如下函数返回系统日期“月”转化成的“季度”的数值形值,如当前日期为 1996
年 12 月 31 日,是 4 季度,则返回 4。
SEASON( )
年函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用状态〗
〖使用范围〗
〖范例〗
附 1.6
无参数。
系统日期“月”的数值型值。
数据处理。
单元公式,批命令。
如下函数返回系统日期“月”的数值形值,如当前日期为 1996 年 12 月 31 日,
则返回 12。
MONTH( )
页面号函数
页面号函数
MRECNO( )
无参数。
当前表页页号。
单元公式,批命令。
若当前表页为第 3 页,如下函数返回 3。
MRECNO( )
MNUMBER 页面数函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
页面数函数
MNUMBER( )
无参数。
当前表总页数。
只能用于指针定位。
单元公式,批命令。
如下函数返回当前报表的页面数。
MNUMBER( )
124
附 1.6.3
MBOF——页面头函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.6.4
页面头函数
MBOF( )
无参数。
当前页为第 1 页时,函数返回 1;否则返回 0。
用于指针定位,确定当前页是否为第 1 个页面。
批命令。
如下批命令的作用是:若指针未达到第 1 个页面,令 A1 等于当前页号加 1,
且向回翻 1 页,直到达到第 1 页,。
……
WHILE MBOF( )=0
LET A1=MRECNO( )+1
SKIP -1
END
……
MEOF——页面尾函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
页面尾函数
MEOF( )
无参数。
当前页为最后一页时,函数返回 1;否则返回 0。
只能用于指针定位,确定当前页是否为最后一个页面。
批命令。
如下批命令的作用是:若指针未达到最后一个页面,令 A1 等于当前页号加 1,
且向后翻 1 页,直到达到最后一页。
……
WHILE MEOF( )=0
LET A1=MRECNO( )+1
SKIP 1
END
……
附 1.6.5SNUMBER——可变区大小函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.6.6
可变区大小函数
SNUMBER( )
无参数。
可变区的可变行或可变列数量。
只能用于指针定位。
单元公式,批命令。
如下函数返回报表当前页可变区的可变行或可变列数量。
SNUMBER( )
GETINT——窗口交互输入数值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖注释〗
窗口交互输入数值函数
GETINT(撎崾臼淙胨得鲾)
提示输入说明:对话框标题中出现的字符串。
在窗口中用户输入的数值。
批命令。
在对话框中不允许输入非数字的字符。
125
〖范例〗
附 1.6.7
GETSTR——窗口交互输入字符函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖使用范围〗
〖范例〗
附 1.7
附 1.7.1
窗口交互输入字符函数
GETSTR(撎崾臼淙胨得鲾)
提示输入说明:对话框标题中出现的字符串。
在窗口中用户输入的字符。
批命令。
如下命令执行后弹出对话框,对话框的标题栏内容为“请输入您的单位名称”,
对话框中有一编辑栏,将用户在对话框中输入的字符赋串给变量&A。
LET &A=GETSTR(“请输入您的单位名称”)
条件取数函数
SELECT——本表他页取数函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.7.2
如下批命令中以下命令执行后弹出对话框,对话框的标题栏内容为“请输入您
的编号”,对话框中有一编辑栏,将用户在对话框中输入的数值赋给变量&A。
LET &A=GETINT(“请输入您的编号”)
本表他页取数函数
SELECT(<区域>[,<页面筛选条件>])
区域:绝对地址表示的数据来源区域,不含页号和表名。
页面筛选条件:确定数据源所在表页,格式为:<目标页关键字 @| 目标页单
元 @|
变量 | 常量><关系运算符><数据源表页关键字 | 数据源表页单元 | 变量 |
常量> ,缺省为与目标页在同一表页。
符合页面筛选条件的本表他页数据区域。
返回值为以数组形式表示的区域,可以赋给区域,但不可当作区域进行运算。
单元公式,命令窗,批命令。
若当前表页中关键字“年”为 1994,如下命令表示本页 B 列取本表关键字“年”
为 1993 的表页中 B 列的数值。
B=SELECT(B,年@=年+1)
若当前表页中关键字“年”为 1994,如下命令表示本页 B 列取关键字“年”
为 1995 的表页中 C 列数值。
B=SELECT(C,年@=年-1)
如下命令表示本页 B1:C4 取关键字“单位编号”为 1011 的表页中 B1:C4 的数
值。
B1:C4=SELECT(B1:C4,单位编号=“1011”)
如下命令表示本页 B 列取关键字“单位”为“用友公司”的表页的 C 列数值。
B=SELECT(C,单位=“用友公司”)
如下命令表示本页 B 列取本表第 2 页的 B 列数值。
B=SELECT(B,MRECNO( )=2)
如下命令表示本页 D1:F1 取本表第 2 页的 B1:D1 数值。
D1:F1=SELECT(B1:D1,MRECNO( )=2)
IFF ——条件取值函数
〖函数说明〗
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
条件取值函数
IFF(<逻辑表达式>,<条件真值>,<条件假值>)
逻辑表达式:控制函数返回值的条件。
条件真值:当条件为真时函数的返回值,为算术表达式。
条件假值:当条件为假时函数的返回值,为算术表达式。
当算术表达式为真时,返回条件真值,当算术表达式为假时,返回条件假值。
用于单元公式时不能使被赋值的区域与算术表达式中用到的区域重复,如:
126
〖使用范围〗
〖范例〗
附 1.8
附 1.8.1
数据库取数函数
INDB——读取数据库数据函数
〖函数格式〗
〖参数说明〗
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
附 1.8.2
A3=IFF(A3>0,10,-10)是不对的。
单元公式,命令窗,批命令。
如果 A3 大于 0,B5 的值为 10,如果 A3 小于等于 0,B5 的值为-10。
IFF(A3>0,10,-10)
如果第 2 页 A3 大于 0,B5 的值为 10,如果 A3 小于等于 0,B5 的值为-10。
IFF(A3@2>0,10,-10)
INDB(“<文件名>”,“<表名>”,<字段名>,<记录号>,[条件])
文件名:数据库文件名,可以是 ACCESS 文件(*.mdb)、MS EXCEL 文件(*.xls)
、
LOTUS 1-2-3 文件(*.wk4)、DBASE 数据库文件(*.dbf)、标准文本文件(*.txt)。
表名:对于 ACCESS 文件(*.mdb)、MS EXCEL 文件(*.xls)、LOTUS 1-2-3
文件(*.wk4)来说,为数据表名;对于 DBASE 数据库文件(*.dbf)、标准文
本文件(*.txt)来说,可以是空串(“ ”)。
字段名:对于 ACCESS 文件(*.mdb)、DBASE 数据库文件(*.dbf)来说,
为数据库字段名称;对于 MS EXCEL 文件(*.xls)、LOTUS 1-2-3 文件(*.wk4)、
标准文本文件(*.txt)来说,是报表或文本的第一行某单元或某段,只能是一
个字段或单元。
记录号:确定取符合条件的第几个记录(数据库)或第几行(电子表及文本),
为正整数或正整数型变量。
条件:数据库记录筛选条件,与 SQL 语言的 SELECT 语句的 WHERE 子句规
范一样。
符合条件的指定数据库字段某个记录。
此函数一次只能读取一个数。
单元公式,命令窗,批命令。
如下函数返回 DBASE 数据库“FXB.DBF”字段 FV_C11 的第一个记录的值。
INDB(“FXB.DBF”, “ ”,FV_C11,1,)
如下函数返回 DBASE 数据库“FXB.DBF”字段 FV_B11 大于 10101 的第一个
记录字段 FV_C11 的值。
INDB(“FXB.DBF”,“ ”,FV_C11,1,FV_B11>10101)
下表为 MS EXCEL 文件“FXB.XLS”表 sheet 1,如下函数返回第 2 个“丙”
列单元大于 5 的行的“乙”列单元的值,即单元 B4 的值 10.00。
INDB(“FXB.XLS”,“sheet 1$”,乙,2,丙>5)
A B C D
1
甲 乙 丙 丁
2
1.00 4.00 5.00 6.00
3
2.00 7.00 8.10 9.00
4
3.00 10.00
11.00
12.00
下面为标准文本文件“FXB.TXT”,如下函数返回第 2 个“丙”列字段大于 5
的行的“乙”列单元的值,即第 3 行第 2 个字段的值 10.00。
INDB(“FXB.TXT”,“ ”,乙,2,丙>5)
“甲” “乙” “丙” “丁”
1.00
4.00
5.00
6.00
2.00
7.00
8.10
9.00
3.00
10.00
11.00
12.00
INDBSQL——读取 Microsoft SQL Server 数据库数据函数
〖函数格式〗
〖参数说明〗
INDBSQL("<SQL 数据库名>","<表名>",<字段名>,<记录号>,[条件])
SQL 数据库名:可以是 SQL7.0 数据库名和 SQL2000。
127
表名:SQL 数据库中的表。
字段名:为数据库字段名称。
记录号:确定取符合条件的 SQL 数据库第几个记录。
条件:数据库记录筛选条件,与 SQL 语言的 SELECT 语句的 WHERE 子句规
范一样。
符合条件的指定数据库字段某个记录。
此函数一次只能读取一个数。
单元公式,命令窗,批命令。
函数调用:可以通过数据菜单中编辑公式-单元公式调用,也可以通过工具栏中
的 fx 按钮调用。
〖返回值〗
〖注释〗
〖使用范围〗
〖范例〗
提示
SQL 数据库名称:不能为空;可以手工录入;可以参照录入;浏览按钮可以选择数据库的名称和路径。
模块:不能为空,通过下拉框选择对应的模块;
表名:不能为空;可以手工录入;可以通过下拉框选择录入,自动带入所选模块对应的函数。字段名:不能为空;
可以手工录入;可以通过下拉框选择录入。
记录号:不能为空;只可以手工录入;记录号只能为正整数。
条件:可以缺省,与 SQL 语言的 SELECT 语句的 WHERE 子句规范一样。
附 1.8.3
GETRECORD——读取 SQL Server 数据库记录集函数
〖函数格式〗
GETRECORD(“SQL 语句”,显示区域,显示格式[<横向显示>,<纵向显示
>],录数上限),"SQL"语句用户可以自己输入,也可以通过向导生成。
显示区域:可缺省,缺省时表示从当前表页的最后一行开始显示。阐述格式---起始单元:结束单元,结束单元可缺省。
记录数上限:缺省为 9999
〖参数说明〗
完整的符合 SQL 语法规则的
〖返回值〗
符合条件的记录集。
〖注释〗
此函数一次返回记录集。
〖使用范围〗
单元公式。
函数调用:可以通过数据菜单中编辑公式-单元公式调用,也可以通过工具栏中的 fx 按钮调用。
在函数向导中增加该函数的内容。
【操作步骤】
1、在“选择表名“列表栏中选择相应的表,该表所有字段将列示在“选择字段“栏中,然后选
择相应字段,通过选择按钮进行选择。
2、在“显示区域“文本框中输入要查询记录在 UFO 报表中的显示区域。
3、在“记录数上限“文本框中输入查询纪录的上限数值。
4、在“显示风格“选择框中可选择横向显示或纵向显示。
5、在条件表达式文本框中,可以手工输入查需条件的 SQL 表达式语句,也可以通过“向导“按
钮生成 SQL 查询表达式。
6、最后点击确定完成共识的定义,重算报表生成 REP 表。
注意
SQL 数据库名称:不能为空;可以手工录入;可以参照录入;浏览按钮可以选择数据库的名称和路径。
SQL 数据库名称:不能为空;可以手工录入;可以参照录入;浏览按钮可以选择数据库的名称和路径。
排序:分为不排序、正序、倒序三种。
汇总:分为不汇总、汇总、计算合计三种。汇总与不汇总字段不能同时存在,计算合计与不汇总字段也不能同时
存在。
选中高级使用复选框可以简化表达式语句。
128
附录 2
附 2.1
命令简介
UFO 的命令共 56 个,包括:状态转换命令 2 个 ,文件命令 13 个 ,格式命令 7 个 ,数据命令
11 个 ,编辑命令 14 个 ,数据转换命令 2 个 ,工具命令 7 个。
命令规范 :
COMMAND <para> [ , <para> ] * [ FOR [ <condition1> ] ; [ <condition2> ] ] [ RELATION
<condition 3> ]
〖说明〗
COMMAND 命令关键字,如 LET、TOTAL 等,可以简写成前 4 个字母
FOR 筛选条件关键字,如 TOTA
RELATION 关联条件关键字可以简写成前 4 个字母,即 RELA
para 命令的参数
<condition1> 表页筛选条件
<condition2> 可变区筛选条件
<condition3> 表页关联条件
[ ] 表示该项可选,可以省略
*表示其前面括号内的内容可以是 0 到多个
, 逗号,用于隔开各参数
; 分号,用于将表页筛选条件和可变区筛选条件隔开
注意
命令中使用到的字母和符号,如:命令关键字、引号(" ")、逗号(,)、分号(;)等均为半角符号。
命令用于命令窗和二次开发窗口 UFOEDIT。
当您需要在命令窗中使用命令时,请选择菜单[文件]-[命令窗]或工具栏中的图标 。在 UFO 窗口
下方出现命令窗。在命令窗中输入命令,回车时命令执行。当您需要重复执行某些命令时,将光
标移动到以前曾经输入的命令行上,按回车即可。
当您要编辑批命令或自定义菜单时,请选择菜单[工具]-[二次开发]。进入 UFOEDIT 后,新建或
打开菜单文件(*.mnu)或批命令文件(*.shl),在窗口中逐行顺序输入命令。编辑完菜单文件
或批命令后存盘。
当您需要执行批命令时,点取[文件]-[执行]菜单即可。或在命令窗中使用命令 DO。
当您需要执行自定义菜单时,点取[文件]-[执行]菜单即可。或在命令窗中使用命令 SETMENU。
使用命令窗和程序编辑器时,您可以直接使用命令,您不需要完整记忆完整的命令格式,甚至不
需记忆完整的命令名,只要您输入命令名的前几个字母,您就可以用 F1 调出相关命令的帮助信
息。
附 2.2
状态转换命令
附2.2.1
DESIGN——进入格式状态命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
DATA
无参数。
格式状态。
如果系统已处于数据状态,则保持该状态。
129
〖范例〗
附2.2.2
如下命令将系统状态转换为数据状态。
DATA
DATA——进入数据状态命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
DESIGN
无参数。
数据状态。
如果系统已处于格式状态,则保持该状态。
如下命令将系统状态转换为格式状态。
DESIGN
附 2.3
文件命令
附2.3.1
NEW——新建报表命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.3.2
NEW
无参数。
系统状态,格式状态,数据状态。
相当于菜单命令"文件"-"新建"。
新建的报表文件名默认为"report1.rep"。
如下命令新建报表。
NEW
OPENP——打开文件命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
OPEN "<文件名>"
文件名:指定打开的文件名称,可以是用友报表文件(*.rep)、ACCESS 文件
(*.mdb)、MS EXCEL 文件(*.xls)、LOTUS 1-2-3 文件(*.wk4)、DBASE
数据库文件(*.dbf)、标准文本文件(*.txt)。扩展名不可缺省。
系统状态,格式状态,数据状态。
注意
必须输入该文件的路径,否则系统提示"该文件不存在"!
此命令只能用于命令窗中,不能用于批命令中
〖范例〗
附2.3.3
如下命令打开报表文件"REPORT1.rep",该文件的路径是 c:\ufo\REPORT1.rep。
OPEN "c:\ufo\REPORT1.rep"
如下命令打开 MS EXCEL 文件"表格 1.xls",该文件的路径是 c:\ufo\表格 1.xls。
OPEN "c:\ufo\表格 1.xls"
如下命令打开 ACCESS 文件"调查表.mdb",该文件的路径是 c:\ufo\调查表.mdb。
OPEN "c:\ufo\调查表.mdb"
如下命令打开标准文本文件"数据.txt",该文件的路径是 c:\ufo\数据.txt。
OPEN "c:\ufo\数据.txt"
OPEN REPORT——打开报表命令
〖命令格式〗
〖参数说明〗
OPEN REPORT "<文件名>"
文件名:指定打开的报表文件名称,可以不用扩展名,用双引号括起。
注意
必须输入该文件的路径!
〖运行状态〗
〖注释〗
系统状态,格式状态,数据状态。
只能打开报表文件(*.rep)。
130
〖范例〗
附2.3.4
CLOSE[ALL]——关闭当前文件命令 [关闭全部打开的文件命令]
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.3.5
〖范例〗
SAVE
无参数。
格式状态,数据状态。
相当于菜单命令"文件"-"保存"。
若当前报表为未命名的报表,则弹出"另存为"对话框。
如下命令将当前文件存盘。
SAVE
SAVE AS——另存为命令
〖命令说明〗
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.3.7
CLOSE
无参数时表示关闭当前文件,all 表示关闭所有打开的文件。
格式状态,数据状态。
相当于菜单命令"文件"---"关闭"。
报表未存盘时,关闭时将提醒存盘。
在批命令中,执行此命令将自动保存文件。
如下命令将关闭当前文件。
CLOSE
SAVE——保存文件命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
附2.3.6
如下命令打开名为"样表 1"的报表文件,该文件的路径是 c:\ufo\样表 1。
OPEN REPORT "c:\ufo\样表 1"
打开变量表名:
let &file=getstr("请输入要打开的报表名:")
open repo &file
把当前文件另存为其它文件名,或其它文件格式的文件。可以另存为报表文件
(*.rep)、以逗号分隔的文本文件(*.txt)、DBASE 数据库文件(*.dbf)、
ACCESS 数据库文件(*.mdb)、EXCEL 版文件(*.xls)、LOTUS123 4.0 版
文件(*.wk4),Web 页(*.html)。
SAVE AS "<文件名>"
文件名:指定另存为的文件名,不用扩展名表示另存为 REP 报表文件,使用扩
展名时可以把当前文件另存为其它文件格式的文件。
文件名可以输入绝对路径,如果不输入路径则表示另存为到当前路径下。可以
使用字符型变量代替文件名。
格式状态,数据状态。
相当于菜单命令"文件"-"另存为"。
如下命令把当前文件另存为当前路径下的"资产负债表"报表文件。
SAVE AS "资产负债表"
如下命令把当前文件另存为当前路径下的"SYB.TXT"文本文件。
SAVE AS "SYB.TXT"
如下命令把当前文件另存为当前路径下的"REPORT.MDB "ACCESS 文件。
LET &AA="REPORT.MDB"
SAVE AS &AA
COPY STRUCTURE TO——格式拷贝命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
COPY STRUCTURE TO "<文件名>"
文件名:目标报表文件的文件名,可以不用扩展名,文件名用双引号括起。
格式状态,数据状态。
目标文件为报表文件(*.rep),具有和源报表相同的的格式且只具有格式。
131
〖范例〗
附2.3.8
COPY TO——复制文件命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.3.9
如下命令将当前报表的格式拷贝到"样表 2",使"样表 2"与当前表具有同样的格
式。
COPY STRUCTURE TO "样表 2"
COPY TO "<文件名>"
文件名:指定目标报表的文件名称,为用友报表文件(*.rep),扩展名可以缺
省。
格式状态,数据状态。
目标文件将被打开并作为当前表。
如下命令将当前报表拷贝一份到"样表 3",使"样表 3"与当前表格式及各表页的
数据完全相同并打开"样表 3"。
COPY TO "样表 3"
DO——执行批命令命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
DO"<批命令文件名>"
文件名:指定打开的批命令文件名,可以不用扩展名。
系统状态,格式状态,数据状态。
相当于菜单命令"文件"-"执行"。
如下命令打开名为"批命令 1"的批命令文件。
DO "批命令 1"
附2.3.10 SETMENU——执行自定义菜单命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
SETMENU ["<菜单文件名>"]
文件名:菜单文件(*.mnu)文件名,可以不用扩展名,必须用双引号括起。
系统状态,格式状态,数据状态。
当参数缺省时回到标准菜单。
如下命令打开文件名为"FIRST.MNU"的自定义菜单,以自定义菜单代替现有菜
单。
SETMENU "FIRST"
如下命令回到 UFO 菜单。
SETMENU
附2.3.11 PRINT——打印命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
PRINT
无参数。
格式状态,数据状态。
调出打印对话框。
在批命令中不能使用。
如下命令调出打印对话框。
PRINT
附2.3.12 EXIT——退出 UFO 命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
EXIT
无参数。
系统状态,格式状态,数据状态。
相当于菜单命令"文件"---"退出"。
如下命令将退出 UFO 系统。
EXIT
附2.3.13 UFOEDIT——打开二次开发窗口命令
132
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4
UFOEDIT
无参数。
系统状态,格式状态,数据状态。
相当于菜单命令"工具"---"二次开发"。
如下命令打开二次开发窗口系统。
UFOEDIT
编辑命令
附 2.4.1
APPEND 追加表页命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.2
GAPPEND 追加可变区命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.3
APPEND [<追加的表页数>]
追加的表页数:正整数或变量,变量将自动取整,为想要追加的页数,缺省值
为 1。
数据状态。
本命令在当前报表所有表页后面追加所需表页,追加的表页是只有报表格式的
空表,一个报表中的表页总数最大可以? 到 99,999 张。
如下命令给当前报表追加 1 张空表页。
APPEND
如下命令给当前报表追加 3 张空表页。
APPEND 3
GAPPEND [<增加数量>] [FOR<表页筛选条件>]
增加数量:想在当前页添加的可变区数,为正整数或正整数型变量,缺省值为
1。
表页筛选条件:筛选需要增加可变区的表页。缺省为当前表页,ALL 表示所有
表页。
数据状态。
追加的可变区数量加上已有的可变区数量应超过可变区的最大尺寸。否则将增
加可变区至最大尺寸为止。
如下命令在当前表页可变区的最后增加 1 个可变行或可变列。
GAPPEND
如下命令在当前表页行可变区的最后增加 3 个可变行或列可变区的最后增加 3
个可变列。
GAPPEND 3
如下命令在所有关键字"年"大于 94 的表页可变区的最后增加 3 个可变行或可变
列。
GAPPEND 3 FOR 年>1994
若某表格式设计时确定可变区大小为 23 行,如下命令在当前页将可变区加满
至 23 行。
GAPPEND 100
DELETE 删除表页命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
1.DELETE [FOR <表页筛选条件>]
2.DELETE ALL
表页筛选条件:筛选出将被删除的表页。缺省为当前表页,ALL 表示所有表页。
特别的,DELETE ALL 表示删除所有表页。
数据状态。
如下命令删除当前表页。
DELETE
133
如下命令表示删除所有表页:
DELE FOR ALL
DELE ALL
如下命令删除关键字"月"大于 2 且 B1 单元与 B4 单元相等的表页。
DELETE FOR 月>=2 AND B1=B4
如下命令删除页号大于 5 的表页。
DELETE FOR MRECNO( )>5
附 2.4.4
GDELETE 删除可变区命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.5
GDELETE [FOR [<表页筛选条件>];<可变区筛选条件>]
表页筛选条件:筛选出需要删除可变区的表页。缺省为当前表页,ALL 表示所
有表页。
可变区筛选条件:筛选出表页中需要删除的可变区。格式为:<单元 | 以相对
方式"V_"表示的行可变区的一列 | 以相对方式"V_"表示的列可变区的一行><
关系运算符><普通算术表达式>,缺省为光标所在行或列, ;ALL 表示该页整
个可变区。
数据状态。
当可变区筛选条件缺省时,活动单元格应在想要删除的可变行或可变列上。
当可变区筛选条件以单元为左值时,? 条件为真时,将删除整个可变区,只剩
一行(列)空可变区。
如下命令删除当前表页当前可变行或可变列。
GDELETE
当 A1>0 时,扣下命令将删除当前表页所有可变行或可变列。
GDELETE FOR;A1>0
如下命令删除行可变表当前表页 D 列数据等于 180 的可变行。
GDELETE FOR;V_D=180
如下命令删除列可变表所有表页第 4 行数据等于 180 的可变列。
GDELETE FOR ALL;V_4=180
如下命令删除行可变表所有关键字"年"大于等于 96 的表页可变区中 D 列数据
等于 180 的可变行。
GDELETE FOR 年>=1996;V_D=180
如下命令在列可变表删除所有关键字"月"大于等于 6 的表页可变区中第 3 行数
据等于 180 的可变列。
GDELETE FOR 月>=6;V_3=180
如下命令在可变表中删除所有关键字"月"大于等于 6 的表页中整个可变区。
GDELETE FOR 月>=6;ALL
INSERT 插入表页/行/列命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
INSERT <插入位置>[,<插入数量>]
用"@"表示在某页前插入表页,用"!"或字母表示插入列,用"#"表示插入行。
不能用可变区表示法 V_。
插入数量:可以为正整数或正整数型变量,缺省为 1。
格式状态,数据状态。
相当于菜单命令"编辑"---"插入"。
在格式状态中:只能插入行列,不能插入表页。
在数据状态中:
当插入点在行可变区时,可以插入行和表页,不能插入列;
当插入点在列可变区时,可以插入列和表页,不能插入行;
当插入点在固定区时,可以插入表页,不能插入行列。
在数据状态中,如下命令在第 5 页前插入 1 页。
134
INSERT @5
在格式状态下或数据状态下的列可变区中,如下命令在第 5 列前插入 5 列。
INSERT !5,5
在格式状态下或数据状态下的列可变区中,如下命令在 A 列前插入 34 列。
INSERT A,34
在格式状态下或数据状态下的行可变区中,如下命令在第 5 行前插入 34 行。
INSERT #5,34
附 2.4.6
EXCHANGE 表页交换命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.7
CLEAR 清除区域命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.8
CLEAR <区域>
区域:不含页号和表名。
格式状态,数据状态。
相当于菜单命令"编辑"---"清除"。
在格式状态下清除指定区域的格式并将属性还原为数值型。
在数据状态下清除当前表页指定区域的内容。
在数据状态下,如下命令清除区域 A1:B12 的内容。
CLEAR A1:B12
在格式状态下清除指定区域 A1:B12 的所有格式设置并将属性还原为数值型。
CLEAR A1:B12
FREE 清除变量命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
附 2.4.9
EXCHANGE <页号 1>, <页号 2>
页号 1,页号 2:用于交换的两页。
数据状态。
本命令将报表中指定页号的两张表页的数据进行交换,其他表页不动。
若当前表没有指定交换的某一页,则不进行任何操作。
如下命令将第 3 表页和第 5 表页进行交换。
EXCHANGE 3,5
若当前表只有 3 页,如下命令将不进行任何操作。
EXCHANGE 3,7
FREE <变量名>
变量名:需要清除的变量,ALL 表示所有变量。
格式状态,数据状态。
如下命令清除变量&A。
FREE &A
如下命令清除所有变量。
FREE ALL
SKIP 翻页命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
SKIP [<翻动页数>]
翻动页数:整数或变量,变量将自动取整。正整数表示向较大的页号翻页,负
整数表示向较小的页号翻页。缺省为 1,即将下一页置为当前页。
数据状态。
当翻动设定页数将超过第一页或最后一页时,置第一页或最后一页为当前页。
如下命令将下一页当作当前页。
SKIP
如下命令将上一页当作当前页。
SKIP -1
135
如果当前页为第 3 页,如下命令将使第 9 页成为当前页。
SKIP 6
如果当前页为第 3 页,如下命令将使第 1 页成为当前页。
SKIP -100
附 2.4.10
SETFOCUS 设置当前区域命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.11
SETPAGE 设置当前表页命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.12
SETFOCUS <区域>
区域:在格式状态下使用时应不包括表名和页号,在数据状态下使用时应不包
括表名。
格式状态,数据状态,命令窗。(不能用于批命令中)
本命令将指定区域设置为当前区域。
当指定区域所在页号超过最大页号时,翻到最后一页。
当指定区域的单元地址不合法时,当前区域不变。
当参数<区域>为可变区时,在格式状态中光标将停留在设置的可变行或可变列
上;在数据状态中,若指定行列未追加,该命令将使光标落在可变区最后一行
或最后一列。
当参数<区域>用可变区相对表示法"V_"表示时,在格式状态中光标将停留在设
置的可变行或可变列上;在数据状态中,若指定行列未追加或指定行列超过可
变区的设置,该命令将使光标落在可变区最后一行或最后一列。
如下命令将 A1 单元设置为当前单元。
SETFOCUS A1
在数据状态下,如下命令将 第 5 页 A1:B7 区域设置为当前单元。
SETFOCUS A1:B7@5
如下命令将区域 !5#7:!7#5 设置为当前单元。
SETFOCUS !5#7:!7#5
如下命令将区域 C5:H7 设置为当前区域。
SETFOCUS C5:H7
如果 IV1000 单元不存在时,如下命令不会使当前区域发生变化。
SETFOCUS IV1000
若当前表 A 列起为可变区,可变区大小为 7 列,如下命令在格式状态下将 A3
单元设置为当前区域,在数据状态下,若追加了将区域 C5:H7 设置为当前区域。
SETFOCUS V_3
SETPAGE <目标页号>
目标页号:正整数或变量,变量将自动取整。
数据状态。
将指定表页设置为当前表页。当指定表页号大于最大表页时,将最后一页置为
当前表页。
本命令不影响函数 MBOF( ) 和 MEOF( ) 的值。
如下命令将第 4 页设置为当前表页。
SETPAGE 4
如下命令将第 7 页设置为当前表页。
SETPAGE 7
若当前表只有 20 页,如下命令将第 20 页设置为当前表页。
SETPAGE 1000
FIND 查找表页命令
〖命令格式〗
〖参数说明〗
FIND FOR <表页筛选条件>
表页筛选条件:确定查找条件。
136
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.13
GFIND 查找可变区命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附 2.4.14
数据状态。
本命令查找符合条件的表页,找到第一个符合条件的表页后将此表页变为当前
表页。查找失败则没有变化。
如下命令查找关键字"月"大于等于 2 的表页,将找到的第一页作为当前表页。
FIND FOR 月>=2
如下命令查找单元 A1>2 且 A2>2 的表页,将找到的第一页作为当前表页。
FIND FOR A1>2 AND A2>2
GFIND FOR [<表页筛选条件>] ;<可变区筛选条件>
表页筛选条件:确定表页查找条件,缺省表示仅在当前表页的可变区中进行查
找。
可变区筛选条件:确定可变区查找条件。格式为:<单元 | 以相对方式"V_"表
示的行可变区的一列 | 以相对方式"V_"表示的列可变区的一行><关系运算符
><普通算术表达式> 。
数据状态。
本命令查找符合筛选条件的可变区,找到第一个符合条件的可变区后将光标停?
在此可变区上。查找失败则光标不动。
如下命令在行可变表中当前表页中查找 D 列数值等于 20 的可变行,并将光标
停留在此行上。
GFIND FOR ;V_D=20
如下命令在列可变表当前表页中查找第 3 行数值等于 20 的可变列,并将光标
停留在此列上。
GFIND FOR ;V_3=20
如下命令在行可变表所有表页中查找 D 列数值等于 20 的可变行并将光标停留
在此行上。
GFIND FOR ALL;V_D=20
如下命令在列可变表所有表页中查找第 6 行数值等于 20 的可变里并将光标停
留在此列上。
GFIND FOR ALL;V_6=20
如下命令在行可变表 A1>23 的表页中查找 D 列数值等于 20 的可变行并将光标
停留在此可变行上。
GFIND FOR A1>23;V_D=20
如下命令在可变表的列可变表 A1>23 的表页中查找第 5 行数值等于 20 的可变
列并将光标停留在此可变列上。
GFIND FOR A1>23;V_5=20
CONTINUE 继续上次查找命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
CONTINUE
无参数。
数据状态。
该命令与表页查找命令 FIND FOR、可变区查找命令 GFIND FOR 配合使用,
重复上次进行的表页查找命令或可变区查找命令。
如下批命令查找关键字"月"大于等于 2 的表页,对找到的第一页进行重计算,
然后继续查找下一个关键字"月"大于等于 2 的表页,并将光标停留在该表页上。
……
FIND FOR 月>=2
LET A1=0
CONTINUE
……
137
在有行可变区的可变表中,如下批命令在关键字"月"大于等于 2 的表页中查
找 A 列字符为"消耗品"的可变行,将找到的第一个可变行删除,然后继续在
关键字"月"大于等于 2 的表页中查找下一个 A 列字符为"消耗品"的可变行,
并将光标停留在该可变行上。
……
GFIND FOR 月>=2;V_A="消耗品"
GDELETE
CONTINUE
……
附 2.5
格式命令
附2.5.1
SIZE 定义表尺寸命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
附2.5.2
HIGH 定义行高命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
附2.5.3
HIGH <区域>,<行高>
区域:不含页号和表名,不可用可变区相对表示法表示。
行高:0?480 之间的整数或变量,变量将自动取整。
格式状态。
如下命令将第 3 行至第 5 行的行高定义为 24。
HIGH #3:#5,24
如下命令将第 3 行至第 5 行的行高定义为 24。
HIGH C3:D5,24
如下命令将整表所有行的行高定义为 24。
HIGH A,24
WIDE 定义列宽命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
附2.5.4
SIZE [<行数>][,<列数>]
行数:1~255 之间的整数或变量,缺省时不改变原行数设置。
列数:1~9999 之间的整数或变量,缺省时不改变原行数设置。
格式状态。
如下命令将表尺寸改为 12,23
SIZE 12,23
如下命令将表尺寸的行数改为 12,列数不变。
SIZE 12
如下命令将表尺寸的列数改为 23,行数不变。
SIZE ,23
WIDE <区域>,<列宽>
区域:不含页号和表名,不可用可变区相对表示法表示。
列宽:0?640 之间的整数或变量,变量将自动取整。
格式状态。
如下命令将 C:D 列的列宽定义为 75。
WIDE C:D,75
如下命令将 C:D 列的列宽定义为 75。
WIDE C3:D56,75
如下命令将整表所有列的列宽定义为 80。
WIDE #3,80
DRAW 区域画线
〖命令格式〗
DRAW <区域>[,<类型>][,<线型>]
138
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.5.5
TYPE 定义单元类型
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
附2.5.6
区域:画线区域,不含页号和表名。
类型:可以为以下字符,缺省为 N,网线。
N:网线;
B:框线;
H:竖线;
V:横线;
\:正斜线;
/ :反斜线。
线型:可以为以下字符串,缺省为 S1,细线。
U:空线,即抹线;
S1:细线;
S2:粗线;
S3:超粗线;
D:虚线;
LD:长虚线;
D1:点划线;
D2:双点划线。
格式状态。
画正反斜线时区域不能大于 30 行或 30 列。
如下命令在区域 A1:B5 上画上双点划线型正斜线。
DRAW A1:B5, \ ,D2
如下命令在区域 A1:B5 上画上细线网线。
DRAW A1:B5
如下命令抹掉区域 A1:B5 上的细线网线。
DRAW A1:B5,U
如下命令抹去区域 A1:B5 上的正斜线。
DRAW A1:B5, \ , U
TYPE <区域>[, <类型>]
区域:不含页号和表名,不可用可变区相对表示法表示。
类型:为以下字母,缺省为 D,数值型。
D:数值型;
S:字符型;
F:表样型。
格式状态。
如下命令将区域 A4:J28 定义为表样型。
TYPE A4:J28,F
如下命令将 B 列定义为字符型。
TYPE B,S
如下命令将区域 A:C 定义为数值型。
TYPE A:C
VAREA 定义可变区
〖命令格式〗
〖参数说明〗
格式 1:VAREA [ S ], <可变区位置> [ , <可变区大小> ]
格式 2:VAREA U
S:标识符,表示设置可变区,可以缺省;
U:标识符,表示取消可变区。
139
〖运行状态〗
〖范例〗
附2.5.7
可变区位置:用"!"或字母表示在某列设置列可变区,用"#"表示在某行设置行
可变区。
可变区大小:可以为正整数和正整数型变量,缺省为 1。
格式状态。
如下命令在第 7 行设置可变区,可变区大小为 34。
VAREA ,#7,34
如下命令在 A 列设置可变区,可变区大小为 23。
VAREA S,A,23
如下命令在 A 列设置 1 列可变区。
VAREA S,A
如下命令取消可变区。
VAREA U
VARSIZE 定义可变区大小
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
VARSIZE <可变区大小>
可变区大小:可以为正整数和正整数型变量。
格式状态。
使用此命令前应已设置了可变区。
如下命令将可变区大小改为 34。
VARSIZE 34
如下命令将可变区大小改为 200。
VARSIZE 200
附 2.6
数据命令
附2.6.1
LET——赋值命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
LET <区域 | 关键字 | 变量> = < 算术表达式 > [ , < 区域 > = < 算术表达式
> ] * [ FOR [ <表页筛选条件> ] [ ; < 可变区筛选条件 > ] ] [ RELATION <表页
关联条件> [ , <表页关联条件> ] * ]
区域 | 关键字 | 变量:计算公式所赋值区域、关键字或变量。在系统状态和格
式状态下只可以对变量赋值。
算术表达式:数据来源位置和运算关系。
表页筛选条件:确定参与计算的表页范围,单元公式中缺省为所有表页;命令
窗和批命令中缺省为当前表页,ALL 表示所有表页。
可变区筛选条件:确定参与计算的可变区范围,当参数<区域>中为固定区时不
需此参数。缺省为所有可变行或可变列。
表页关联条件:确定固定区数据来源,即本表与他表表页的对应关系或本表内
各表页的对应关系。没有引用本表他页数据或他表数据时不需此参数。缺省为
本表或他表的第 1 页。
系统状态,格式状态,数据状态。
当参数"区域"中包含不止一个固定区单元时,区域中的行列数必须与算术表达
式计算结果的单元行列数一一对应。
由于该命令常用于计算公式,因此更具体的使用说明可以参阅用友 UFO 的《高
级用户手册》,《计算公式》一章。
在数据状态下,如下命令定义关键字的值。
LET 年=1999
在数据状态下,如下命令给数值型单元赋值。
LET B20=1234.56
在数据状态下,如下命令给列可变区字符型可变行单元赋值。
LET V_5="盈利"
在数据状态下,如下命令给字符型单元赋值。
140
LET D5="产品编号"
在数据状态下,如下命令将 A 列清零。
LET A=0
如下命令使 D 列数据等于 B 列乘 C 列除 20 乘 100。
LET D=B*C/20*100
如下命令计算某个固定表或行可变表固定区的整行小计。
LET #10=#6+#7+#8+#9
如下命令计算某个固定表或列可变表固定区的整列小计。
LET G=C+D+E+F
在赋值命令中使用函数,如下命令令 E5 单元的值为 E6:E20 区域的合计。
LET E5=PTOTAL(E6:E20)
在数据状态下,如下命令令关键字"月"为 4 的表页 E5 单元的值为 E6:E20 区域
的合计。
LET E5=PTOTAL(E6:E20) FOR 月=4
如下命令令本表 A1>5 的表页的 B4 单元取报表"BH"关键字"年"相同的相关表
页的 B4 的值。
LET B4="BH"->B4 FOR A1>5 RELATION 年 WITH"BH"->年
如下命令给变量 X 赋值为 1。
LET &X=1
如下命令为字符型变量&VAR 赋值。
LET &VAR=getstr("单位名称:")
附2.6.2
APPEND FROM——数据采集命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.6.3
当报表文件"报表 2"与当前表格式完全相同时,如下命令将"报表 2"中"月份大
于 3 月"所有表页复制到本表追加的页上。
APPEND FROM "报表 2"FOR 月>3
如下命令将"AAA.XLS"中所有表页的内容按当前表格式复制到当前表追加的
页上。
APPEND FROM "AAA.XLS"
RECAL——重计算命令
〖命令格式〗
〖运行状态〗
〖功能〗
〖范例〗
附2.6.4
APPEND FROM "<文件名>" FOR <筛选表页条件>
表文件名:源表文件名,可以是报表文件(*.rep)、标准文本文件(*.txt)、
DBASE 数据库文件(*.dbf)、ACCESS 文件(*.mdb)、MS EXCEL 文件(*.xls)、
LOTUS 1-2-3 文件(*.wk4)。
当为报表文件时,扩展名可以缺省,当文件为其他类型文件时,扩展名不可缺
省。
当源文件为报表文件时,报表格式与当前表的格式应当相同。
筛选表页条件:筛选表页条件缺省时,追加所有表页。
数据状态。
RECAL
格式状态,数据状态。命令窗,批命令
重计算所有单元公式,相当于[数据]-[整表重算]菜单。(设置了"不计算"的表
页不重算)
RECAL
CHECK——审核命令
〖命令格式〗
CHECK [<算术表达式 > <关系表达式> <算术表达式>,]*<算术表达式 > <关系
表 达 式 > < 算 术 表 达 式 > [FOR< 表 页 筛 选 条 件 >[;< 可 变 区 筛 选 条 件 >]]
[RELATION <表页关联条件>[,<表页关联条件>]*] MESSAGE"<提示信息>"
141
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.6.5
RECHECK——驱动审核命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.6.6
RECHECK
无参数。
数据状态。
相当于菜单命令"数据"---"报表审核"。
此命令驱动所有表页按照格式设计时输入的审核公式进行审核。只有存在审核
公式的报表运行此命令才有意义。
如下命令驱动当前表进行审核。
RECHECK
ROUND——驱动舍位平衡命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.6.7
[[<区域> = <算术表达式>,]* <区域> = <算术表达式> [FOR<表页筛选条件>[;<
可 变 区 筛 选 条 件 >]] [RELATION < 表 页 关 联 条 件 >[,< 表 页 关 联 条 件 >]*]
MESSAGE"<提示信息>"]*
算术表达式:被审核数据。
表页筛选条件:确定参与计算的表页范围,单元公式中缺省为所有表页;命令
窗和批命令中缺省为当前表页,ALL 表示所有表页。
可变区筛选条件:确定参与计算的可变区范围,当 <关系运算符>左侧的参数<
算术表达式 >中为固定区时不需此参数。缺省为所有可变行或可变列。
表页关联条件:确定固定区数据来源,即本表与他表表页的对应关系或本表内
各表页的对应关系。没有引用本表他页数据或他表数据时不需此参数。缺省为
本表或他表的第 1 页。
提示信息:字符串,最大长度为 64 字节。当本组某一审核公式"<算术表达式 >
<关系运算符> < 算术表达式 >"不成立时警告框的消息内容。
数据状态。
当<算术表达式 > <关系运算符> < 算术表达式 >不成立时,将按照提示信息给
出警告。
关系运算符两边区域遵从赋值的对应规则。
关于该命令更具体的使用说明可以参阅用友 UFO 的《高级用户手册》,《审
核公式》一章。
如下公式审核 C9=C5+C6+C7+C8 是否成立,若此项关系不平,则提示"一季度
小计不等!"
CHECK C9=C5+C6+C7+C8 MESSAGE "一季度小计不等!"
如 下 公 式 审 核 E9=E5+E6+E7+E8 、 F9=F5+F6+F7+F8 是 否 成 立 , 若
E9=E5+E6+E7+E8 关系不平,则提示"三季度小计不等!"若 F9=F5+F6+F7+F8
不平,则提示"四季度小计不等!"
CHECK E9=E5+E6+E7+E8 MESSAGE "三季度小计不等!" F9=F5+F6+F7+F8
MESSAGE "四季度小计不等!"
ROUND
无参数。
数据状态。
相当于菜单命令"数据"---"舍位平衡"。
此命令驱动所有表页按照格式设计时输入的舍位公式进行计算,并生成舍位公
式规定的舍位表。只有存在舍位公式的报表运行此命令才有意义。
如下命令驱动当前表进行舍位操作。
ROUND
SORT——表页排序命令
〖命令格式〗
〖参数说明〗
SORT ON <关键字值> [-<方式>] [FOR <表页筛选条件>]
关键字值:表关键字或固定区的一个单元。
142
〖运行状态〗
〖注释〗
〖范例〗
附2.6.8
GSORT——可变区排序命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.6.9
方式:为如下字母,缺省为"A",升序方式。
A:升序方式;
D:降序方式。
表页筛选条件:筛选出参加排序的表页。缺省为所有表页。
数据状态。
不符合表页筛选条件的表页位置不动。
如下命令将当前表所有表页按 A1 单元升序排序。
SORT ON A1
如下命令将当前表所有表页按关键字"月"降序排序。
SORT ON 月 -D
如下命令将当前表 A1 单元大于 35 的表页按关键字"月"降序排序,其他表页顺
序不动。
SORT ON 月 -D FOR A1>35
GSORT ON <关键字值> [-<方式>] [FOR [<表页筛选条件>];<可变区筛选条件
>]
关键字值:行可变区的一列或列可变区的一行。
方式:为如下字母,缺省为"A",升序方式。
A:升序方式;
D:降序方式。
表页筛选条件:筛选出参加排序的表页,缺省为当前表页,ALL 表示所有表页。
可变区筛选条件:筛选出参加排序的可变行或可变列。格式为:<单元 | 以相
对方式"V_"表示的行可变区的一列 | 以相对方式"V_"表示的列可变区的一行
><关系运算符><普通算术表达式> ,缺省为整个可变区。
数据状态。
不符合表页筛选条件和可变区筛选条件的可变行或可变列位置不动。
在行可变表中,如下命令将当前页所有可变行按 D 列升序排序。
GSORT ON V_D
在列可变表中,如下命令将当前页所有可变列按第 3 行降序排序。
GSORT ON V_3 -D
在行可变表中,如下命令将当前页 C 列数据大于等于 10 的可变行按 D 列降序
排序。
GSORT ON V_D -D FOR V_C >= 10
在列可变表中,如下命令将当前页第 3 行数据大于等于 10 的可变列按第 4 行
升序排序。
GSORT ON V_4 FOR V_3 >= 10
如下命令将行可变表关键字"季"大于 2 的表页可变行按 D 列降序排序。
GSORT ON V_D -D FOR 季 >2
如下命令将列可变表关键字"季"大于 2 的表页可变列按第 3 行升序排序。
GSORT ON V_3 FOR 季 >2
TOTAL——报表汇总命令
〖命令格式〗
〖参数说明〗
TOTAL [TO "<报表文件名>"] [KEY <关键值>] [FOR [<表页筛选条件>] [ ; <可
变区筛选条件>] ]
报表文件名:保存汇总数据的报表文件名,不需加扩展名,用双引号括起。缺
省为当前表。
关键值:汇总关键值,为可变区字段。固定表不需此参数。对于行可变表,此
参数为一可变列;对于列可变表,此参数为可变行。用可变区相对表示法表示。
143
〖运行状态〗
〖注释〗
〖范例〗
A
赵
钱
孙
李
1月
B
2.00
3.00
4.00
5.00
当关键值为字符型行列或缺省时,为整表汇总;当关键值为数值型行或列时,
系统将按物理位置汇总关键值所指定的行或列。
表页筛选条件:确定需要进行表页汇总的表页,缺省时为所有表页。
可变区筛选条件:确定需要进行表页汇总的可变区。缺省时为整个可变区。
数据状态。
若省略报表文件名,则在当前的工作表的最后一张表页后面增加一个表页,并
将汇总结果保存在该表页之中。若不省略报表文件名,则生成一与当前表格式
完全相同的只有一页的汇总报表文件。
若可变区汇总关键字所在的列各页数据不同,使不同的数据总个数超过格式设
计时设置的可变区大小时,将导致可变区汇总数据不完整。因此,需要进行表
页汇总的可变表设置可变区大小时应留出足够的可变区空间。
如下命令将当前表所有表页数值汇总到本表追加的最后一页。
TOTAL
如下命令将当前表关键字"年"大于等于 1990 的所有表页数值汇总到本表追加
的最后一页。
TOTAL FOR 年>=1990
如下命令将当前表中关键字"年"等于 1990,关键字"月"等于 1(即 1990 年 1 月)
的报表,并将汇总表存入报表 "LRBHZ" 中。
TOTAL TO "LRBHZ" FOR 年=1991 AND 月=1
在 D 列为字符型列的可变表中,如下命令将关键字"年"等于 1991 的所有表页
以 D 列作为汇总关键字进行汇总,将汇总结果保存在本表追加的最后一页上。
TOTAL KEY V_D FOR 年=1991
在 B 列为数值型列的可变表中,如下命令将关键字"年"等于 1991 的所有表页
的 B 列进行汇总,将汇总结果保存在本表追加的最后一页上。
TOTAL KEY V_B FOR 年=1991
在 A 列为字符型列的可变表中,如下命令将关键字"年"等于 1991 的所有表页
以 A 列作为汇总关键字进行汇总,并将汇总表存入"ZJBHZ"文件中。
TOTAL TO "ZJBHZ" KEY V_A FOR 年=1991
表附 2-1 为一个有 4 张表页的行可变表各页可变区的两列。表关键字之一为
“月”。
2月
3月
4月
A
B
A
B
A
B
3.00
2.00
5.00
钱
赵
李
2.00
4.00
3.00
赵
孙
钱
5.00
5.00
4.00
李
李
孙
4.00
3.00
2.00
孙
钱
赵
附 2-1
如下命令将关键字“月”小于等于 4 (一季度) 的各表页以 A 列作为汇总关键字
进行汇总,并将汇总结果存入报表文件“LRBHZ”中。
表附 2-2 为报表文件“LRBHZ”的行可变区的两列。
TOTAL TO “LRBHZ”KEY V_A FOR 月<=4
月
A
赵
钱
孙
李
B
8.00
12.00
16.00
20.00
附 2-2
144
附2.6.10 GTOTAL——可变区数据汇总命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
GTOTAL [FOR [<表页筛选条件>];<可变区筛选条件>]
表页筛选条件:确定需要进行可变区汇总的表页。缺省时为当前表页,ALL 表
示所有表页。
可变区筛选条件:确定需要进行可变区汇总的可变行或可变列。缺省时为整个
可变区。
数据状态。
本命令对符合表页筛选条件的各表页的可变区进行平面汇总。汇总后,系统将给
符合表页筛选条件的各表页分别追加一个可变行或可变列,将汇总结果保存在每
张表中新追加的可变区之中。
如果某个表页中的可变区已满,即已达到表格设计时设置的可变区大小,则该
表的可变区汇总结果将无法保存。因此,需要进行表页汇总的报表设置可变区
大小时应多留出一行可变区供追加可变区汇总数据。
如下命令将本页所有可变行或可变列的数据汇总,将汇总结果保存到追加的一
个新可变行或可变列中。
GTOTAL
如下命令将所有表页每一页所有可变行或可变列的数据汇总,将汇总结果保存
到每一表页追加的一个新可变行或可变列中。
GTOTAL FOR ALL
如下命令将当前页行可变区 A 列大于 1000 的可变行的数据汇总,将汇总结果
保存到当前页追加的一个新可变行中。
GTOTAL FOR ;V_A>1000
如下命令将当前页列可变区第 5 行大于 1000 的可变列的数据汇总,将汇总结
果保存到当前页追加的一个新可变列中。
GTOTAL FOR ;V_5>1000
如下命令将关键字"月"大于 6 的各表页中行可变区 A 列大于 1000 的可变行的
数据汇总,将汇总结果保存到关键字"月"大于 6 的各页追加的一个新可变行中。
GTOTAL FOR 月>6 ;V_A>1000
如下命令将关键字"月"大于 6 的各表页中列可变区第 8 行大于 1000 的可变列的
数据汇总,将汇总结果保存到关键字"月"大于 6 的各页追加的一个新可变列中。
GTOTAL FOR 月>6 ;V_8>1000
附2.6.11 BROWSE——多区域数据透视命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖运行范围〗
〖注释〗
〖范例〗
BROWSE <区域>[,<区域>]*[/<字段名>]*
区域:可以是单元,也可以是区域,也可以是不连续的多个区域。
字段名:对区域数据的含义描述。
透视的单元数不超过 3000 个,页不超过 1000 页。
数据状态。
命令窗、批命令
本命令对指定区域的立体数据在平面显示出来,以一个二维表展现三维数据。
对应于命令菜单的[数据]->[透视],为了对应关系,除指定区域展示外,还要展
示出表页相对应的各个关键字。
(见下图附 2-3)
145
附 2-3
使用命令
BROWSE B2,B5
所显示的结果如表附 2-4:
附 2-4
使用命令
BROWSE B2,B5/收入,利润
所显示的结果如表附 2-5:
附 2-5
附2.6.12 PAGERECAL——表页重算命令
〖运行状态〗
〖参数说明〗
〖功能〗
〖范例〗
格式状态,数据状态;命令窗,批命令
参数输入范围是 1-99999 的任意一个或多个非负整数;
该参数不可缺省;
重计算所选表页的所有单元公式(设置了"不计算"的表页不重算),当指定的
表页号大于最大表页时,则计算最后一页。
(1)重新计算第 1 页
PAGERECAL 1
(2)如果最大表页为 12,执行 PAGERECAL 15,则重新计算第 12 页。
附 2.7
文本文件输入/输出命令
附2.7.1
INTEXT 读入文本文件命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
INTEXT〈文件名〉[[〈区域〉,]*〈区域〉;]*[〈区域〉,]*〈区域〉
区域:不含页号和表名。
数据状态。
输入文本文件格式,两个数据之间用" ,"隔开,不同的数据段间使用";"隔开,
转出的数据段之间以回车符分隔。
输入文本文件格式
146
A
1
2
3
4
5
6
项目
表样
表样
表样
表样
表样
B
本期金额
500.00
1000.00
2000.00
3000.00
4000.00
C
累计金额
1000.00
2000.00
3000.00
4000.00
5000.00
D
项目
表样
表样
表样
表样
表样
E
本期金额
7000.00
8000.00
0.00
10000.00
11000.00
F
累计金额
8000.00
9000.00
0.00
11000.00
12000.00
B 列与 E 列为本期金额,C 列与 F 列为累计金额,可以表示为:
INTEXT "REPORT1.TXT" B1:B6,E1:E6;C1:C6,F1:F6
附2.7.2
OUTTEXT 输出文本文件命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
A
1 项目
2 表样
3 表样
4 表样
5 表样
6 表样
OUTTEXT〈文件名〉[[〈区域〉,]*〈区域〉;]*[〈区域〉,]*〈区域〉
区域:不含页号和表名。
数据状态。
输出文本文件格式,两个数据之间用" ,"隔开,不同的数据段间使用";"隔开,
转出的数据段之间以回车符分隔。
如下命令将输出文本文件格式。
B
C
D
E
F
本期金额
累计金额
项目
本期金额
累计金额
500.00
1000.00
7000.00
8000.00
表样
1000.00
2000.00
8000.00
9000.00
表样
2000.00
3000.00
0.00
0.00
表样
3000.00
4000.00
10000.00
11000.00
表样
4000.00
5000.00
11000.00
12000.00
表样
B 列与 E 列为本期金额,C 列与 F 列为累计金额,可以表示为:
OUTTEXT "REPORT1.TXT" B1:B6,E1:E6;C1:C6,F1:F6
输出的文本文件如下:
500.00,1000.00,2000.00,3000.00,4000.00,7000.00,8000.00, ,10000.00,11000.00
1000.00,2000.00,3000.00,4000.00,5000.00,8000.00,9000.00, ,11000.00,12000.00
附 2.8
工具命令
附2.8.1
SET SWITCH ON/OFF 提示框打开/关闭命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
附2.8.2
SET SWITCH ON/OFF
无参数。
系统状态,格式状态,数据状态。
ON:显示"是否重计算"提示框;显示 COPY TO、TOTAL TO 命令提示框。
OFF:不显示"是否重计算"提示框,自动计算;不显示 COPY TO、TOTAL TO
命令提示框。
如下命令将不显示"是否重计算"提示框,自动计算。
SET SWITCH OFF
PROTECT 格式保护命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
PROTECT [-S]/-U
使用"-U"时必须已经有格式保护口令,使用"-S"时必须没有格式保护口令。
系统状态,格式状态,数据状态。
相当于菜单"工具"-"保护"。
如下命令使系统进入设置格式口令。
PROTECT -S
如下命令使系统进入取消格式口令。
147
PROTECT -U
附2.8.3
DISPLAY 窗口显示命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
DISPLAY ["<标题栏内容>",] "<提示内容>"
标题栏内容:
提示内容:出现在提示窗中的内容。
系统状态、格式状态、数据状态
提示内容可以是字符串或字符型变量,也可以是数值或数值型变量。
如下命令执行后弹出下面的提示框。
DISPLAY"UFO 报表","审核通过!"
如下命令执行后弹出下面的提示框。
let &a=456
DISPLAY &a
附2.8.4
LIST 变量列表命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖功能〗
〖范例〗
附2.8.5
LIST -A/-C/-D
A:所有变量名;D:数值型变量;C:字符型变量名。缺省时为所有变量名,与参
数的大小写无关。
命令窗,格式状态,数据状态。(不能在批命令中使用)
列表所有变量名、数值型变量或字符型变量。
在命令窗中,定义变量
LET &A1=1243 //定义位数值型变量
LET &A2="TEST" //定义位字符型变量
LIST //列出所有变量
LIST -D //列出数值型变量
LIST -C //列出字符型变量
MAIL 传输命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖范例〗
MAIL -P/-S/-A
-P:弹出"设置"对话框
-S:弹出"发送"对话框
-A:弹出"接收"对话框。
省略参数时,弹出"发送"对话框。
格式状态,数据状态。命令窗,批命令。
弹出"发送"对话框
MAIL
弹出"接收"对话框。
148
MAIL -A
弹出"设置"对话框。
MAIL -P
附2.8.6
// 注释命令
〖命令格式〗
〖参数说明〗
〖运行状态〗
〖注释〗
〖范例〗
//
无参数。
系统状态,格式状态,数据状态。
将其后至回车换行的内容视为注释。
若某二次开发程序要求输入格式化的公司名称,可将下面的命令放在子程序的
开头作为注释。
//Enter the company name in Helvetica bold 24 point.
在命令窗中,将某行命令的后半部分注释掉,只执行前半行。
LET B4="BH"->B4 // FOR A1>5
149
附录 3
附3.1
业务函数概述
附3.1.1
应用服务的基本概念
用友系列产品(以下简称用友产品)的一项主要特征,就是划分各个业务子系统和唯一的系统管
理,即划分客户端和服务端,形成简易的 C/S 结构。
我们可以把这些业务子系统当做业务数据的"入口",把象用友电子报表(UFO)这样的软件当做
业务数据的"出口",而数据本身,经过处理后被贮存在业务数据库中。
显然,我们需要有一套特别的工具,能把数据从业务数据库中取出来。一旦数据进入"出口",就
可以被加工成用户感兴趣的各种图表或文档。这个取出数据的工作,就是由一套被称为"应用服
务"的工具完成的。简单地说,所谓"应用服务"就是一套取数工具。
严格地说,"应用服务"是从属于各业务子系统的,因为业务内容的定义(称为业务语义)是由各
个子系统完成的,如果这定义变化,那么"应用服务"就必须跟着变化。这种模式决定了"应用服务
"的模块化,即它们是由用友产品各项目组分别开发和维护的。
"应用服务"是一组采用组件技术的 ActiveX DLL 文件。目前,它们是在安装 UFERP-M 基本系统
时统一安装的,用户把它们安装在任何一台有数据"出口"软件的客户机上,而无关于在该客户机
或在该网络中安装了哪些业务子系统。
"应用服务"被设计成标准、开放接口,任何愿意与用友合作的第三方软件开发商,都可以通过调
用该接口,来实现它们的数据"出口"软件与用友软件的数据交互。事实上,用友电子报表(UFO)
就是一个第三方的范例。
在下面的讨论中,我们称“数据‘出口’软件”为第三方软件。
附3.1.2
应用服务的深入介绍
如果用友产品本身要调用某种取数服务,它的做法一般是直接调用相应于具体取数功能的方法
(它们一般是位于同一客户端的某一对象实例之中)。这是软件内部一种较高效率、较高耦合的
结构。但是就开放性、通用性、网络性而言,这种直接调用途径不一定显示更多优点。
首先,多种取数服务需要定义多个接口,一旦业务内容发生改变,接口也要发生改变,这是开放
性标准所忌讳的。
其次,如果第三方软件所使用的语言或开发环境虽然可以支持 ActiveX 方法调用,但一时很难支
持某种类型的对象作为参数,那么对于那些以该种类型对象作为参数的直接调用接口而言,就使
通用性消失。
再次,由于组件技术的网络特性,参数个数的增加、参数传送的引用方式等很可能添加网络的额
外负担。这要求接口定义应当尽可能简单、统一,并且适用于所有子系统的所有取数服务。
为了避开直接调用的缺点,我们采用了一种间接调用技术,就是为各子系统的各个取数服务分别
定义了一个"语法帽子",称之为业务函数。业务函数是一个字符串,它可以由用户输入,也可以
由第三方程序内部发生,有点儿象在 VC 或 VB 中使用 SQL 语句那样。
含业务函数的表达式字符串先是被一个语法分析器(称为表达式分析和计算部件,简称表达式部
件)所分解,并按一定规则重新组合,然后传递给"应用服务"部件,后者对之进行简单分析(传
递过去时已经不含参数为表达式及函数嵌套的复杂情况),从数据库中取数,最后把结果返回。
值得一提的是,表达式部件还可以进行表达式四则混合运算和通用的数学函数计算。用友产品中
具有公式计算能力的产品,如总账、工资、固定资产、电子报表都使用了表达式部件。
总之,第三方软件通过表达式部件和"应用服务"与业务数据库打交道,而用户则通过业务函数与
第三方软件打交道。这可用下图附 3-1 表示:
150
附 3-1
说明:
①
②
③
④
⑤
⑥
⑦
附3.1.3
用户输入含业务函数的表达式字符串
第三方软件把表达式串传递给语法分析部件
表达式中的业务函数经过分解、重新组合传递给应用服务
应用服务通过系统与业务数据库交互
应用服务把查询结果返回给表达式部件
表达式部件使用查询结果进行计算
第三方软件向用户显示含业务函数的表达式计算结果
业务函数
通过对应用服务的讨论,实际上已经引出了业务函数的概念。
定义:其语义动作由用友产品某一子系统定义的一种函数形式的语法结构,称为该子系统业务
函数。
业务函数相当于用户发出的取数命令,而应用服务则是命令的执行者。
业务函数是一种专用函数,是相对于通用函数(如数学函数)而言的。
业务函数是依附于一定子系统的业务语义的,离开了该业务语义,业务函数就变得没有意义。但
这并不等于说,能使用某业务函数的前提是要安装某子系统,因为业务函数是在"应用服务"而不
是在子系统当中实现的。
目前,在财务级企业管理软件系列产品中,各子系统提供业务函数的情况如下表(图附 3-2)所
示:
附 3-2
这些业务函数的归纳性很强,例如,总账及财务分析中的 13 个业务函数可以涵盖低版本的用友
电子报表中的 54 个账务函数。
151
业务函数是基于 UFERP-M 的用友二次开发平台的核心环节。用友财务、分销软件各子系统作为
数据"入口"和业务处理的坚实底层,用友电子报表和决策支持软件作为数据"出口"和用户浏览定
义层,其间的纽带是业务函数。
在未来版本的用友二次开发平台中,业务函数是面向对象的(面向业务子系统),而且数据"出
口"也是灵活的,用户可以把数据输出到 MS EXCEL 和 MS WORD 的文件模板中,形成用户自己
感兴趣的业务报告形式。
附3.1.4
升级旧版本账务函数
前面提到,8.0 以下版本(For Windows9X/NT)用友电子报表中的 54 个账务函数,可以被 13 个
8.x 版本的总账函数及财务分析函数所替代。事实上,用户不应继续使用原用友电子报表中的账
务函数,而必须改用相应的业务函数。
业务函数的升级以及早期账务函数向新版业务函数的转换,由一个"用友业务函数转换器"部件来
完成。这个部件对用户是透明的,象电子报表这样的第三方软件将在读入旧版本文件格式的时候,
自动调用该部件,因而用户不需要为这个转换而花费额外的开销。
今后,每次发布新版业务函数,"用友业务函数转换器"都跟着升级,使用用友应用服务的第三方
软件商可以通过调用该转换器接口来达成版本一致性。
附3.2
有关约定
附3.2.1
名词
用友产品:在本文中特指 U8 管理软件,包括财务、分销和决策支持软件。
C/S 结构:Client(客户)与 Server(服务)结构,基于网络分布式计算理论,是目前世界上
流行的一种系统结构。在 UFERP-M 中,若是单机应用模式,则客户端就是服务端,也就是
说,子系统要向位于本机的系统管理程序登录。若是网络应用模式,则子系统要向位于远程
机器上的系统管理程序登录。
服务端:C/S 结构的 Server 端。
客户端:C/S 结构。
系统管理:用友产品的服务端程序。
业务子系统:用友产品的客户端程序。简称"子系统"。
业务数据:业务子系统应业务需要而采集、处理、存贮、输出的数据。
业务数据库:存贮业务数据的数据库。
业务函数:一种定义如何从业务数据库中取数的函数形式。简称"函数"。
通用函数:相对于业务函数而言,例如数学函数。
账务函数:指在 8.0 版以下用友电子报表(UFO)中使用的从账务数据库中取数的函数,是
业务函数的前身。
应用服务:实现业务函数简单分析、业务数据库操作的程序。
导出式:也称"产生式",在本文中是一种"自顶向下"地定义函数格式的形式(参见"符号")。
导出:可以理解为"即"或"就是"的意思。
词法:词法即构成语法单位的一类基本单词的拼写规则。例如,视"英语单词"为一个语法单
位,则"function"是一个合法的单词,而"functjon"不是一个合法的单词,这是由于后者存在一
个词法拼写错误。
词法分析:对基本单词的拼写进行分解、检查、转换为内部表示的过程。
语法:即能够形成有意义语句的基本单词之间的搭配规则。
语法分析:对用户输入的语句进行分解、检查、转换为内部表示的过程。
语法单位:即一类基本单词。如字符串、整数、实数,都是语法单位。
语义:语句的意义。包括语句的合法性,语句的可执行性。
语义动作:完成一条语句的处理过程。
表达式:由数字、字符串、四则运算符号、括号及各种函数按一定规则组成的字符串。
表达式部件:全称"表达式分析和计算部件",对表达式进行分析和计算的程序。
嵌套:指函数参数是表达式时,其中包括其它函数的形式。
152
模块化:一种软件工程技术,即把程序按功能分解为相互独立、又能通过接口彼此沟通的多
个部分。
组件技术:微软提出的一种模块化技术,英文名 COM(Component Object Model),即组件
对象模式。用友产品采用了分布式组件技术(Distribute COM 或 DCOM)。DCOM 可以实现
远程驱动,即在一台机器(客户机)上调用另一台机器(服务器)上的应用程序,使该应用
程序运行在另一台机器(服务器)上,并取得运行结果。
ActiveX:属于组件技术的一个专用名词。可理解为一种函数(过程)调用技术,这种函数(过
程)是对象(本地的或远程的)的方法。与 ActiveX 部件交互,一般需要通过 Windows 的系
统注册表。
DLL:动态链接库(Dynamic Linkable Library),在 Windows 资源管理器中通常被显示为"
应用程序扩展"。DLL 文件通常是应用程序维持正常运转所必需的部件,比如系统 DLL 文件。
面向对象:一种软件开发模式,将现实世界中的事物理解为即相互分离、又相互联系的物件
(Object),每个物件有它自己的属性特点和应激时的行为模式。
对象:即相互分离、又相互联系的物件(Object),每个物件有它自己的属性特点和应激时
的行为模式。
实例:对象的具体实例(Instance)。一种对象可以有多个实例。
属性:对象的属性特点(Property)。
方法:主要指对象的应激行为。又称"服务"、"函数"(Method)。
接口:指对象之间联系时相互识辨的界面(Interface)。通过接口,甚至在不同机器上的对象
之间也能够通讯。
二次开发:指用户在 UFERP 基础上利用二次开发语言和开发环境进行再开发,以满足用户自
己独特的需求。
关键字:来源于用友电子报表(UFO),它们是由用户在应用环境中设置的。业务函数只涉
及与时间有关的关键字。
方式字:在业务函数中使用的一种参数,指示紧随其后排列的编码的含义。
第三方软件开发商:调用应用服务接口以支持用友业务函数的软件开发商(用友公司本身除
外)。
第三方软件:第三方软件开发商开发并拥有自主版权的软件产品。
附3.2.2
约定符号
∷= 表示导出,就是"即"或"是",如〈科目编码〉∷=〈字符串〉。
〈 〉
表示语法单位,如:〈科目编码〉。
[]
表示可缺省,如:[〈账套号〉]、[〈年度〉];
|
表示可选择,如:期初|QC。
*
表示参数数目可以从 0 到多个。
斜体字 表示关键字,来源于用友电子报表,详见"期间与关键字"。
正体字 表示用户可直接输入的字符串,一般是函数名称、左右括号和逗号。
附3.2.3
函数名称
同一函数的名称包括:汉字名称,以及拼音缩写名称。如"期初"又是"QC"、"部门工资"又是
"BMGZ"、"资产账套属性"又是"ZZS"、"应收款"又是"YSK"、"预算"又是"YS"。
拼音缩写名称的大小写无关,如对应于"QC",合法的还有"Qc"、"qc "、"qC"等。
函数名称的头一个字母往往标识该函数返回值的性质,规定该字母含义:
无——金额式
s ——数量式
w ——外币式
j ——计件式
附3.2.4
函数格式及参数
参数输入是可选固定字符串的,其输入形式包括:汉字形式,以及拼音缩写形式。如〈查询方式〉
的输入包括"产品"或"C"、"客户"或"K"、"产品客户"或"CK"。在这种情况下,拼音缩写输入与大
153
小写无关,但与字母之间的顺序有关,如"CK"是合法的,但"KC"不合法,具体要看参数的可选范
围定义。
如果参数输入是〈方式字〉,那么请参考第九节"关于方式字"。
为方便起见,逗号采用一种不严格的写法:约定与右括号相邻的逗号可以省略。这就是说,如果
从某个参数开始直到最后一个参数为止都省略,那么它们的逗号也都可以省略。反过来说,若某
个参数未缺省,则前面缺省的参数必须用在其位置上的连续","表示。包含两种写法:
1、...[〈参数 1〉],[〈参数 2〉],...)
2、...[〈参数 1〉,]*)
例如:某函数格式为 ABC(〈X〉,[〈Y〉],[〈Z〉]),若定义〈X〉是 1-3 之间整数、〈Y〉
是 4-6 之间整数、〈Z〉是 7-9 之间整数,则 ABC(1)、ABC(1,4)、ABC(1,4,7)、ABC
(1,4,)、ABC(1,,7)、ABC(1,)、ABC(1,,)等都是合法的,但 ABC(,4,7)、
ABC(1,7)、ABC(1,,4)等是不合法的。
参数可以是〈字符串〉或〈整数〉,这是两个末级语法单位。〈字符串〉必须加引号,引号中不
允许出现引号。〈整数〉一般是指正整数,为数值型,实际上内部被转成双精度浮点数,它们的
合法输入在各应用语义环境中分别定义。
本版的业务函数合法性检查,对于参数输入的类型形式采用较灵活的方式,即〈字符串〉和〈整
数〉加或不加引号都能检查通过。但若要使计算结果正确无误,用户应当严格遵照业务函数定义
进行输入。比如,输入〈账套〉为 999 或"999"可能不会影响结果,但输入〈账套〉为 001 或"001"
肯定影响结果,因为实际上应用服务把 001 当作整数 1 处理了,这样所对应的"账套——年度"数
据库路径就可能并不存在,从而引起计算错误。另外,所有编码类的参数,一般定义为字符串,
必须加引号,否则不能得到正确结果。
附3.2.5
函数返回值
返回值相应于具体的应用环境(如用友电子报表的单元格式),分字符串型和数值型两种类型。
有的函数返回值类型是不固定的(如固定资产函数),但在参数已给定的情况下必须是确定的。
目前,数值型返回值只支持双精度浮点数。
附3.2.6
期间与关键字
期间
U8 管理软件的期间可以是以下自然时间段:某自然年度的某旬、某周、某日,以及一个起始时
间至一个终止时间。也可以是以下会计期间:某会计年度的全年、某会计季度、某会计月份。
期间的时间属性,指期间是会计时间或是自然时间。
期间由一个唯一的整数来表示,其整数表示的时间属性是绝对的。如下表(图附 3-3)所示:
附 3-3
以上期间必须被指明是哪一年度的期间。其中,会计月份、会计季度和会计全年,依赖于会计年
度。自然周、自然旬、自然日,依赖于自然年度。在业务函数中,一般给定两个参数:期间、会
计年度(与账套号一起指定用户数据库)。因此,全年、季、月三个期间,依赖于业务函数中的
会计年度参数;旬、周、日三个期间,依赖于在应用环境中定义的自然年度,或是当前机器时间
中的年度。参见账套与会计年度及关键字。
154
一般在业务函数定义中,用户会见到如下形式:
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
其中,〈整数〉见上表。斜体字是关键字,详见随后的"关键字"部分。〈日期字符串〉指符合格
式"mm/dd/yyyy,mm/dd/yyyy"的字符串,","之前为起始日期,之后为截止日期,如果起始日期
等于截止日期,那么","及其后面的截止日期可以省略。分隔符逗号能够支持全角","和半角","。
〈日期字符串〉只具有自然时间属性。
注意一点,周不跨年。例如,1 月 1 日为星期四,那么该年第一周对应于〈日期字符串〉:"1/1/1998,
1/4/1998"。
关键字
关键字的概念来源于用友电子报表(UFO),它是自 DOS 版本以来一直被延用的需求之一。
在用友电子报表中,用户可以在格式状态下设置关键字,然后到数据状态下对不同表页中的同一
关键字设置不同的值。这样,如果用户在格式状态下设置了某一单元公式,并且以某一关键字做
为其参数之一,那么显然在数据状态下的不同表页中,此单元公式的该参数就会随之发生变化,
而导致计算结果不同。
这也是应用环境及其变化的真实含义。我们设想第三方软件也有类似的应用。
用友电子报表中的关键字包括:年、季、月、日、单位名称、单位编号。其中,后面两个与此处
讨论无关。在 8.x 版本中,还可自定义关键字,旬、周等可由用户自行定义。
当用户未设但又使用关键字时,约定以相应的当前机器时间来替代。
用关键字表示期间
关键字与期间并不是同一概念。即使在 8.0 以下版本,关键字也非等同于期间。事实上,关键字
是应用环境中的一种设置,无论其显示结果和时间属性,都与业务函数中的期间不同。
从显示结果上看,关键字主要是作为报表格式的一部分,有点儿类似于表样,参与打印和上报。
除了年和月以外,其它没有与期间的整数定义是一致的。从时间属性上看,关键字的时间属性是
相对的,但期间的时间属性是绝对的。一般地,关键字旬、周、日总是自然时间的,但年、月的
时间属性相对于用户输入的每个具体函数的不同而不同。
年、月具有会计时间属性,是为了兼容用户在 8.0 以下版本账务函数中的使用约定。同时,在 8.x
版本中,当使用旬、周、日表示自然期间时,年、月、日关键字值必须能够形成一个有意义的自
然日期,使旬、周、日值与该自然日期一致。可以认为,这是显示结果与计算结果的一致性所要
求的。
只要用户建立了关键字时间属性相对性的观念,就能理解这两者其实并不矛盾。
归纳起来,关键字与期间的时间关系有下列几种情况:
1、当关键字没有用于表示期间时,关键字具有任意的时间属性;
2、当关键字季、月分别用于表示会计季度、会计月份时,季、月具有会计时间属性;
3、当关键字旬、周、日分别用于表示自然旬、自然周、自然日时,旬、周、日具有自然时间属
性,年、月、季也具有自然时间属性(一致性规则);
4、当关键字年用于表示会计年度时,年具有会计时间属性。
举例说,报表中某页设置了年=1998、月=3、日=1。
如果报表中定义了以下两个公式:
QC("101",季,"j",,年)
FS("101",月,"j",,年)
那么年=1998、月=3 相对于这两个公式就是会计时间的。
如果报表中又定义了:
TFS("101",日,"j",1998)
那么年=1998、月=3 相对于这个公式是自然时间的。
这个公式最好以如下形式表达:
TFS("101","1998-3-1","j",1998)
其中的日期字符串亦可以通过某种表达式运算得到。
另外,象 TFS("101",日,"j",年)这样的公式,使关键字年同时具有两种时间属性,因此这种公
式只能在会计日历与自然日历完全一致的情况下,才能正确使用。
155
附3.2.7
关于账套号、会计年度
用友 8.x 版系列产品各个业务子系统的业务数据库,是由系统管理程序统一建立和维护的"账套—
—年度"数据库(账套路径+年度路径+UFData.mdb)。每个子系统都必须在起动时初始化其运行
环境,这实际上就包括子系统从系统管理得到缺省"账套——年度"数据库的过程。显然,所缺省
的账套号和年度是由用户自己指定的。如果用户已指定缺省的账套号和会计年度,那么在使用业
务函数时,就可以省略账套号和会计年度的输入。
必须注意,在业务函数中的年度参数都具有会计时间属性。这是由 8.x 产品的用户数据库的路径
约定所决定的。
因此,我们约定:
账套号:001-999,缺省时由应用环境中设置的账套号决定;
会计年度:1980-2099,缺省时由应用环境中设置的时间决定。
在用友电子报表中,该设置即"数据"菜单中的"账套初始"一项。
附3.2.8
关于币种
币种的表示方法有两种:币名和币符。用户可以在总账中自己设置一个币种的币名和币符。在业
务函数中,凡出现〈币种〉处,都是即可以输入币名,也可以输入币符。如果用户定义 A 币种的
币名等于 B 币种的币符,那么我们约定是指 B 币种,即以币符优先。不过,建议用户最好不要做
这种容易引起混淆的定义。
附3.2.9
关于方式字
在分销业务函数中经常使用的〈方式字〉,是用户用来指定其后面编码的意义的。例如,在同一
参数位置定义〈编码〉,若在前面的〈方式字〉中的相应位置使用"存货"或"c",则指〈存货编码〉,
若使用"存货分类"或"c%",则指〈存货分类编码〉。
〈方式字〉由基本查询方式名(下简称方式名)组成。
方式名的简写规则:
在不引起冲突的情况下首先采用拼音首字母,其次采用英文首字母;
"分类"加%;
字母后面可跟 1 至 2 位数字。
方式字的拼写规则:
若有一方式名采用汉字,则整个方式字必须全部采用汉字;若有一方式名采用英文,则整个方
式字必须全部采用英文。
采用汉字时,在每两个相邻的方式之间用逗号分开;采用英文时,中间不必分开。
分隔符逗号必须支持全角","或半角","。
方式名之间大小写无关,顺序无关,但方式名与其之后的编码必须一一对应。
以下是方式名及其缩写(如表附 3-4)形式:
k
客户
k%
客户分类
g
供应商
g%
供应商分类
c
产品/存货
c%
产品分类/存货分类
b
部门
r
人员/职员/业务员/个人
x
项目
x%
项目分类(项目大类)
d%
地区分类
w
仓库
p
采购类型
s
销售类型
y
业务类型
j
结算方式
156
批号
审核状态
成本对象
收发类型
自由项 n
自定义项 n
i
h
o
l
fn(3〉n〉0)
zn(11)n)0)
附 3-4
在以下各业务函数定义中,关于允许用户输入的(合法的)方式名组合,一般可以从它们后面的
附录中查到。
附3.2.10 其他
函数参数必须有物理意义,函数计算结果才是有意义的。例如,作为函数参数输入的账套号、会
计年度,必须是通过系统管理程序建立或加载的,也就是说,是物理地存在的。又例如,作为函
数参数输入的科目编码必须在数据库中存在,否则不能进行正确计算。
此外,业务函数用于报表中,例如"资产负债表",必须先在总账系统中将损益类科目和成本类科
目结平,方能使所出报表成为有意义的报表。换句话说,如果采用业务函数后所出报表产生数据
不平之类的现象,不一定是应用服务出现问题,用户应当首先从综合使用软件上寻找原因。
附3.3
业务函数
附3.3.1
总账函数
附 3.3.1.1 QC、sQC、wQC/期初额函数
〖函数格式〗
〈期初额函数〉∷=〈期初额函数名〉(〈科目编码〉,〈会计期间〉,[〈方向〉],[〈账套号〉],
[〈会计年度〉],[〈编码 1〉],[〈编码 2〉],[截止日期] ,[<是否包含未记账>],[〈编码 1 汇总〉],[〈编
码 2 汇总〉]))
〈期初额函数名〉∷=期初|QC|数量期初|sQC|外币期初|wQC
〈科目编码〉∷=〈字符串〉
〈会计期间〉∷=〈整数〉|全年|季|月
〈方向〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
〈截止日期〉∷=〈字符串〉
<是否包含未记账>::=<字符串>
<编码 1 汇总>∷=<字符串>
<编码 2 汇总>∷=<字符串>
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"期初"或"QC" ;
数量式:函数名为"数量期初"或"sQC";
外币式:函数名为"外币期初"或"wQC"。
〖参数说明〗
合法的〈方向〉为"借"、"贷"、"j"、"d",缺省为""。
〈编码 1〉与〈编码 2〉与科目编码的辅助核算账类有关,见"总账__附录一"。
有关账套号、年度及关键字等详见"约定"。
157
〈截止日期〉可以是某一日期或"天"。若为某个具体日期则计算该日期的余额;若为"天"则计算
当前系统日期的余额。
<是否包含未记账凭证>的合法的值为"是"、"否"、"Y"、"N"、"y"、"n" ,缺省时由用户在应用
环境中设置的值决定。
<编码汇总>合法的值为"是"、"否"、"Y"、"N"、"y"、"n",缺省时由用户在应用环境中设置的值
决定
〖返回值〗
数值型。
缺省参数〈方向〉时返回某一会计科目某会计期间的期初余额;有参数〈方向〉时返回某一会计
科目某会计期间某方向的期初余额。
如果该会计科目带核算账类,那么返回编码所对应的辅助项的期初余额。
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确结转。 五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为带辅助核算的非末级科目:
如未输入方向及任何辅助核算条件,则返回其所有的下级科目的余额之和;
如未输入方向,输入辅助核算条件,则按输入辅助核算条件返回所有符合条件的下级科目的余额之和;当有两
种辅助核算时,如只输入一种,则取所有下级科目中只要有相同辅助核算(例如部门核算、客户核算)符合条件
的余额之和;
如输入方向,未输入任何辅助核算条件,则返回其所有与设置科目辅助核算完全一致(如有两种辅助核算,则
二者上下级科目完全相同)的下级科目的余额之和;
如输入方向,输入辅助核算条件,则按条件返回所有符合条件的下级科目的余额之和;当有两种辅助核算时,
如只输入一种,则取所有下级科目中只要有相同辅助核算(例如部门核算、客户核算)符合条件的余额之和。
若其下级科目的余额方向与公式中定义的方向不一致,则只返回余额方向与公式定义方向一致的期初余额之和。
若科目为借方科目(即占用类科目),则返回的余额为借方余额,即若为贷方余额则返回负数;若科目为贷方科
目(即来源类科目),则返回的余额为贷方余额,即若为借方余额则返回负数。
〈会计期间〉和〈截止日期〉只能选择其一,〈会计期间〉选定后不能选择〈截止日期〉,〈截止日期〉选定后不
能选择〈会计期间〉。若同时输入了会计期间,则系统提示"会计期间和截止日期不能同时加入"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账总账的一部分。
例如:
QC("109",全年, ,"001",1998)
返回 001 套账"109"科目 1998 年初余额 7000。
QC("109",全年, "借","001",1998)
返回 001 套账"109"科目的下级科目中 1998 年借方年初余额的合计 8000。
QC("109",全年,"借")
若当前表页关键字值为:年=1998,月=1,缺省账套号为"001", 返回 001 套账"109"科目的下级
科目中 1998 年借方年初余额的合计 8000。
158
QC("20301",全年, ,"001")
若当前表页关键字值为:年=1998,月=1,缺省账套号为"001", 返回 001 套账"20301"科目 1998
年年初余额 4000。
QC("20301",全年, ,"001",1998,"部门一")
返回 001 套账"20301"科目 1998 年部门一的年初余额 2000。
QC("20301",1, , , , "部门一")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"20301"科目 1998 年 1 月
份部门一的月初余额 2000.00。
附 3.3.1.2 QM、sQM、wQM/期末额函数
〖函数格式〗
〈期末额函数〉∷=〈期末额函数名〉(〈科目编码〉,〈会计期间〉,[〈方向〉],[〈账套号〉],
[〈会计年度〉],[〈编码 1〉],[〈编码 2〉],[〈截止日期〉] ,[<是否包含未记账>],[〈编码 1
汇总〉],[〈编码 2 汇总〉])
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"期末"或"QM" ;
数量式:函数名为"数量期末"或"sQM";
外币式:函数名为"外币期末"或"wQM"。
〖参数说明〗
参见总账期初函数部分
〖返回值〗
数值型。
缺省参数〈方向〉时返回某一会计科目某会计期间的期末余额;有参数〈方向〉时返回某一会计
科目某方向的期末余额。
如果该会计科目带辅助核算账类,那么返回编码所对应的辅助项的期末余额。
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确结转。五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为带辅助核算的非末级科目:
如未输入方向及任何辅助核算条件,则返回其所有的下级科目的余额之和;
如未输入方向,输入辅助核算条件,则按输入辅助核算条件返回所有符合条件的下级科目的余额之和;当有两
种辅助核算时,如只输入一种,则取所有下级科目中只要有相同辅助核算(例如部门核算、客户核算)符合条件
的余额之和;
如输入方向,未输入任何辅助核算条件,则返回其所有与设置科目辅助核算完全一致(如有两种辅助核算,则
二者上下级科目完全相同)的下级科目的余额之和;
如输入方向,输入辅助核算条件,则按条件返回所有符合条件的下级科目的余额之和;当有两种辅助核算时,
如只输入一种,则取所有下级科目中只要有相同辅助核算(例如部门核算、客户核算)符合条件的余额之和。
若其下级科目的余额方向与公式中定义的方向不一致,则只返回余额方向与公式定义方向一致的期末余额之和。
若科目为借方科目(即占用类科目),则返回的余额为借方余额,即若为贷方余额则返回负数;若科目为贷方科
目(即来源类科目),则返回的余额为贷方余额,即若为借方余额则返回负数。
〈会计期间〉和〈截止日期〉只能选择其一,〈会计期间〉选定后不能选择〈截止日期〉,〈截止日期〉选定后
不能选择〈会计期间〉。若同时输入了会计期间,则系统提示"会计期间和截止日期不能同时加入"
〖范例〗
下表为某企业 1998 年 12 月份 001 套账总账的一部分。
159
例如:
QM("109",全年, ,"001",1998)
返回 001 套账"109"科目 1998 年末余额棗借 5000。
QM("109",全年, "借","001",1998)
返回 001 套账"109"科目的下级科目中 1998 年借方年末余额的合计 6000。
QM("109",全年,"借")
若当前表页关键字值为:年=1998,缺省账套号为"001",则返回 001 套账"109"科目 1998 年借方
年末余额合计 6000。
QM("20301",月, ,"001")
若当前表页关键字值为:年=1998,月=12,缺省账套号为"001",则返回 001 套账"20301"科目 1998
年期末余额 4000。
QM("20301",全年, ,"001",1998,"部门一")
返回 001 套账"20301"科目 1998 年部门一的年末余额 2000。
QM("20301",12, , , , "部门一")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"20301"科目 1998 年 12 月
份部门一的月末余额 4000.00。
附 3.3.1.3 FS、sFS、wFS/发生额函数
〖函数格式〗
〈发生额函数〉∷=〈发生额函数名〉(〈科目编码〉,〈会计期间〉,〈方向〉,[〈账套号〉],
[〈会计年度〉],[〈编码 1〉],[〈编码 2〉] ,[<是否包含未记账>],[<自定义项 1>],[<自定义
项 2>],[<自定义项 3>],[<自定义项 4>],[<自定义项 5>],[<自定义项 6>],[<自定义项 7>],[<
自定义项 8>],[<自定义项 9>],[<自定义项 10>],[<自定义项 11>],[<自定义项 12>],[<自定义
项 13>],[<自定义项 14>],[<自定义项 15>],[<自定义项 16>])
〈发生额函数名〉∷=发生|FS|数量发生|sFS|外币发生|wFS
〈科目编码〉∷=〈字符串〉
〈会计期间〉∷=〈整数〉|全年|季|月
〈方向〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
<自定义项> ::=<字符串>
<是否包含未记账>::=<字符串>
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"发生"或"FS" ;
数量式:函数名为"数量发生"或"sFS";
外币式:函数名为"外币发生"或"wFS"。
160
〖参数说明〗
参见总账期初函数部分
〖返回值〗
数值型。返回某一会计科目某会计期间内某方向的发生额。
如果该会计科目带辅助核算账类,那么返回编码所对应的辅助项的发生额。
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
发生额函数的〈方向〉不能缺省。
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确结转。 五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为带辅助核算的非末级科目,如未输入任何辅助核算条件,则返回其所有与设置科目辅助核算完全一致的
下级科目的发生额之和;如输入辅助核算条件,则按条件返回所有符合条件的下级科目的发生额之和。若其下级
科目的发生额方向与公式中定义的方向不一致,则只返回发生额方向与公式定义方向一致的发生额之和。
〖范例〗
下表为某企业 1998 年 12 月份 001 套账发生额及余额表的一部分。
例如:
FS("109",全年, "借","001",1998)
返回 001 套账"109"科目 1998 年全年借方发生额 5000。
FS("109",月, "借","001",1998)
若当前表页关键字值为:年=1998,月=12,缺省账套号为"001",则返回 001 套账"109"科目 1998
年 12 月借方发生额 1000。
FS("109",全年,"借")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"109"科目 1998 年全年借
方发生额 5000。
FS("20301",月, "贷","001")
若当前表页关键字值为:年=1998,月=12,则返回 001 套账"20301"科目 1998 年 12 月贷方发生
额 1400。
FS("20301",全年, "贷","001",1998,"部门一")
返回 001 套账"20301"科目 1998 年部门一全年的贷方发生额 2000。
FS("20301",12, "贷", , , "部门一")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"20301"科目 1998 年 12 月
份部门一的贷方发生额 900。
附 3.3.1.4 LFS、sLFS、wLFS/累计发生额函数
〖函数格式〗
〈累计发生额函数〉∷=〈累计发生额函数名〉(〈科目编码〉,〈会计期间〉,〈方向〉,[〈账
套号〉],[〈会计年度〉],[〈编码 1〉],[〈编码 2〉] ,[<是否包含未记账>])
161
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"累计发生"或"LFS" ;
数量式:函数名为"数量累计发生"或"sLFS";
外币式:函数名为"外币累计发生"或"wLFS"。
〖参数说明〗
参见总账期初函数部分
〖返回值〗
数值型,返回某一科目从年初到某一会计期间某方向发生额的累计数。
如果该会计科目带辅助核算账类,那么返回编码所对应的辅助项的累计发生额。
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
累计发生额函数的〈方向〉不能缺省。
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确结转。 五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为带辅助核算的非末级科目,如未输入任何辅助核算条件,则返回其所有与设置科目辅助核算完全一致的
下级科目的发生额之和;如输入辅助核算条件,则按条件返回所有符合条件的下级科目的发生额之和(两个辅助
核算时,如只输入一个辅助核算条件,则取下级科目中含有输入辅助核算且符合条件的)。若其下级科目的累计
发生额方向与公式中定义的方向不一致,则只返回累计发生额方向与公式定义方向一致的累计发生额。
〖范例〗
下表为某企业 1998 年 2 月份 001 套账发生额及余额表的一部分。
例如:
LFS("109",2, "借","001",1998)
返回 001 套账"109"科目 1998 年从年初到 2 月份的借方累计发生额 5000。
LFS("109",月, "借","001",1998)
若当前表页关键字值为:月=2,则返回 001 套账"109"科目 1998 年从年初到 2 月的累计借方发生
额 5000。
FS("109", , "借","001",1998)则表示 001 套账"109"科目 1998 年全年的借方发生额 10000。
LFS("109",全年,"借")
若当前表页关键字值为:年=1998,缺省账套号为"001",则返回 001 套账"109"科目 1998 年全年
的借方累计发生额 10000。
LFS("20301",月, "贷","001")
若当前表页关键字值为:年=1998,月=2,则返回 001 套账"20301"科目 1998 年从年初到 2 月的
贷方累计发生额 3500。
LFS("20301",全年, "贷","001",1998,"部门一")
162
返回 001 套账"20301"科目 1998 年部门一全年的贷方累计发生额 5000。
LFS("20301",月, "贷","001",1998,"部门一")
若当前表页关键字值为:月=2,返回 001 套账"20301"科目 1998 年部门一全年的贷方发生额 2000。
LFS("20301",2, "贷", , , "部门一")
若当前表页关键字值为:年=1998,返回 001 套账"20301"科目 1998 年从年初到 2 月份部门一的
累计贷方发生额 2000。
附 3.3.1.5 TFS、sTFS、wTFS/条件发生额函数
〖函数格式〗
〈条件发生额函数〉∷=〈条件发生额函数名〉([〈科目编码〉],〈期间〉,〈方向〉,[〈摘
要〉],[〈摘要匹配方式〉],[〈账套号〉],[〈会计年度〉],[〈编码 1〉],[〈编码 2〉],[〈核
算类别〉],[〈项目大类名称〉], [〈业务员姓名〉],[〈自定义项名称 1〉], [〈自定义项内容 1〉],
[〈自定义项名称 2〉], [〈自定义项内容 2〉], [〈自定义项名称 3〉], [〈自定义项内容 3〉] ,[<
是否包含未记账>])
〈条件发生额函数名〉∷=条件发生|TFS|数量条件发生|sTFS|外币条件发生|wTFS
〈科目编码〉∷=〈字符串〉
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈方向〉∷=〈字符串〉
〈摘要〉∷=〈字符串〉
〈摘要匹配方式〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
〈核算类别〉∷=〈字符串〉
〈项目大类名称〉∷=〈字符串〉
〈业务员姓名〉∷=〈字符串〉
〈自定义项名称〉∷=〈字符串〉
〈自定义项内容〉∷=〈字符串〉
<是否包含未记账>::=<字符串>
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"条件发生"或"TFS" ;
数量式:函数名为"数量条件发生"或"sTFS";
外币式:函数名为"外币条件发生"或"wTFS"。
〖参数说明〗
科目缺省即求辅助项的发生额合计,此时〈核算类别〉参数不能缺省。
合法的〈方向〉为"借"、"贷"、"j"、"d"。
〈摘要匹配方式〉,模糊匹配用"=",精确匹配用"==",见范例。
〈编码 1〉与〈编码 2〉与科目编码的核算账类有关,见"总账__附录一"。
〈核算类别〉只在〈科目编码〉缺省时有意义,见"总账__附录二。
〈项目大类名称〉只在〈科目编码〉缺省且〈核算类别〉含"项目"时有意义。
有关账套号、年度及关键字等详见"约定"。
<是否包含未记账凭证>的合法的值为"是"、"否"、"Y"、"N"、"y"、"n"
〖返回值〗
数值型,返回指定科目某会计期间某方向符合某条件的发生额合计数。
如果该会计科目带辅助核算账类,那么返回编码所对应的辅助项的累计发生额。
163
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
条件发生额函数的〈方向〉不能缺省。
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确结转。 五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为带辅助核算的非末级科目,如未输入任何辅助核算条件,则返回其所有与设置科目辅助核算完全一致的
下级科目的发生额之和;如输入辅助核算条件,则按条件返回所有符合条件的下级科目的发生额之和(两个辅助
核算时,如只输入一个辅助核算条件,则取下级科目中含有输入辅助核算且符合条件的)。若其下级科目的发生
额方向与公式中定义的方向不一致,则只返回发生额方向与公式定义方向一致的发生额之和。
〖范例〗
下表为某企业 1998 年 2 月份 001 套账 52101 科目明细账的一部分。
例如:
TFS("52101",2, "借", , , "001",1998)
返回 001 套账"52101"科目 1998 年 2 月份的借方发生额 5000。
TFS("52101",2,"借","部门一报订阅资料","==","001",1998)
返回 001 套账"52101"科目 1998 年 2 月份的发生业务中,摘要等于"部门一报订阅资料"的借方发
生额合计 500。
TFS("52101",月,"借","领办公用品","=")
若当前表页关键字值为:年=1998,月=2,缺省账套号为"001",则返回 001 套账"52101"科目 1998
年 2 月的发生业务中,摘要中包含有"领办公用品"的借方发生额合计 1500。
TFS("52101","2/13/1998,2/15/1998","借","领办公用品","=","001",1998,"部门一",," b")
返回 001 套账"52101"科目下部门一 1998 年 2 月的发生业务中,摘要中包含有"领办公用品",且
发生日期在"2/13/1998"之后"2/15/1998"之前的借方发生额合计 500。
TFS(,"2/13/1998,2/15/1998" ,"借","领办公用品", "=","001",1998,"部门一",," b")
假设其他科目并没有发生部门一的业务,则返回 001 套账部门一 1998 年 2 月的发生业务中,摘
要中包含有"领办公用品",且发生日期在"2/13/1998"之后"2/15/1998"之前的借方发生额合计 500。
附 3.3.1.6 DFS、sDFS、wDFS/对方科目发生额函数
〖函数格式〗
〈对方科目发生额函数〉∷=〈对方科目发生额函数名〉(〈科目编码〉,〈对方科目编码〉,
〈会计期间〉,〈方向〉,[〈摘要〉],[〈摘要匹配方式〉],[〈账套号〉],[〈会计年度〉],[〈编
码 1〉],[〈编码 2〉] ,[<是否包含未记账>])
〈对方科目发生额函数名〉∷=对方科目发生|DFS|数量对方科目发生|sDFS|外币对方科目发生
|wDFS
〈科目编码〉∷=〈字符串〉
〈对方科目编码〉∷=〈字符串〉
〈会计期间〉∷=〈整数〉|全年|季|月
〈方向〉∷=〈字符串〉
〈摘要〉∷=〈字符串〉
164
〈摘要匹配方式〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
<是否包含未记账>::=<字符串>
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"对方科目发生"或"DFS" ;
数量式:函数名为"数量对方科目发生"或"sDFS";
外币式:函数名为"外币对方科目发生"或"wDFS"。
〖参数说明〗
合法的〈方向〉为"借"、"贷"、"j"、"d"。
〈摘要匹配方式〉,模糊匹配用"=",精确匹配用"==",见范例。
〈编码 1〉与〈编码 2〉与科目编码的核算账类有关,见"总账__附录一"。
有关账套号、年度及关键字等详见"约定"。
<是否包含未记账凭证>的合法的值为"是"、"否"、"Y"、"N"、"y"、"n"
〖返回值〗
数值型,返回指定科目某会计期间某方向符合条件且对方科目为指定对方科目的业务的发生额合
计数。
如果该会计科目带辅助核算账类,那么返回编码所对应的辅助项的累计发生额。
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
对方科目发生额函数的〈方向〉不能缺省。
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确取数。 五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为带辅助核算的非末级科目,如未输入任何辅助核算条件,则返回其所有与设置科目辅助核算完全一致的下
级科目的发生额之和;如输入辅助核算条件,则按条件返回所有符合条件的下级科目的发生额之和(两个辅助核
算时,如只输入一个辅助核算条件,则取下级科目中含有输入辅助核算且符合条件的)。若其下级科目的发生额
方向与公式中定义的方向不一致,则只返回发生额方向与公式定义方向一致的发生额之和。
〖范例〗
下表为某企业 1998 年 2 月份 001 套账 52101 科目明细账的一部分。
例如:
DFS("52101","101" ,2, "借", , , "001",1998)
返回 001 套账"52101"科目 1998 年 2 月份且其对方科目为"101"的业务,其借方发生额合计为 3500。
DFS("52101",2,"101","借","部门一报订阅资料","==","001",1998)
165
返回 001 套账"52101"科目 1998 年 2 月份的发生业务中,摘要等于"部门一报订阅资料"且其对方
科目为"101"的业务,其借方发生额合计为 500。
DFS("52101",月,"157","借","领办公用品","=")
若当前表页关键字值为:年=1998,月=2,缺省账套号为"001",则返回 001 套账"52101"科目 1998
年 2 月的发生业务中,摘要中包含有"领办公用品" 且其对方科目为"157"的业务,其借方发生额
合计为 1500。
DFS("52101",月,"321","贷","结转","=")
若当前表页关键字值为:年=1998,月=2,缺省账套号为"001",则返回 001 套账"52101"科目下
1998 年 2 月的发生业务中,摘要中包含有"结转"且对方科目为"321"的业务,
其贷发生额合计 5000。
附 3.3.1.7 JE、sJE、wJE/净额函数
〖函数格式〗
〈净额函数〉∷=〈净额函数名〉(〈科目编码〉,〈会计期间〉,[〈账套号〉],[〈会计年度〉],
[〈编码 1〉],[〈编码 2〉] ,[<是否包含未记账>],[<自定义项 1>],[<自定义项 2>],[<自定义
项 3>],[<自定义项 4>],[<自定义项 5>],[<自定义项 6>],[<自定义项 7>],[<自定义项 8>],[<
自定义项 9>],[<自定义项 10>],[<自定义项 11>],[<自定义项 12>],[<自定义项 13>],[<自定
义项 14>],[<自定义项 15>],[<自定义项 16>])
〖格式说明〗
函数按以下三种方式分为:
金额式:函数名为"净额"或"JE" ;
数量式:函数名为"数量净额"或"sJE";
外币式:函数名为"外币净额"或"wJE"。
〖参数说明〗
参见总账期初函数部分
〖返回值〗
数值型。返回某一会计科目在某一会计期内的发生净额,等于该科目借贷方发生差额。
如果该会计科目带核算账类,那么返回相应于其对应编码的净额。
注意
如果您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必须正确,否则系统将无法正确结转。 五种
辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101 为某部门项目科目,则您可以输
入 QC("52101",月,"部门一","项目一"),而不可以输入 QC("52101",月,"项目一","部门一")。
若科目为借方科目(即占用类科目),则返回的净额为借方发生额-贷方发生额;若科目为贷方科目(即来源类科
目),则返回的净额为贷方发生额-借方发生额。
〖范例〗
下表为某企业 1998 年 12 月份 001 套账发生额及余额表的一部分。
例如:
JE("109",全年,"001",1998)
返回 001 套账"109"科目 1998 年全年净发生额 2000。
JE("109",月,"001",1998)
166
若当前表页关键字值为:年=1998,月=12,缺省账套号为"001",则返回 001 套账"109"科目 1998
年 12 月份净发生额 1000。
JE("109",全年)
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"109"科目 1998 年全年净
发生额 2000。
FS("20301",月,"001")
若当前表页关键字值为:年=1998,月=12,则返回 001 套账"20301"科目 1998 年 12 月净发生额
1000。
FS("20301",全年, "001",1998,"部门一")
返回 001 套账"20301"科目 1998 年部门一全年的净发生额 500。
FS("20301",12, , , "部门一")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"20301"科目 1998 年 12 月
份部门一的净发生额 900。
附 3.3.1.8 HL/汇率函数
〖函数格式〗
〈汇率函数〉∷=汇率|HL(〈币种〉,〈期间〉|〈日期字符串〉,[〈汇率类型〉],[〈账套号〉],
[〈会计年度〉])
〈币种〉∷=〈字符串〉
〈期间〉∷=〈整数〉
〈汇率类型〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈汇率类型〉可以是:"浮动"、"fd"、"固定"、"gd"、"调整"、"tz"。缺省为"浮动"。若是"浮动",
则〈期间〉必须为〈日期字符串〉,并且必须省略","和截止日期。
有关账套号、年度及关键字等详见"约定"。
〈币种〉可以是币名或币符,以币名优先,参见"约定"。
〖返回值〗
数值型。返回某日某币种汇率。
注意
若是"浮动",则必须使用日期字符串指定具体某一天,此时的日期字符串必须是指某一日,即起止时间一致。
〖范例〗
下面为某企业 1998 年的美圆汇率一览表:
下为美圆固定汇率表的一部分: 下为 5 月份美圆浮动汇率表的一部分:
例如:
HL("美圆", "5/29/1998", "fd", "001",1998)
返回 001 套账 1998 年 5 月 29 日美圆币当日浮动汇率 8.189。
167
附 3.3.1.9 XJLL/现金流量函数
〖函数格式〗
<现金流量函数>::=<现金流量项目金额函数名>([<起始日期>],[<截止日期>],<项目编码>,
<方向>,[<账套号>],[<会计年度>],[<是否包含未记账>],[<会计期间>])
〈起始日期〉∷=〈日期〉
〈结束日期〉∷=〈日期〉
〈编码〉∷=〈字符串〉
〈方向〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
[<是否包含未记账>]::=<字符串>
<会计期间> ::= <整数>|全年|季|月
〖参数说明〗
<期间>:<日期字符串>格式形如"月/日/年,月/日/年", 例如"5/1/1998,7/15/1998",","前面为起始
日期,","后面为截止日期,如果起始日期等于截止日期,那么","及其后截止日期可以省略。<会
计期间>选定后则不能选择<开始日期>、<截止日期>,<开始日期>、<截止日期>选定后则不能选
择<会计期间>)
合法的〈方向〉为"借"、"贷"、"j"、"d"、可以为""。
〈项目编码〉为现金流量项目编码,见"总账__附录一"。
有关账套号、年度及关键字等详见"约定"。
<是否包含未记账凭证>的合法的值为"是"、"否"、"Y"、"N"、"y"、"n",缺省时由用户在应用环
境中设置的值决定)
<会计期间> :整数 1-12 为各月份,21-24 为各季度,30 为全年;季与月由用户在应用环境中设
置的时间决定)
〖返回值〗
数值型。返回某一时间段内某一现金流量项目的发生额合计数。
注意
由于使用借贷记账法,〈方向〉为"借"或"贷"。
现金流量函数的〈方向〉不能缺省。
〖范例〗
下表为某企业 2001 年 1 月份 001 套账总账的一部分。
项目编号
现金流量项目名称
01
销售商品、提供劳务收到的现金
02
收到的税费返还
03
收到的其他与经营活动有关的现金
04
购买商品、接受劳务支付的现金
05
支付给职工以及为职工支付的现金
06
支付的各项税费
07
支付的其他与经营活动有关的现金
08
收回投资所收到的现金
借方发生额
250000.00
2600
90000.00
贷方发生额
120000.00
1500.00
68000.00
8500.00
2000.00
例如:
XJLL(,,"借","01","001",2001,,月)
返回 001 套账 01“销售商品、提供劳务收到的现金”项目 2001 年 1 月借方发生额为 250000.00。
XJLL(,,""贷,"01",,,,月)
若当前表页关键字值为:年=2001,月=1,缺省账套号为“001”, 返回 001 套账“01”项目 2001
年贷方发生额为 120000.00。
XJLL("2001-01-01","2001-01-31","借","02",,,,)
168
若当前表页缺省账套号为“001”,返回 001 返回 001 套账“02”项目 2001 年 1 月 1 日至 1 月 31
日这一期间借方发生额为 2600.00。
总账__附录一
科目核算账类
无辅助核算
有辅助核算
个人往来
客户项目
供应商项目
部门项目
客户部门
供应商部门
客户往来
供应商往来
部门核算
项目核算
个人往来
〈编码 1〉
-----""/缺省
""/缺省
〈编码 2〉
----------职员编码
部门编码
部门编码
""/缺省
客户编码
客户编码
""/缺省
供应商编码
供应商编码
""/缺省
部门编码
部门编码
""/缺省
客户编码
客户编码
""/缺省
供应商编码
供应商编码
客户编码
供应商编码
部门编码
项目编码
部门编码
职员编码
""/缺省
项目编码
""/缺省
项目编码
项目编码
""/缺省
项目编码
项目编码
""/缺省
项目编码
部门编码
""/缺省
部门编码
部门编码
""/缺省
部门编码
--------------------职员编码
所求内容
求科目下的辅助项总数
指定职员(从职员属性求部门编
码)
指定部门及职员
求部门下所有职员
求项目下所有客户
求客户下所有项目
指定客户及项目
求项目下所有供应商
求供应商下所有项目
指定供应商及项目
求项目下所有部门
求部门下所有项目
指定部门及项目
求部门下所有客户
求客户下所有部门
指定客户及部门
求部门下所有供应商
求供应商下所有部门
指定供应商及部门
指定客户
指定供应商
指定部门
指定项目
指定部门及职员
总账__附录二
〈核算类别〉:
"个人往来"/"r"
"客户往来"/"k"
"供应商往来"/"g"
"部门核算"/"b"
"客户部门"/"kb"
"供应商部门"/"gb"
"项目核算"/"x"
"客户项目"/"kx"
"供应商项目"/"gx"
"部门项目"/"bx"
附3.3.2
成本函数
附 3.3.2.1 CPSJDWCB——产品实际单位成本函数
〖函数格式〗
169
<产品实际单位成本函数>::=产品实际单位成本|cpsjdwcb(<产品编码>,[<批号>],<期间>,
[<账套号>],[<会计年度>])
<产品编码>::=<字符串>
<批号>::=<字符串>
<期间>::=<整数>|月
<账套号>::=<字符串>
<年度>::=<整数>|年
〖参数说明〗
产品编码为必填参数。
批号:可选参数,缺省为无批号。
期间:整数 1-12 为各月份。
账套号:整数,缺省时默认账套初始内的账套号。
年度:整数,范围1980~2099。为空默认账套初始设置的会计年度。
〖返回值〗
数值型。
〖范例〗
例如:CPSJDWCB("001",,4,"001",1999)=400
返回值:1999 年 001 账套第四个会计期间 001 产品的实际单位成本。
附 3.3.2.2 CPJHDWCB——产品计划单位成本函数
〖函数格式〗
<产品计划单位成本函数>::=产品计划单位成本| cpjhdwcb(<产品编码>,[<账套号>],[<会计
年度>])
<产品编码>::=<字符串>
<账套号>::=<字符串>
<年度>::=<整数>|年
〖参数说明〗
账套号:为空时由外部设置的账套号决定。
年度:年度范围为 1980~2099。缺省为账套初始设置的会计年度。
〖返回值〗
数值型。
〖范例〗
例如:CPJHDWCB("001","001",1999)=450
回 001 产品的计划单位成本 450。
附 3.3.2.3 CPSL——产品数量函数
〖函数格式〗
<产品数量函数>::=产品数量|cpsl(<产品编码>,[<批号>],<起始期间>,[<结束期间>],<类
型>,[<账套号>],[<会计年度>])
<产品编码>::=<字符串>
<批号>::=<字符串>
<起始期间>::=<整数>|月
<结束期间>::=<整数>|月
<类型>::=<整数>
<账套号>::=<字符串>
<年度>::=<整数>|年
〖参数说明〗
<批号>::=<字符串>,省缺为无批号。
170
<起始期间>::=<整数>|月,整数 1-12 为各月份;月由外部设置的时间决定。
<结束期间>::=<整数>|月,整数 1-12 为各月份;月由外部设置的时间决定;为空时等于"起始
期间" ;"结束期间"应大于或等于"起始期间"
<类型>::=<整数>。整数 1-5 为各数量类型代号,会计含义如下:
1、产品期初数量;
2、产品完工数量;
3、产品期末在产数量;
4、产品入库数量;
5、产品废品数量;
〖返回值〗
数值型
〖范例〗
例如:cpsl("001",,4,,2,"001",1999)=20
返回 001 产品第四期间的完工产品数量。
cpsl("001",,4,,3,"001",1999)
返回 001 产品第四期间的在产品数量。
附 3.3.2.4 CPZCB——产品总成本函数
〖函数格式〗
<产品总成本函数>::=产品总成本|cpzcb(<产品编码>,[<批号>],<起始期间>,[<结束期间>],
<类型>,[<账套号>],[<会计年度>])
<产品编码>::=<字符串>
<批号>::=<字符串>
<起始期间>::=<整数>|月
<结束期间>::=<整数>|月
<类型>::=<整数>
<账套号>::=<字符串>
<年度>::=<整数>|年
〖参数说明〗
批号缺省为无批号。
<起始期间>::=<整数>|月 1-12 表示各月份;月由外部设置的时间决定。
<结束期间>::=<整数>|月 整数 1-12 表示各月份;月由外部设置的时间决定;省缺时等于"起
始期间" ;"结束期间"应大于或等于"起始期间"。
<类型>::=<整数> 1~5各项说明同前产品数量函数说明。
〖返回值〗
数值型
〖范例〗
例如:
cpzcb("001","002",4,,1,"001",1999)=4010
返回 002 批 001 产品第四会计期间的期初在产品的总成本为 4010。
cpzcb("001",,4,,2,"001",1999)=49000
返回 002 批 001 产品第四会计期间的完工产品的总成本为 49000。
cpzcb("001",,4,,3,"001",1999)=3340
返回 002 批 001 产品第四会计期间的期未在产品的总成本为 3340。
附 3.3.2.5 FYMXDWCB——费用明细单位成本函数
〖函数格式〗
171
<费用明细单位成本函数>::=费用明细单位成本|fymxdwcb(<产品编码>,[<批号>],<期间>, <
费用明细类型>,[<费用明细编码>], [<账套号>],[<会计年度>])
<产品编码>::=<字符串>
<批号>::=<字符串> 注:缺省为无批号
<期间>::=<整数>|月 注:整数 1-12 为各月份;月由外部设置的时间决定)
<费用明细类型>::=<整数>
<费用明细编码>::=<字符串>
<账套号>::=<字符串>
<年度>::=<整数>|年
〖参数说明〗
<费用明细类型>::=<整数> ,整数 1-5 为各费用明细类型代号,会计含义如下:
1、材料费用;
2、人工费用;
3、制造费用;
4、辅助费用;
5、其他费用;
<费用明细编码>::=<字符串>注释:省缺时取当前"费用明细类型"的汇总单位成本,只有材料
费用项才有费用明细编码。
〖返回值〗
数值型。
〖范例〗
例如:
fymxdwcb("001",,4,1,,"001",1999)=100
返回值 001 产品单位材料费用成本 100。
fymxdwcb("001",,4,4,,"001",1999)
返回 001 产品单位辅助费用成本。
附 3.3.2.6 FYMXZHL——费用明细总耗量函数
〖函数格式〗
<费用明细总耗量函数>::=费用明细总耗量|fymxzhl (<产品编码>,[<批号>],<起始期间>,[<
结束期间>],<费用明细类型>,<费用明细编码>,<类型>,[<账套号>],[<会计年度>])
<产品编码>::=<字符串>
<批号>::=<字符串>
<起始期间>::=<整数>|月
<结束期间>::=<整数>|月
<费用明细类型>::=<整数> (注释:整数 1、4 为各费用明细类型代号,会计含义如下:
1——材料费用;
4——辅助费用;)
<费用明细编码>::=<字符串>
<类型>::=<整数> (注释:整数 1-3 为各类型代号,会计含义如下:
1——期初余额;
2——本期完工;
3——期末在产;)
<账套号>::=<字符串> (注释:省缺时由外部设置的账套号决定)
<年度>::=<整数>|年 (注释:整数 1980-2099,缺省及年由外部设置的时间决定)
〖参数说明〗
1、<费用明细类型>::=<整数> ; 整数 1、4 为各费用明细类型代号,会计含义如下:
1——材料费用;
172
4——辅助费用;
2、<费用明细编码>::=<字符串>
3、<类型>::=<整数> ;整数 1-3 为各类型代号,含义如下:
1——期初余额;
2——本期完工;
3——期末在产;
〖返回值〗
数值型。
〖范例〗
例如:
1、ymxzhl("001","002",4,,1,"005",1,"001",1999)=5
返回第 002 批 001 产品 005 号材料期初总耗量 5。
2、fymxzhl("001",,4,,4,"4",2,"001",1999)
返回 001 产品本期供电总耗量。
附 3.3.2.7 FYMXZCB——费用明细总成本函数
〖函数格式〗
<费用明细总成本函数>::=费用明细总成本|fymxzcb(<产品编码>,[<批号>],<起始期间>,[<
结束期间>],<费用明细类型>,[<费用明细编码>],<类型>, [<账套号>],[<会计年度>])
<产品编码>::=<字符串>
<批号>::=<字符串>
<起始期间>::=<整数>|月
<结束期间>::=<整数>|月
<费用明细类型>::=<整数> (注释:整数 1-5 为各费用明细类型代号,会计含义如下:
1——材料费用;
2——人工费用;
3——制造费用;
4——辅助费用;
5——其他费用;
<费用明细编码>::=<字符串> (注释:省缺时取当前"费用明细类型"的总成本)
<类型>::=<整数> (注释:整数 1-3 为各类型代号,会计含义如下:
1——期初余额;
2——本期完工;
3——期末在产;)
<账套号>::=<字符串>
<年度>::=<整数>|年
〖参数说明〗
<费用明细类型>::=<整数> 整数 1-5 为各费用明细类型代号,会计含义如下:
1——材料费用;
2——人工费用;
3——制造费用;
4——辅助费用;
5——其他费用;)
<费用明细编码>::=<字符串> 省缺时取当前"费用明细类型"的总成本
<类型>::=<整数>;整数 1-3 为各类型代号,会计含义如下:
1——期初余额;
2——本期完工;
3——期末在产;
173
〖返回值〗
数值型。
〖范例〗
例如:
fymxzcb("101",4,,1,,1,"001",1999)
返回 101 产品材料费用期初总成本。
fymxzcb("102",4,,2,,1,"001",1999)
返回 102 产品人工费用期初总成本。
fymxzcb("101",4,,2,,2,"001",1999)。
返回 101 产品人工费用本期费用总成本。
附 3.3.2.8 BMFYMXZCB——部门费用明细总成本函数
〖函数格式〗
<部门费用明细总成本函数>::=部门费用明细总成本|bmfymxzcb(<部门编码>, <起始期间>,
[<结束期间>],<费用明细类型>,[<费用明细编码>],<类型>, [<账套号>],[<会计年度>])
〖参数说明〗
<部门编码>::=<字符串>
<起始期间>::=<整数>|月 整数 1-12 为各月份;月由报表系统当页关键字月设置的时间决定
<结束期间>::=<整数>|月 整数 1-12 为各月份;月由报表系统当页关键字月设置的时间决定;
缺省时等于"起始期间" "结束期间"应大于或等于"起始期间"]
<费用明细类型>::=<整数> 整数 1-5 为各费用明细类型代码,其含义如下:
1——材料费用;
2——人工费用;
3——制造费用;
4——辅助费用;
5——其他费用;
<费用明细编码>::=<字符串> 缺省时取当前"费用明细类型"的总成本
<类型>::=<整数> 整数 1-3 为各类型代码,其含义如下:
1——期初余额;
2——本期完工;
3——期末在产;
〖返回值〗
数值型。
〖范例〗
例如:
bmfymxzcb("101",4,,3,,2,"001",1999)
返回 101 部门制造费用本期总成本。
bmfymxzcb("101",4,,5,,3,"001",1999)。
返回 101 部门其他费用期未总成本。
附 3.3.2.9 FYMXDE——费用明细定额函数
〖函数格式〗
<费用明细定额函数>::=费用明细定额|fymxde(<产品编码>, <费用明细类型>,[<费用明细
编码>],[<账套号>],[<会计年度>])
〖参数说明〗
<产品编码>::=<字符串>
<费用明细类型>::=<整数> 整数 1、2 为各费用明细类型代号,会计含义如下:
1——材料费用;
174
2——人工费用;
<费用明细编码>::=<字符串>
当<费用明细类型>为?1?时,此参数不能省略。
〖返回值〗
数值型。
〖范例〗
例如:
fymxde("001",1,"005","001",1999)
返回 001 产品 005 材料定额耗量。
附3.3.3
工资函数
附 3.3.3.1 BMGZ——部门工资函数
〖函数格式〗
〈部门工资函数〉∷=部门工资|BMGZ(〈工资类别〉,〈起始月份〉,〈截止月份〉,[〈部门
名称〉],[〈人员类别名称〉],[〈账套号〉],[〈会计年度〉],[〈工资项目名称〉])
〈工资类别〉∷=〈字符串〉
〈起始月份〉∷=〈整数〉|月
〈截止月份〉∷=〈整数〉|月
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈工资项目名称〉∷=〈字符串〉
〖参数说明〗
〈部门名称〉缺省为所有部门。
〈人员类别名称〉缺省为所有人员。
〈工资项目名称〉缺省为"实发合计"的编码。
有关账套号、会计年度及关键字等详见"约定"。
〖返回值〗
数值型。
注意
工资系统中的〈起始月份〉与〈截止月份〉采用会计时间。
当〈起始月份〉大于〈截止月份〉时,返回 0。
账套年度不存在时,返回计算错误。
无工资类别、人员类别名称、部门名称、无工资项目名称时,返回计算错误。
〖范例〗
175
例如:BMGZ("001",1,1,"人事科",,"001",1998)
则返回值为:2184.00
附 3.3.3.2 GRGZ——个人工资函数
〖函数格式〗
〈个人工资函数〉∷=个人工资|GRGZ(〈工资类别〉,〈起始月份〉,〈截止月份〉,〈人员
编号〉,〈人员姓名〉,[〈账套号〉],[〈会计年度〉],[〈工资项目名称〉])
〈工资类别〉∷=〈字符串〉
〈起始月份〉∷=〈整数〉|月
〈截止月份〉∷=〈整数〉|月
〈人员编号〉∷=〈字符串〉
〈人员姓名〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈工资项目名称〉∷=〈字符串〉
〖参数说明〗
〈工资项目名称〉缺省为"实发合计"的编码。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
注意
〈人员编号〉和〈人员姓名〉不能缺省。
工资系统中的〈起始月份〉与〈截止月份〉采用会计时间。
当〈起始月份〉大于〈截止月份〉时,返回 0。
账套年度不存在时,返回计算错误。
无工资类别、无工资项目名称时,返回计算错误。
无人员编号或人员姓名(无此人),返回 0。
〖范例〗
例如:GRGZ("001",1,1,"0000000006","李著","001",1998))
则返回值为:4163.00
附 3.3.3.3GZRS——工资人数函数
〖函数格式〗
〈工资人数函数〉∷=工资人数|GZRS(〈工资类别〉,〈期间〉,[〈部门名称〉],[〈人员类别
名称〉],[〈账套号〉],[〈会计年度〉])
〈工资类别〉∷=〈字符串〉
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
176
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈部门名称〉∷=〈字符串〉(注释:缺省为所有部门)
〈人员类别名称〉∷=〈字符串〉(注释:缺省为所有人员)
有关账套号、会计年度及关键字等详见"约定"。
〖返回值〗
数值型。
注意
账套年度不存在时,返回计算错误。
无人员类别名称、部门名称时,返回计算错误。
〖范例〗
工资人数("001","人事科","管理人员","001",1998)
返回值为:1
附 3.3.3.4 PJGZ——平均工资函数
〖函数格式〗
〈平均工资函数〉∷=平均工资|PJGZ(〈工资类别〉,[<开始期间],[<结束期间>],[〈部门名
称〉],[〈人员类别名称〉],[〈账套号〉],[〈会计年度〉], [〈工资项目名称〉])
〈工资类别〉∷=〈字符串〉
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈部门名称〉∷=〈字符串〉(注释:缺省为所有部门)
〈人员类别名称〉∷=〈字符串〉(注释:缺省为所有人员)
有关账套号、会计年度及关键字等详见"约定"。
工资项目名称为可选项。
〖返回值〗
数值型。
〖范例〗
例如:
PJGZ("002",2,2,,,"999","1998","应发合计")=2001
公式含义:取 999 账套,1998 年,2 月份 002 工资类别下应发合计的平均值。
附 3.3.3.5 ZDGZ——最低工资函数
〖函数格式〗
〈最低工资函数〉∷=最低工资|ZDGZ(〈工资类别〉,[<开始期间],[<结束期间>],[〈部门
名称〉],[〈人员类别名称〉],[〈账套号〉],[〈会计年度〉], [〈工资项目名称〉],[<返回值
序号>])
〈工资类别〉∷=〈字符串〉
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
〈返回值序号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
177
〖参数说明〗
〈部门名称〉∷=〈字符串〉(注释:缺省为所有部门)。
〈人员类别名称〉∷=〈字符串〉(注释:缺省为所有人员)
有关账套号、会计年度及关键字等详见"约定"。
工资项目名称为可选项,缺省时为“实发合计”。
返回类型:字符串 1-5,缺省为第 1 个值,各数字表示的含义如下:
1 最大工资数
2 部门名称
3 人员类别
4 人员编号
5 人员姓名
返回序号:字符串,如返回值为一组数时,可选择返回数组的第 N 个值。
〖返回值〗
分别可为:最大工资数、部门名称、人员类别名称、人员编号、人员姓名。
〖范例〗
例如:
ZDGZ("002",1,1,,,"999","1998","应发合计")=600
公式含义:返回 999 账套,002 号工资类别 1998 年 1 月,应发合计项目的最低值。
附 3.3.3.6 ZDGZSX——最低工资人员属性函数
〖函数格式〗
<最低工资人员属性函数>∷=最低工资人员属性|ZDGZSX(<工资类别>,<期间>,<期间>,[<部门名
称>],[<人员类别名称>],[<账套号>],[<会计年度>],[<工资项目名称>],[<返回值序号>],[<返回类型
>])
〈工资类别〉∷=〈字符串〉
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
〈返回类型〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈部门名称〉∷=〈字符串〉(注释:缺省为所有部门)。
〈人员类别名称〉∷=〈字符串〉(注释:缺省为所有人员)
有关账套号、会计年度及关键字等详见"约定"。
工资项目名称为可选项,缺省时为“实发合计”。
返回类型::字符串 1~4。各数字表示的含义如下:
部门名称 BM
人员类别 LB
人员编号 BH
人员姓名 XM
返回序号:字符串,如返回值为一组数时,可选择返回数组的第 N 个值。
〖返回值〗
分别可为:部门名称、人员类别名称、人员编号、人员姓名。
〖范例〗
例如:
ZDGZSX("002",1,1,,,"999","1998","应发合计",,"BM")=厂办
公式含义:返回 999 账套,002 号工资类别,1998 年 1 月,应发合计最低的部门为"人事科"。
178
附 3.3.3.7 ZGGZ——最高工资函数
〖函数格式〗
〈最高工资函数〉∷=最高工资|ZGGZ(〈工资类别〉,[<开始期间],[<结束期间>],[〈部门
名称〉],[〈人员类别名称〉],[〈账套号〉],[〈会计年度〉], [〈工资项目名称〉],[<返回值
序号>])
〈工资类别〉∷=〈字符串〉
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
〈返回值序号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈部门名称〉∷=〈字符串〉(注释:缺省为所有部门)
〈人员类别名称〉∷=〈字符串〉(注释:缺省为所有人员)
有关账套号、会计年度及关键字等详见"约定"。
工资项目名称为可选项,缺省时为“实发合计”。
返回类型:字符串 1-5,缺省为第 1 个值,各数字表示的含义如下:
1 最大工资数
2 部门名称
3 人员类别
4 人员编号
5 人员姓名
返回序号:字符串,如返回值为一组数时,可选择返回数组的第 N 个值。
〖返回值〗
分别可为:最大工资数、部门名称、人员类别名称、人员编号、人员姓名。
〖范例〗
例如:
ZGGZ("002",1,1,,,"999","1998","应发合计")=4000
公式含义:返回 999 账套,002 号工资类别 1998 年 1 月,应发合计项目的最高值。
附 3.3.3.8 ZGGZSX——最高工资人员属性函数
〖函数格式〗
<最高工资人员属性函数>∷=最高工资人员属性|ZGGZSX(<工资类别>,<期间>,<期间>,[<部门名
称>],[<人员类别名称>],[<账套号>],[<会计年度>],[<工资项目名称>],[<返回值序号>],[<返回类型
>])
〈工资类别〉∷=〈字符串〉
〈部门名称〉∷=〈字符串〉
〈人员类别名称〉∷=〈字符串〉
〈返回类型〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈部门名称〉∷=〈字符串〉(注释:缺省为所有部门)。
〈人员类别名称〉∷=〈字符串〉(注释:缺省为所有人员)
有关账套号、会计年度及关键字等详见"约定"。
工资项目名称为可选项,缺省时为‘实发合计’。
返回类型::字符串 1~4。各数字表示的含义如下:
1、 部门名称 BM
2、 人员类别 LB
3、 人员编号 BH
179
4、 人员姓名 XM
返回序号:字符串,如返回值为一组数时,可选择返回数组的第 N 个值。
〖返回值〗
分别可为:部门名称、人员类别名称、人员编号、人员姓名。
〖范例〗
例如:
ZGGZSX("002",1,1,,,"999","1998","应发合计",,"BM")=人事科
公式含义:返回 999 账套,002 号工资类别,1998 年 1 月,应发合计最高的部门为"人事科"。
附3.3.4
固定资产函数
附 3.3.4.1 ZZS——资产账套属性函数
〖函数格式〗
〈资产账套属性函数〉∷=资产账套属性|ZZS(〈属性名〉,〈会计期间〉,[〈账套号〉],[〈会
计年度〉])
〈属性名〉∷=〈字符串〉
〈会计月份〉∷=〈整数〉|月
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账的一些数据:
例如:
ZZS("QCYZ",1,"001",1998)
返回 001 套账 1998 年 1 月份的期初原值 260000
ZZS("QMYZ",1,"001",1998)
返回 001 套账 1998 年 1 月份的期末原值 265000
ZZS("LJZJ",1,"001",1998)
返回 001 套账 1998 年 1 月份的累计折旧 45000
ZZS("ZJE",1,"001",1998)
返回 001 套账 1998 年 1 月份的折旧 15700
附 3.3.4.2 ZKS——资产卡片属性函数
〖函数格式〗
〈资产卡片属性函数〉∷=资产卡片属性|ZKS(〈属性名〉,〈会计月份〉,[〈卡片号〉],[〈资
产号〉],[〈账套号〉],[〈会计年度〉])
〈属性名〉∷=〈字符串〉
〈会计月份〉∷=〈整数〉|月
〈资产号〉∷=〈字符串〉
180
〈卡片号〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
〈资产号〉和〈卡片号〉不能同时为""或缺省。如果同时输入,那么〈卡片号〉将被忽略。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
如果对不合适的〈? 性名〉使用""或缺省的〈卡片号〉或〈资产号〉,那么函数将返回""(字符
串型)或 0.0(数值型)。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账"00001"号卡片的一些数据:
例如:
ZKS("MC",1,"00001","","001",1998)
返回 1998 年 001 套账"00001"号卡片资产名称"电焊机"
ZKS("GDZCBH",1,"00001","","001",1998)
返回 1998 年 001 套账"00001"号卡片资产编号"A-0510"
ZKS("QMYZ",1,"00001","","001",1998)
返回 1998 年 001 套账"00001"号卡片期末原值 20000
附 3.3.4.3 ZLS——资产类别属性函数
〖函数格式〗
〈资产类别属性函数〉∷=资产类别属性|ZLS(〈属性名〉,〈会计月份〉,[〈类别号〉],[〈部
门号〉],[〈账套号〉],[〈会计年度〉])
〈属性名〉∷=〈字符串〉
〈会计月份〉∷=〈整数〉|月
〈类别号〉∷=〈字符串〉
〈部门号〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
〈类别号〉和〈部门号〉在求某些? 性时可以为""或缺省,表示求所有类别或所有部门的该属性
的合计值,参见"固定资产__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账的一些数据:
181
例如:
ZLS("QCYZ",1,"101","1","001",1998)
返回 001 套账 1998 年 1 月份类别号为"101",部门号为"1"的期初原值 10000
ZLS("QMYZ",1,"1","2","001",1998)
返回 001 套账 1998 年 1 月份类别号以"1"开头,部门号以"2"开头的期末原值 50000
ZLS("LJZJ",1,"1","","001",1998)
返回 001 套账 1998 年 1 月份类别号以"1"开头的累计折旧 15000
ZLS("ZJE",1,"","","001",1998)
返回 001 套账 1998 年 1 月份所有类别,所有部门的折旧额 15700
附 3.3.4.4 ZBS——资产部门属性函数
〖函数格式〗
〈资产部门属性函数〉∷=资产部门属性|ZBS(〈属性名〉,〈会计月份〉,[〈部门号〉],[〈类
别号〉],[〈账套号〉],[〈会计年度〉])
〈属性名〉∷=〈字符串〉
〈会计月份〉∷=〈整数〉|月
〈部门号〉∷=〈字符串〉
〈类别号〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
〈部门号〉和〈类别号〉在求某些? 性时可以为""或缺省,表示求所有部门或所有类别的该属性
的合计值,参见"固定资产__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账的一些数据:
例如:
ZBS("QCYZ",1,"1","101","001",1998)
返回 001 套账 1998 年 1 月份部门号为"1",类别号为"101"的期初原值 10000
ZBS("QMYZ",1,"2","1","001",1998)
返回 001 套账 1998 年 1 月份部门号以"2"开头,类别号以"1"开头的期末原值 50000
ZBS("LJZJ",1,"2","","001",1998)
返回 001 套账 1998 年 1 月份部门号以"2"开头累计折旧 40000
ZLS("ZJE",1,"","","001",1998)
返回 001 套账 1998 年 1 月份所有部门, 所有类别的折旧额 15700
182
附 3.3.4.5 ZSS——资产使用状况属性函数
〖函数格式〗
〈资产使用状况属性函数〉∷=资产使用状况属性|ZSS(〈属性名〉,〈会计月份〉,〈使用状
况号〉 ,[〈账套号〉],[〈会计年度〉])
〈属性名〉∷=〈字符串〉
〈会计月份〉∷=〈整数〉|月
〈使用状况号〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账的一些数据
例如:
ZSS("QCYZ",1,"1001","001",1998)
返回 001 套账 1998 年 1 月份在用资产的期初原值 10000
ZSS("QMYZ",1,"2","001",1998)
返回 001 套账 1998 年 1 月份使用状况以"2"开头资产的期末原值 50000
ZSS("LJZJ",1,"3","001",1998)
返回 001 套账 1998 年 1 月份不需用资产累计折旧 30000
附 3.3.4.6 ZHS——资产核算方式属性函数
〖函数格式〗
〈资产核算方式属性函数〉∷=资产核算方式属性|ZHS(〈属性名〉,〈会计月份〉,〈核算方
式号〉 ,[〈账套号〉],[〈会计年度〉])
〈属性名〉∷=〈字符串〉
〈会计月份〉∷=〈整数〉|月
〈核算方式号〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账的一些数据
183
例如:
ZHS("QCYZ",1,"101","001",1998)
返回 001 套账 1998 年 1 月份购建资产的期初原值 10000
ZSS("LJZJ",1,"206","001",1998)
返回 001 套账 1998 年 1 月份报废资产累计折旧 10000
附 3.3.4.7 ZHHS——资产混合属性函数
〖函数格式〗
<资产混合属性函数>::=资产混合属性|ZHHS(<属性名>,<会计期间>,[<类别号>],[<部门
号>],[<使用状况号>]
[<增加月份>],[<减少月份>],[<是否逾龄>],<账套号>],[<会计年度>])
<属性名>::=<字符串>
<会计期间>::=<整数>|月 (注释:整数 1-12 为各月份;月由外部设置的时间决定)
<类别号>::=<字符串> (注释:缺省为空字符串,代表全部类别)
<部门号>::=<字符串> (注释:缺省为空字符串,代表全部部门)
<使用状况号>::=<字符串> (注释:缺省为空字符串,代表全部使用状况)
<增加月份>::=<字符串> (注释:整数 1-12 为各月份;月由外部设置的时间决定。缺省为空
字符串,代表全部)
<减少月份>::=<字符串> (注释:整数 1-12 为各月份;月由外部设置的时间决定。缺省为空
字符串,代表全部)
<是否逾龄>::=<字符串> (注释:1:是;2:否;缺省为空字符串,代表全部)
<账套号>::=<字符串> (注释:省缺时由外部设置的账套号决定)
<会计年度>::=<整数>|年 (注释:整数 1980-2099,省缺及年由外部设置的时间决定)
〖参数说明〗
合法的〈属性名〉参见"固定资产__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
参见"固定资产__附录"。
固定资产__附录
〈属性名〉
"名称"/"mc"
" 使 用 单 位 名 称
"/"sydwmc"
"本位币"/"bwb"
"币种"/"bz"
"是否计提折旧"/"sfjtzj"
"计提属性"/"jtsx"
" 固 定 资 产 编 号
"/"gdzcbh"
"卡片编号"/"kpbh"
"规格型号"/"ggxh"
"汇率"/"hl"
"增加方式"/"zjfs"
返回值
String
String
所使用的函数名
ZZS,ZKS,ZLS,ZBS,ZSS,ZHS
ZZS
String
String
Double
②
Double
③
String
ZZS
ZKS
String
String
Double
String
ZKS
ZKS
ZKS
ZKS
①
ZZS
ZKS,ZLS
ZKS
184
"减少方式"/"jsfs"
"外币原值"/"wbyz"
"原值增加"/"yzzj"
"原值减少"/"yzjs"
"年初原值"/"ncyz"
"年初累计折旧"/"ncljzj"
"期末原值"/"qmyz"
"期初原值"/"qcyz"
"本年折旧"/"bnzj"
"累计折旧"/"ljzj"
"残值率"/"czl"
"残值"/"cz"
"使用状况"/"syzk"
"计提原值"/"jtyz"
"使用年限"/"synx"
"已计提月份"/"yjtyf"
"开始使用日期"/"kssyrq"
"录入日期"/"lrrq"
"经手人"/"jsr"
"注销日期"/"zxrq"
"注销人"/"zxr"
"工作量"/"gzl"
"工作量单位"/"gzldw"
"单位折旧"/"dwzj"
"继承值"/"jcz"
"折旧方法"/"zjff"
"折旧额"/"zje"
"折旧率"/"zjl"
"转入累计折旧"/"zrljzj"
"转出累计折旧"/"zcljzj"
"卡片数量"/"kpsl"
"计量单位"/"jldw"
String
Double
Double
Double
Double
Double
Double
Double
Double
Double
Double
Double
String
Double
Double
Double
String
String
String
String
String
Double
String
Double
Double
String
Double
Double
Double
Double
Double
Double
ZKS
ZKS
ZZS,ZKS,ZLS,ZBS,ZHS
ZZS,ZKS,ZLS,ZBS,ZHS
ZZS,ZKS,ZLS,ZBS
ZZS,ZKS,ZLS,ZBS
ZZS,ZKS,ZLS,ZBS,ZSS,ZHS,ZHHS
ZZS,ZKS,ZLS,ZBS,ZSS,ZHS
ZZS,ZKS,ZLS,ZBS
ZZS,ZKS,ZLS,ZBS,ZSS,ZHS,ZHHS
ZKS
ZKS,ZLS,ZBS
ZKS
ZZS,ZLS,ZBS
ZKS
ZKS
④
ZKS
ZKS
④
ZKS
ZKS
ZKS
ZKS
ZKS
ZKS
ZZS,ZKS,ZLS,ZBS,ZHHS
ZKS
ZZS,ZKS,ZLS,ZBS,ZHHS
ZZS,ZKS,ZLS,ZBS,ZHHS
ZZS,ZLS,ZBS
ZLS
√
√
√
√
√
√
√
√
√
ZKS
ZKS
√
√
√
√
注释:
①:ZLS、ZBS 的〈部门〉、〈类别号〉允许为""或缺省
②:0-不提,1-计提
③:0-总不提,1-总提,2-正常
④:形式为"yyyy-mm-dd"
附3.3.5
资金函数
附 3.3.5.1 DWJSH——单位积数
〖函数格式〗
〈单位积数〉∷=单位积数|DWJSH(〈单位编码〉,〈日期〉,[〈账套号〉],[〈会计年度〉])
〈单位编码〉∷=〈字符串〉
〈日期〉∷=〈日期〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
有关账套号、会计年度详见"约定"
185
〖返回值〗
数值型
注意
〈日期〉应为已记账日期
附 3.3.5.2 ZHJSH——账户积数
〖函数格式〗
〈账户积数〉∷=账户积数|ZHJSH(〈账户号〉,〈日期〉,[〈账套号〉],[〈会计年度〉])
〈账户号〉∷=〈字符串〉
〈日期〉∷=〈日期〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
有关账套号、会计年度详见"约定"
〖返回值〗
数值型
注意
〈日期〉应为已记账日期
附3.3.6
应收应付函数
附 3.3.6.1 YSK——应收款函数
〖函数格式〗
〈应收款函数〉∷=应收款|YSK([〈查询方式〉],[〈编码 1〉],[〈编码 2〉],[〈编码 3〉],[〈期
间〉],[〈币种〉],[〈账套号〉],[〈会计年度〉])
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈查询方式〉∷=〈字符串〉
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
〈编码 3〉∷=〈字符串〉
〖参数说明〗
〈币种〉缺省为所有币种。
合法的〈查询方式〉输入参见"应收应付__附录"。
〈编码 1〉、〈编码 2〉、〈编码 3〉与查询方式有关,参见"应收应付__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
186
YSK(, , , , "1/31/1998", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的所有客户的应收款余额总额为 200。
YSK("k", "C1", , , "1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的客户甲的应收款余额总额为 -50。
YSK("r", "b1", , , "1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的业务员 A 的应收款余额总额为 -50。
YSK( "b", "D1",, ,"1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一的应收款余额总额为 -50。
YSK("bk", "D1", "C1", ,"1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一、客户甲的应收款余额总额为 -50。
YSK( "c","P1", , , "1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的产品 P1 的应收款余额总额为 150。
YSK( "ck" , "P1","C1", ,"1/31/1998",,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的客户甲所欠产品 P1 的应收款余额总额为 0。
YSK( "rk", "B2", "C2", ,"1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的业务员 B、客户乙的应收款余额总额为 200。
YSK( "brk" , "D1", "B1", "C1","1/31/1998",,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一、客户甲,业务员 A 的应收款余额总额为 -50。
YSK( "br" ,"D1","B1", , "1/31/1998", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一、业务员 A 的应收款余额总额为 -50。
YSK( "brc", "D2","B2","P1","1/31/1998", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门二、业务员 B、产品 P1 的应收款余额总额为 150。
提示
该函数不包含未审核单据金额,正负单据金额进行累加。
附 3.3.6.2 YFK——应付款函数
〖函数格式〗
〈应付款函数〉∷=应付款|YFK([〈查询方式〉],[〈编码 1〉],[〈编码 2〉],[〈编码 3〉],[〈期
间〉],[〈币种〉],[〈账套号〉],[〈会计年度〉])
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〈查询方式〉∷=〈字符串〉
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
〈编码 3〉∷=〈字符串〉
187
〖参数说明〗
〈币种〉缺省为所有币种。
合法的〈查询方式〉输入参见"应收应付__附录"。
〈编码 1〉、〈编码 2〉、〈编码 3〉与查询方式有关,参见"应收应付__附录"。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
YFK(, , , , "1/31/1998", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的所有供应商的应付款余额总额为 200。
YFK("g", "V1", , , "1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的供应商甲的应付款余额总额为 -50。
YFK("r", "b1", , , "1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的业务员 A 的应收款余额总额为 -50。
YFK( "b", "D1",, ,"1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一的应付款余额总额为 -50。
YFK("bg", "D1", "v1", ,"1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一、供应商甲的应付款余额总额为 -50。
YFK( "c","P1", , , "1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的产品 P1 的应付款余额总额为 150。
YFK( "cg" , "P1","v1", ,"1/31/1998",,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的供应商甲所欠产品 P1 的应付款余额总额为 0。
YFK( "rg", "B2", "V2", ,"1/31/1998", , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的业务员 B、供应商乙的应付款余额总额为 200。
YFK( "brg" , "D1", "B1", "v1","1/31/1998",,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一、供应商甲,业务员 A 的应付款余额总额为 -50。
YFK( "br" ,"D1","B1", , "1/31/1998", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门一、业务员 A 的应付款余额总额为 -50。
YFK( "brc", "D2","B2","P1","1/31/1998", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的部门二、业务员 B、产品 P1 的应付款余额总额为 150。
提示
该函数不包含未审核单据金额,正负单据金额进行累加。
188
附 3.3.6.3 YSKK——预收客户款余额函数
〖函数格式〗
〈预收客户款余额函数〉∷=预收客户款|YSKK([〈客户编码〉],[〈币种〉],[〈账套号〉],[〈会
计年度〉])
〈客户编码〉∷=〈字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈币种〉缺省为所有币种。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
YSKK( , , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的所有客户的预收款余额总额为 50。
YSKK("C1", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的客户甲的预收款余额总额为 50。
附 3.3.6.4 KSK——客户收款函数
〖函数格式〗
〈客户收款函数〉∷=客户收款|KSK([〈客户编码〉],[〈期间〉],[〈币种〉],[〈账套号〉],
[〈会计年度〉])
〈客户编码〉∷=〈字符串〉
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈会计月份〉的缺省值为全年。
〈币种〉缺省为所有币种。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
189
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
KSK( , "1/1/1998,1/31/1998",,"001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的所有客户的收款总额为 600。
KSK("C1","1/1/1998,1/31/1998",,"001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的客户甲的收款总额为 300。
提示
该函数包含未核销单据金额,且正负单据金额进行累加。
该函数主要提供客户的真正收款信息,即不包括转账信息。
附 3.3.6.5 GFK——供应商付款函数
〖函数格式〗
〈供应商付款函数〉∷=供应商付款|GFK([〈供应商编码〉],[〈期间〉],[〈币种〉],[〈账套
号〉],[〈会计年度〉])
〈供应商编码〉∷=〈字符串〉
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈会计期间〉的缺省值为全年。
〈币种〉缺省为所有币种
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
190
GFK( , "1/1/1998,1/31/1998",,"001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的所有供应商的付款总额为 600。
GFK("V1","1/1/1998,1/31/1998",,"001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的供应商甲的付款总额为 300。
提示
该函数包含未核销单据金额,且正负单据金额进行累加。
该函数主要提供供应商的真正付款信息,即不包括转账信息。
附 3.3.6.5 YSJS——应收系统结算金额函数
〖函数格式〗
〈应收系统结算金额函数〉∷=应收结算|YSJS(〈查询方式〉,〈编码〉,[〈期间〉],[〈币种〉],
[〈账套号〉],[〈会计年度〉])
〈查询方式〉∷=〈字符串〉
〈编码〉∷=〈字符串〉
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈查询方式〉只允许使用"产品"、"c"、"部门"、"b"、"客户"、"k",参见"应收应付__附录"。
〈编码〉只允许使用与查询方式相对应的〈编码 1〉,参见"应收应付__附录"。
〈会计期间〉的缺省值为全年。
〈币种〉缺省为所有币种。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
191
YSJS(, , "1/31/1998,1/31/1998", ,"001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的结算金额为 600。
YSJS("k", "C1", "1/31/1998, 1/31/1998", , "001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的客户甲的结算金额为 300。
YSJS("r", "B1", "1/31/1998 , 1/31/1998", , "001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的业务员 A 的结算金额为 250。
YSJS( "b", "D1","1/31/1998 , 1/31/1998", , "001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的部门一的结算金额为 400。
提示
该函数不包含未核销单据金额,正负单据金额进行累加。
该函数主要提供客户的所有结算信息,即包括所有转账信息。
附 3.3.6.6 YFJS——{应付系统结算金额函数
〖函数说明〗
应收应付__应付系统结算金额函数。
8.0 以下版本:无。
〖函数格式〗
〈应付系统结算金额函数〉∷=应付结算|YFJS(〈查询方式〉,〈编码〉,[〈期间〉],[〈币种〉],
[〈账套号〉],[〈会计年度〉])
〈查询方式〉∷=〈字符串〉
〈编码〉∷=〈字符串〉
〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈查询方式〉只允许使用"产品"、"c"、"部门"、"b"、"客户"、"k",参见"应收应付__附录"。
〈编码〉只允许使用与查询方式相对应的〈编码 1〉,参见"应收应付__附录"。
〈会计期间〉的缺省值为全年。
〈币种〉缺省为所有币种。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
192
YFJS(, , "1/31/1998,1/31/1998", ,"001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的结算金额为 600。
YFJS("g", "V1", "1/31/1998, 1/31/1998", , "001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的客户甲的结算金额为 300。
YFJS("r", "B1", "1/31/1998 , 1/31/1998", , "001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的业务员 A 的结算金额为 250。
YFJS( "b", "D1","1/31/1998 , 1/31/1998", , "001","1998")
返回 001 账套 1998 年 1 月 1 日至 1998 年 1 月 31 日的部门一的结算金额为 400。
提示
该函数不包含未核销单据金额,正负单据金额进行累加。
该函数主要提供供应商的所有结算信息,即包括所有转账信息。
附 3.3..6.7 YFGK——预付供应商款余额函数
〖函数格式〗
〈预付供应商款余额函数〉∷=预付供应商款|YFGK([〈供应商编码〉],[〈币种〉],[〈账套号〉],
[〈会计年度〉])
〈供应商编码〉∷=〈字符串〉
〈币种〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
〈币种〉缺省为所有币种。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
〖范例〗
下表为某企业 1998 年 1 月 1 日至 1 月 31 日、001 账套的数据。
193
YFGK( , , "001","1998")
返回 001 账套截止 1998 年 1 月 31 日的所有供应商的预付款余额总额为 50。
YFGK("V1", ,"001","1998")
返回 001 账套截止 1998 年 1 月 31 日的供应商甲的预付款余额总额为 50。
应收应付__附录
附3.3.7
财务分析函数
附 3.3.7.1 YS——预算函数
〖函数格式〗
〈预算函数〉∷=预算|YS(〈预算类别〉,[〈编码 1〉],[〈编码 2〉],[〈科目编码〉],[〈会
计期间〉],[〈追加类别〉],[〈账套号〉],[〈会计年度〉])
〈预算类别〉∷=〈字符串〉
〈编码 1〉∷=〈字符串〉
〈编码 2〉∷=〈字符串〉
〈科目编码〉∷=〈字符串〉
〈会计期间〉∷=〈整数〉|季|月|全年
〈追加类别〉∷=〈字符串〉
〈账套号〉∷=〈字符串〉
〈会计年度〉∷=〈整数〉|年
〖参数说明〗
合法的〈预算类别〉输入见"财务分析__附录"。
〈编码 1〉、〈编码 2〉与预算类别有关,见"财务分析__附录"。
194
取部门或项目预算时:粗放预算时〈科目编码〉必须为空串或缺省,精细预算时〈科目编码〉
必须不为空串和不缺省。取科目预算时:〈科目编码〉必须不为空串和不缺省。
合法的〈追加类别〉输入为"原来"、"yl"、"追加"、"zj",缺省为合计。
有关账套号、年度及关键字等详见"约定"。
〖返回值〗
数值型。
注意
一个账套年,有且只有一种预算类型,精细或粗放,在财务分析中进行设定。由于一个项目名称可能对应多个项
目编码,因此当用户输入项目名称时,可能会有多个计划数,程序取数的内容将不定;因此,如果有一个项目名
称对应多个项目编码的情况,[编码 2]最好填写项目编码。
〖范例〗
例 1:
YS("b","01",,"101",21,"","999",1998)
返回:2000.30
说明:
此函数取 999 账套 1998 会计年,部门 01(01 为部门编码)的科目 101(101 为科目编码),在
第一会计季度的预算数为 2000.30 元。
注意
取部门预算数时,编码 2 没用;
精细预算时,科目编码必须填;
粗放预算时,科目编码没用;
会计期间为第一会计季度;
不填追加类别,为取当期的预算合计数。
例 2:
YS("项目","工程","201","",7,"原来","999",1998)
返回:3200.00
说明:
此函数取 999 账套 1998 会计年,工程项目,项目 201(项目编码为"201")在第七会计月的预算数为
3200.00 元。
注意
项目大类名称为"工程",项目编码为"201";
粗放预算时,科目编码没用;精细预算时,科目编码必须填;
会计期为第七会计月;
追加类别为"原来",为取原来的预算数。
例 3:
YS("km", , ,"101",7,"原来","999",1998)
回:1200.00
说明:
此函数取 999 账套 1998 会计年,科目 101(科目编码为"101")在第七会计月的预算数为 1200.00 元。
注意
科目编码为"101";
会计期为第七会计月;
追加类别为"原来",为取原来的预算数。
195
财务分析__附录
附3.3.8
采购管理函数
附 3.3.8.1 采购定单类函数
〖函数说明〗
采购管理__采购定单类函数,是根据采购订单统计某些条件下的采购订货情况。
〖函数格式〗
<定货数量>::=定货数量|DHSL(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码>,]*)
<定货金额>::=定货金额|DHJE(<期间>,[<账套号>],[<会计年度>],[<币种>],[<方式字>],[<
编码,]*)
<期间>::=<整数>|全年|季|月|旬|周|日|<日期字符串>
<账套号>::=<字符串>
<会计年度>::=<整数>|年
<方式字>;:=<字符串>
<编码>::=<字符串>
<币种>::=<字符串>
〖格式说明〗
采购定货类函数又分为两个:
定货数量:函数名为"定货数量"或"DHSL";
定货金额:函数名为"定货金额"或"DHJE";
〖参数说明〗
[<方式字>],[<编码>,] 详见"方式字"和"采购__附录一"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的采购定货数量或金额。
注意
"定货金额"函数的参数有"币种"参数,可以返回某外币业务的定货金额。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据:
例如:
定货数量(1,"001",1998,"grc","11001","1201","01011")
返回 001 套账 1998 年 1 月份供货单位="11001",业务员="1201",存货="01011"的定货数量 10。
DHJE("98-2-1,98-2-28",,,,"gc","11001","01011")
返回当前套账从 1998 年 2 月份供货单位="11001",存货="01011"的定货金额 40200。
196
附 3.3.8.2 采购入库类函数
〖函数说明〗
采购管理__采购入库类函数,是根据采购管理系统的采购入库单统计某些条件下货物入库数量和
金额情况。
〖函数格式〗
<采购入库函数>::=<采购入库函数名>(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码
>,]*)
<采购入库函数名>::=采购入库数量|CGRKSL|采购入库金额|CGRKJE
〖格式说明〗
采购入库类函数又分为两个:
采购入库数量:函数名为"采购入库数量"或"CGRKSL";
采购入库金额:函数名为"采购入库金额"或"CGRKJE";
〖参数说明〗
[<方式字>],[<编码>,] 详见"方式字"和"采购__附录一"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的采购入库数量和采购入库金
额。
注意
"采购入库金额"函数的参数没有"币种"参数。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据:
例如:
采购入库数量(1,"001",1998,"grc%","11001","1201","01")
返回 001 套账 1998 年 1 月份供货单位="11001",业务员="1201",存货大类="01"的采购入库数量
10。
CGRKJE("98-1-1,98-2-28",,,"c%g","01","11001")
返回当前套账从 1998 年 1 月 1 日至 2 月 28 日,供货单位="11001",存货大类="01"的采购入库金
额 50200。
附 3.3.8.3 采购发票类函数
〖函数说明〗
采购管理__采购发票类函数,是根据采购管理系统的采购发票统计某些条件下发票上的货物数量
和金额情况。
〖函数格式〗
<采购数量>::=采购数量|CGSL(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码>,]*)
<采购金额>::=采购金额|CGJE(<期间>,[<账套号>],[<会计年度>],[<币种>],[<方式字>],[<
编码>,]*)
〖格式说明〗
采购发票类函数又分为两个:
197
采购数量:函数名为"采购数量"或"CGSL";
采购金额:函数名为"采购金额"或"CGJE";
〖参数说明〗
[<方式字>],[<编码>,] 详见"方式字"和"采购__附录一"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的采购数量和采购金额。
注意
"采购金额"函数的参数有"币种"参数,可以返回某外币业务的采购金额。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据
例如:
采购数量(21,"001",1998,"g%c","11","01011")
返回 001 套账 1998 年第 1 季度供应商大类="11",存货="01001"的采购数量 52。
CGJE("98-1-1,98-3-31",,,,"rg%", "1202","11")
返回当前套账 1998 年第 1 季度,业务员="1202",供应商大类="11"的采购金额 18000。
附 3.3.8.4 采购结算类函数
〖函数说明〗
采购管理__采购结算类函数,是根据采购管理系统的采购结算单统计某些条件下采购货物的结算
数量和金额情况。
〖函数格式〗
<采购结算函数>::=<采购结算函数名>(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码
>,]*)
<采购结算函数名>::=采购结算数量|CGJSSL|采购结算金额|CGJSJE
〖格式说明〗
采购结算类函数分为两个:
采购结算数量:函数名为"采购结算数量"或"CGJSSL";
采购结算金额:函数名为"采购结算金额"或"CGJSJE";
〖参数说明〗
[<方式字>],[<编码>,] 详见"方式字"和"采购__附录一"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的采购结算数量和采购结算金
额。
注意
"采购结算金额"函数的参数没有"币种"参数。
198
〖范例〗
下表为某企业 1998 年 001 套账的一些数据:
例如:
采购结算数量(21,"001",1998,"rc","1201","01011")
返回 001 套账 1998 年第 1 季度业务员="1201",存货="01001"的采购数量 22。
CGJSJE("98-1-1,98-3-31",,,"c%r","01","1202")
返回当前套账 1998 年第 1 季度,业务员="1202",存货大类="01"的采购金额 18000。
附 3.3.8.5 采购账类函数
〖函数说明〗
采购管理__采购账类函数,是按会计期间汇总统计采购入库、采购发票、采购结算、受托代销的
期初、本期、期末数量、金额数据。
〖函数格式〗
<采购账类函数>::=<采购账类函数名>(<会计期间>,[<账套号>],[<会计年度>],[<方式字>],[<
编码*>])
<采购账类函数名>::=<采购期初函数名>|<采购本期函数名>|<采购期末函数名>
<采购期初函数名>::=期初暂估结余数量|QCZGSL|期初暂估结余金额|QCZGJE|期初在途结余数量
|QCZTSL|期初在途结余金额|QCZTJE|期初代销结余数量|QCDXSL|期初代销结余金额|QCDXJE
<采购本期函数名>::=<本期入库函数名>|<本期采购函数名>|<本期代销函数名>
< 本 期 入 库 函 数 名 >::=< 本 期 入 库 数 量 |BQRKSL| 本 期 入 库 金 额 |BQRKJE| 本 期 入 库 结 算 数 量
|BQRKJSSL|本期入库结算金额|BQRKJSJE>
< 本 期 采 购 函 数 名 >::=< 本 期 采 购 数 量 |BQCGSL| 本 期 采 购 金 额 |BQCGJE| 本 期 采 购 结 算 数 量
|BQCGJSSL|本期采购结算金额|BQCGJSJE>
<本期代销函数名>::=本期代销入库数量|BQDXRKSL|本期代销入库金额| BQDXRKJE|本期代销
结算数量|BQDXJSSL|本期代销结算金额|BQDXJSJE
<采购期末函数名>::=<期末暂估结余数量|QMZGSL|期末暂估结余金额|QMZGJE|期末在途结余数
量 |QMZTSL| 期 末 在 途 结 余 金 额 |QMZTJE| 期 末 代 销 结 余 数 量 |QMDXSL| 期 末 代 销 结 余 金 额
|QMDXJE>
<会计期间>::=<整数>|全年|季|月
〖格式说明〗
采购账类函数有 3 类 24 个:
采购入库账类函数有 8 个:
期初暂估结余数量、期初暂估结余金额、本期入库数量、本期入库金额、本期入库结算数量、本
期入库结算金额、期末暂估结余数量、期末暂估结余金额
采购(发票)账类函数有 8 个:
期初在途结余数量、期初在途结余金额、本期采购数量、本期采购金额、本期采购结算数量、本
期采购结算金额、期末在途结余数量、期末在途结余金额
受托代销账类函数有 8 个:
期初代销结余数量、期初代销结余金额、本期代销入库数量、本期代销入库金额、本期代销结算
数量、本期代销结算金额、期末代销结余数量、期末代销结余金额
〖参数说明〗
[<方式字>],[<编码>,] 详见”方式字”和”采购__附录二”。
有关账套号、年度等详见”约定”。
199
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段会计期间内的采购账类数量和金额。
注意
采购账类函数的参数没有”币种”参数。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据
例如:
期初暂估结余数量(1,”001”,1998,”gc”,”11001”,”01011”)
返回 001 套账 1998 年 1 月份供应商=“11001”,存货=“01011”的期初暂估结余数量 10。
QCZGJE(1,,,”gc”,”11001”,”01011”)
返回当前套账当前年度 1 月份供应商=“11001”,存货=“01011”的期初暂估结余金额 1000。
本期采购数量(1,”001”,1998,”gc”,”11001”,”01012”)
返回 001 套账 1998 年 1 月份供应商=“11001”,存货=“01012”的本期采购数量 4。
BQCGJE(1,,,”gc”,”11001”,”01012”)
返回 001 套账 1998 年 1 月份供应商=“11001”,存货=“01012”的本期采购金额 400。
本期采购结算数量(1,”001”,1998,”gc”,”11001”,”01012”)
返回 001 套账 1998 年 1 月份供应商=“11001”,存货=“01012”的本期采购结算数量 6。
BQCGJSJE(1,,,”gc”,”11001”,”01012”)
返回 001 套账 1998 年 1 月份供应商=“11001”,存货=“01012”的本期采购结算金额 600。
期末代销结余数量(1,”001”,1998,”gc”,”11003”,”01033”)
返回 001 套账 1998 年 1 月份供应商=“11003”,存货=“01012”的本期采购结算数量 10。
QMDXJE(1,,,”gc”,”11003”,”01033”)
返回 001 套账 1998 年 1 月份供应商=“11003”,存货=“01033”的本期采购结算金额 1000。
采购__附录一
200
采购__附录二
附3.3.9
库存管理函数
附 3.3.9.1 收发存类函数
〖函数格式〗
<收发存类函数>::=<收发存类函数名>(<会计期间>,[<账套号>],[<会计年度>],[<方式字>],[<
编码>,]*)
<收发存类函数名>::=<期初结存函数名>|<本期入库函数名>|<本期出库函数名>|<期末结存函数名
>
<期初结存函数名>::=sQCJC|jQCJC
<本期入库函数名>::=sBQRK|jBQRK
<本期出库函数名>::=sBQCK|jBQCK
<期末结存函数名>::=sQMJC|jQMJC
<会计期间>::=<整数>|全年|季|月
<账套号>::=<字符串>
<会计年度>::=<整数>|年
<方式字>::=<字符串>
〖格式说明〗
收发存类函数分为以下八种方式:
期初结存数量:函数名为"sQCJC" ;
期初结存件数:函数名为"jQCJC" ;
本期入库数量:函数名为"sBQRK" ;
本期入库件数:函数名为"jBQRK" ;
本期出库数量:函数名为"sBQCK" ;
本期出库件数:函数名为"jBQCK" ;
期末结存数量:函数名为"sQMJC" ;
期末结存件数:函数名为"jQMJC" ;
〖参数说明〗
有关账套号、年度及关键字的说明详见"约定"。
有关方式字的说明详见"库存__附录一"。
〖返回值〗
数值型。
注意
输入方式字中的自由项 1-10 的输入方法:只能输入自由项名称。
如果在方式字中输入了自由项,则此函数时要按输入的自由项进行过滤查询。
方式字中的存货与存货分类只能选择其中之一,如果选择存货则返回值为该存货的收发存情况;
如果选择存货分类则返回值为该存货分类所属的所有存货的收发存情况。
〖范例〗
下表为某企业 1998 年 001 套账 1 月份的收发存情况。
201
例如:
sQCJC(1,"001",1998,"wc%","A","01")
返回 001 账套"A"仓库"01"存货分类所属的存货 1998 年 1 月份的期初结存数量:100+25=125
sBQRK(月,,,"wc","B","202")
若当前页关键字值为:年=1998,月=1,缺省账套号为"001",则返回 001 账套"B"仓库"202"存货
1998 年 1 月份的入库数量:200
jBQCK(月,,,"cf1f2","201","蓝","42")
若当前页关键字值为:年=1998,月=1,缺省账套号为"001",则返回 001 账套自由项 1 为"蓝",
自由项 2 为"42"的"201"存货 1998 年 1 月份的出库件数:1+4=5
附 3.3.9.2 发生类函数
〖函数格式〗
<发生类函数>::=<发生类函数名>(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码>,]*)
<发生类函数名>::=<入库函数名>|<出库函数名>
<入库函数名>::=sRK|jRK|RK
<出库函数名>::=sCK|jCK|CK
<期间>::=<整数>|全年|季|月|旬|周|日|<日期字符串>
<方式字> ::= <字符串>
〖格式说明〗
发生类函数分为以下六种方式:
入库数量:函数名为"sRK" ;
入库件数:函数名为"jRK" ;
入库金额:函数名为"RK" ;
出库数量:函数名为"sCK" ;
出库件数:函数名为"jCK" ;
出库金额:函数名为"CK" ;
〖参数说明〗
有关账套号、年度及关键字的说明详见"约定"。
有关方式字的说明详见"库存__附录二"。
〖返回值〗
数值型。
注意
输入方式字中的自由项 1-10 的输入方法:只能输入自由项名称。
如果在方式字中输入了自由项,则此函数时要按输入的自由项进行过滤查询。
方式字中的存货与存货分类只能选择其中之一,如果选择存货则返回值为该存货的出入库情况;
如果选择存货分类则返回值为该存货分类所属的所有存货的出入库情况。
方式字中的供应商及供应商分类只有入库函数才能选择,并且只能选择其中之一;客户及客户分
类只有出库函数才能选择,并且只能选择其中之一。
202
〖范例〗
下表为某企业 1998 年 001 套账 1 至 3 月份的出入库情况。
例如:
sRK("1998-01-01,1998-02-15","001",1998,"bc%l","B1","01","S1")
返回 001 账套 1998 年"B1"部门"S1"收发类别"01"存货分类所属的存货"1998-01-01"至"1998-02-15"
的入库数量:200+300=500
jCK(2,,,"wboc","B","B4","C2","102")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套 1998 年 2 月份"B4"部门
为"C2"成本对象从"B"仓库领用的"102"材料的件数:100
RK(21,,,"cf1f2g","101","蓝","41","G12")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套"G12"供应商供应的自由
项 1 为"蓝",自由项 2 为"41"的"102"存货 1998 年第 1 季度的入库金额:620
附 3.3.9.3 批次类函数
〖函数格式〗
<批次类函数>::=<批次类函数名>(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码>,]*)
<批次类函数名>::=<批次入库函数名>|<批次累计出库函数名>|<批次结存函数名>
<批次入库函数名>::=sPCRK|jPCRK|PCRK
<批次累计出库函数名>::=sPCLJCK|jPCLJCK|PCCK
<批次结存函数名>::=sPCJC|jPCJC|PCJC
<方式字>::=<字符串>
〖格式说明〗
批次类函数分为以下九种方式:
批次入库数量:函数名为"sPCRK" ;
批次入库件数:函数名为"jPCRK" ;
批次入库金额:函数名为"PCRK" ;
批次累计出库数量:函数名为"sPCLJCK" ;
批次累计出库件数:函数名为"jPCLJCK" ;
批次累计出库金额:函数名为"PCLJCK" ;
批次结存数量:函数名为"sPCJC" ;
批次结存件数:函数名为"jPCJC" ;
批次结存金额:函数名为"PCJC" ;
〖参数说明〗
有关账套号、年度及关键字的说明详见"约定"。
有关方式字的说明详见"库存__附录三"。
〖返回值〗
数值型。
203
注意
输入方式字中的自由项 1-10 的输入方法:只能输入自由项名称。
如果在方式字中输入了自由项,则此函数时要按输入的自由项进行过滤查询。
批次类函数不包括库存期初余额的数据。
方式字中的存货与存货分类只能选择其中之一,如果选择存货则返回值为该存货的情况;如果选
择存货分类则返回值为该存货分类所属的所有存货的情况。
方式字中的供应商与供应商分类只能选择其中之一,如果选择供应商则返回值为该供应商的值;
如果选择供应商分类则返回值为该供应商分类所属的所有供应商的值。
〖范例〗
下表为某企业 1998 年 001 套账 1 至 3 月份各批次的收发存情况。
例如:
sPCRK("1998-01-01,1998-02-15","001",1998,"bc%l","B1","01","S1")
返回 001 账套 1998 年"B1"部门"S1"收发类别"01"存货分类所属的存货"1998-01-01"至"1998-02-15"
的入库数量:200+300=500
sPCLJCK(2,,,"wboi","B","B4","102","P4")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套 "B4"部门"B"仓库"102"
存货 1998 年 2 月份入库的"P4"批次的累计出库数量:50
sPCJC(21,,,"cf1f2g","102","蓝","41","G12")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套"G12"供应商供应的自由
项 1 为"蓝",自由项 2 为"41"的"102"存货 1998 年第 1 季度入库各批次的结存数量:100
附 3.3.9.4 保质期类函数
〖函数格式〗
<保质期类函数>::=<保质期类函数名>(<期限下限>,[<期限上限>],[<账套号>],[<会计年度>],
[<方式字>],[<编码>,]*)
<保质期类函数名>::=<结存函数名>
<结存函数名>::=sJC|jJC|JC
<期限下限>::=<整数>
<期限上限>::=<整数>
<方式字>::=<字符串>
〖格式说明〗
保质期类函数分为以下三种方式:
结存数量:函数名为"sJC" ;
结存件数:函数名为"jJC" ;
结存金额:函数名为"JC" ;
期限下限、上限中输入负数表示差多少天到期,输入正数表示过期多少天。例如在下限、上限
中分别输入-10 和 0,将返回 10 天内到期的存货的值;如果在下限、上限中分别输入 1 和 90,将
返回过期 1 天至 90 天的存货的值;如果在下限、上限中均输入 0,将返回今天到期的存货的值。
204
〖参数说明〗
有关账套号、年度及关键字的说明详见"约定"。
有关方式字的说明详见"库存__附录三"。
〖返回值〗
数值型。
注意
输入方式字中的自由项 1-10 的输入方法:只能输入自由项名称。
如果在方式字中输入了自由项,则此函数时要按输入的自由项进行过滤查询。
方式字中的存货与存货分类只能选择其中之一,如果选择存货则返回值为该存货的情况;如果选
择存货分类则返回值为该存货分类所属的所有存货的情况。
方式字中的供应商与供应商分类只能选择其中之一,如果选择供应商则返回值为该供应商的值;
如果选择供应商分类则返回值为该供应商分类所属的所有供应商的值。
〖范例〗
下表为某企业 1998 年 001 套账各存货的失效日期情况。如果今天的日期为 1998-02-10。
例如:
sJC(0,0,1998,"bc","B1","102")
返回 001 账套 1998 年"B1"部门今天到期的"102"存货的结存数量:600
jJC(1,60,"gcf1f2","G12","102","红","40")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套 "G12"供应商供应的自由
项 1 为"红",自由项 2 为"40"的"102"存货到今天为止过期 1 至 60 天的结存件数:8+4=12
JC(-10,0,"wbci","B","B4","102","P4")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套"B4"部门"B"仓库"P4"批次
"102"存货 10 天内到期的结存金额:200
附 3.3.9.5 现存量类函数
〖函数格式〗
<现存量类函数>::=<现存量类函数名>([<账套号>],[<会计年度>],[<方式字>],[<编码>,]*)
<现存量类函数名>::=<现存函数名>
<现存函数名>::=sXC|jXC
<方式字>::=<字符串>
〖格式说明〗
现存量类函数分为以下二种方式:
现存数量:函数名为"sXC" ;
现存件数:函数名为"jXC" ;
205
〖参数说明〗
有关账套号、年度及关键字的说明详见"约定"。
有关方式字的说明详见"库存__附录四"。
〖返回值〗
数值型。
注意
输入方式字中的自由项 1-10 的输入方法:只能输入自由项名称。
如果在方式字中输入了自由项,则此函数时要按输入的自由项进行过滤查询。
方式字中的存货与存货分类只能选择其中之一,如果选择存货则返回值为该存货的情况;如果选
择存货分类则返回值为该存货分类所属的所有存货的情况。
〖范例〗
下表为某企业 1998 年 001 套账各存货的现存量。
例如:
sXC("001",1998,"wc%","A","01")
返回 001 账套 1998 年"A"仓库"01"存货分类所属存货的现存数量:100+25=125
jXC(,,"cf1f2","201","蓝","42")
若当前页关键字值为:年=1998,缺省账套号为"001",则返回 001 账套 1998 年度自由项 1 为"蓝
",自由项 2 为"42"的"201"存货的现存件数:3
附 3.3.9.6 库存控制类函数
〖函数格式〗
<库存控制类函数>::=<库存控制类函数名>([<账套号>],[<会计年度>],[<方式字>],[<编码>,]*)
<库存控制类函数名>::=<最高库存量函数名>|<最低库存量函数名>|<安全库存量函数名>
<最高库存量函数名>::=sZG
<最低库存量函数名>::=sZD
<安全库存量函数名>::=sAQ
〖格式说明〗
库存控制类函数分为以下三种方式:
最高库存量:函数名为"sZG";
最低库存量:函数名为"sZD";
安全库存量:函数名为"sAQ";
〖参数说明〗
有关账套号、年度及关键字的说明详见"约定"。
有关方式字的说明详见"库存__附录五"。
〖返回值〗
数值型。
注意
输入方式字中的自由项 1-10 的输入方法:只能输入自由项名称。
如果在方式字中输入了自由项,则此函数时要按输入的自由项进行过滤查询。
206
方式字中的存货与存货分类只能选择其中之一,如果选择存货则返回值为该存货的情况;如果选
择存货分类则返回值为该存货分类所属的所有存货的情况。
〖范例〗
下表为某企业 1998 年 001 套账各存货的库存控制信息。
库存__附录一
z
可选编码
方式字
参数(1)
仓库编码
w
参数(2)
存货编码
c
存货分类编码
c%
参数(3)
自由项 1
F1
参数(4)
自由项 2
F2
参数(5)
自由项 3
f3
参数(6)
自由项 4
f4
参数(7)
自由项 5
f5
参数(8)
自由项 6
f6
参数(9)
自由项 7
f7
参数(10)
自由项 8
f8
参数(11)
自由项 9
f9
参数(12)
自由项 10
f10
库存__附录二
参数
可选编码
方式字
参数(1)
仓库编码
w
参数(2)
存货编码
c
存货分类编码
c%
参数(3)
收发类型编码
1
参数(4)
业务类型编码
y
参数(5)
供应商编码
g
供应商分类编码
g%
客户编码
k
客户分类编码
k%
207
参数(6)
部门编码
b
参数(7)
职员编码
r
参数(8)
项目
o
项目大类
o%
参数(9)
自由项 1
f1
参数(10)
自由项 2
f2
参数(11)
自由项 3
f3
参数(12)
自由项 4
f4
参数(13)
自由项 5
f5
参数(14)
自由项 6
f6
参数(15)
自由项 7
f7
参数(16)
自由项 8
f8
参数(17)
自由项 9
f9
参数(18)
自由项 10
f10
参数
可选编码
方式字
参数(1)
仓库编码
w
参数(2)
存货编码
c
存货分类编码
c%
参数(3)
自由项 1
F1
参数(4)
自由项 2
F2
参数(5)
自由项 3
f3
参数(6)
自由项 4
f4
参数(7)
自由项 5
f5
参数(8)
自由项 6
f6
参数(9)
自由项 7
f7
参数(10)
自由项 8
f8
参数(11)
自由项 9
f9
参数(12)
自由项 10
f10
参数(13)
批次
i
参数
可选编码
方式字
参数(1)
仓库编码
w
参数(2)
存货编码
c
库存__附录三
库存__附录四
208
存货分类编码
c%
参数(3)
自由项 1
F1
参数(4)
自由项 2
F2
参数(5)
自由项 3
f3
参数(6)
自由项 4
f4
参数(7)
自由项 5
f5
参数(8)
自由项 6
f6
参数(9)
自由项 7
f7
参数(10)
自由项 8
f8
参数(11)
自由项 9
f9
参数(12)
自由项 10
f10
参数
可选编码
方式字
参数(1)
存货编码
c
存货分类编码
c%
库存__附录五
附3.3.10 存货核算函数
附 3.3.10.1 存货核算期初额类函数
〖函数说明〗
存货核算__期初额类函数,是根据用户设定的存货及时间范围等条件所得出的期初数据。
〖函数格式〗
<存货期初函数>::=<存货期初函数名>(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码
>,]*)
<存货期初函数名>::=存货期初数量|CHQCSL|存货期初金额|CHQCJE|存货期初差异|CHQCCY
<期间>::=<整数>|全年|季|月|旬|周|日|<日期字符串>
<账套号>::=<字符串>
<会计年度>::=<整数>|年
<方式字>::=<字符串>
<编码>::=<字符串>
〖格式说明〗
存货核算期初类函数分为三个:
存货期初数量:函数名为"存货期初数量"或"CHQCSL";
存货期初金额:函数名为"存货期初金额"或"CHQCJE";
存货期初差异:函数名为"存货期初差异"或"CHQCCY";
209
〖参数说明〗
[<方式字>],[<编码>,]详见"方式字"和"存货核算__附录一"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的存货核算期初数量、期初金
额或期初差异。
注意
参数"期间"中旬、周、日、日期段为自然日历期间,年、季、月为会计期间。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据:
仓库:101 存货:001 收发类别:01 供应商:10 部门:2
例如:
存货期初数量(1,"001",1998,"wclgb","101","001","01", "10", "2")
返回 001 套账 1998 年 1 月份仓库="101",存货="001",收发类别="01",供应商="10",部门="2"
的存货期初数量 10。
CHQCJE("01/05/1998",,,,"wcf", "101", "001", "01")
返回当前套账 1998 年 1 月 5 日仓库="101",存货="001",收发类别="01"的存货期初金额 160。
CHQCCY(102,,,"wcf", "101", "001", "01")
返回当前套账 1998 年第 2 旬,仓库="101",存货="001",收发类别="01"的存货期初差异 35。
附 3.3.10.2 存货核算发生额类函数
〖函数说明〗
存货核算__发生额类函数,是根据用户设定的存货及时间范围等条件所得出的出入库发生数据。
〖函数格式〗
<发生额类函数>::=<发生额类函数名>(<期间>,[<账套号>],[<会计年度>],[<方式字>],[<编码
>,]*)
<发生额类函数名>::=<存货入库函数名>|<存货出库函数名>|<存货借方差异函数名>|<存货贷方差
异函数名>
<存货入库函数名>::=存货入库数量|CHRKSL|存货入库金额|CHRKJE
<存货出库函数名>::=存货出库数量|CHCKSL|存货出库金额|CHCKJE
<存货借方差异函数名>::=存货借方差异|CHJFCY
<存货贷方差异函数名>::=存货贷方差异|CHDFCY
<期间>::=<整数>|全年|季|月|旬|周|日|<日期字符串>
<账套号>::=<字符串>
<会计年度>::=<整数>|年
<方式字>::=<字符串>
<编码>::=<字符串>
〖格式说明〗
存货发生额类函数分为六个:
存货入库数量:函数名为"存货入库数量"或"CHRKSL";
210
存货入库金额:函数名为"存货入库金额"或"CHRKJE";
存货出库数量:函数名为"存货出库数量"或"CHCKSL";
存货出库金额:函数名为"存货出库金额"或"CHCKJE";
存货借方差异:函数名为"存货借方差异"或"CHJFCY";
存货贷方差异:函数名为"存货贷方差异"或"CHDFCY"。
〖参数说明〗
[<方式字>],[<编码>,] 详见"方式字"和"存货核算__附录一"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的存货入库数量、存货入
库金额、存货出库数量、存货出库金额、存货借方差异或存货贷方差异。
注意
参数"期间"中旬、周、日、日期段为自然日历期间,年、季、月为会计期间。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据:
仓库:101 存货:001 收发类别:01 供应商:10 部门:2
例如:
存货入库数量(1,"001",1998,"wclgb","101","001","01", "10", "2")
返回 001 套账 1998 年 1 月份仓库="101",存货="001",收发类别="01",供应商="10",部门="2"
的存货入库数量 16。
CHRKJE("01/05/1998",01/10/1998,,,"wcf", "101", "001", "01")
返回当前套账 1998 年 1 月 5 日到 1998 年 1 月 10 日,仓库="101",存货="001",收发类别="01"
的存货入库金额 100。
CHCKSL(42,"001",,"wclgb","101","001","01", "10", "2")
返回 001 套账 1998 年第二周,仓库="101",存货="001",收发类别="01",供应商="10",部门="2"
的存货出库数量 5。
存货出库金额(101,,1998,"wcf", "101", "001", "01")
返回当前套账 1998 年第 1 旬,仓库="101",存货="001",收发类别="01"的存货出库金额 50。
CHJFCY(21,,,"wcf", "101", "001", "01")
返回当前套账 1998 年第一季度,仓库="101",存货="001",收发类别="01"的存货借方差异 25。
存货贷方差异(231,"001",1998,"wcfb", "101", "001", "01","2")
返回当前套账 1998 年 1 月 31 日,仓库="101",存货="001",收发类别="01",部门="2"的存货贷
方差异 17.5。
附 3.3.10.3 存货核算总账类函数
〖函数说明〗
存货核算__总账类函数,是根据用户设定的存货及会计月等条件所得出的差异率或全月平均单
价。
211
〖函数格式〗
<存货差异率函数>::=存货差异率|CHCYL(<会计月>,[<账套号>],[<会计年度>],[<方式字>],
[<编码>,]*)
<存货平均单价函数>::=存货平均单价|CHPJDJ(<会计月>,[<账套号>],[<会计年度>],[<方式字
>],[<编码>,]*)
<会计月>::=<整数>|月|
<账套号>::=<字符串>
<会计年度>::=<整数>|年
<方式字>::=<字符串>
<编码>::=<字符串>
〖格式说明〗
存货核算总账类函数分为两个:
存货差异率:函数名为"存货差异率"或"CHCYL";
存货平均单价:函数名为"存货平均单价"或"CHPJDJ";
〖参数说明〗
[<方式字>],[<编码>,] 详见"方式字"和"存货核算__附录二"。
有关账套号、年度等详见"约定"。
〖返回值〗
数值型。
返回按方式字设定的一组条件下,在某一会计月份的存货差异率和存货平均单价。
〖范例〗
下表为某企业 1998 年 001 套账的一些数据:
仓库:101 (计划价核算) 存货:001
例如:
存货差异率(4,"001",1998,"wc","101","001")
返回 001 套账 1998 年 4 月份仓库="101",存货="001"的存货差异率 0.05。
仓库:102 (全月平均法核算) 存货:001
例如:
存货全月平均单价(5,"001",,"wc","102","001")
返回 001 套账 1998 年 5 月份仓库="102",存货="001"的存货平均单价 18.6667。
存货核算__附录一
参数
编码(1)
编码(2)
可选编码
仓库
所属部门
存货编码
存货分类编码
方式字
w
b%
c
c%
212
编码(3)
编码(4)
编码(5)
编码(6)
编码(7)
收发类别
供应商编码
供应商分类编码
客户编码
客户分类编码
地区分类编码
部门编码
业务员编码
项目
项目大类
f
g
g%
k
k%
d%
b
r
o
o%
存货核算__附录二
参数
编码(1)
编码(2)
可选编码
仓库编码
所属部门编码
存货编码
存货分类编码
项目大类
方式字
w
b%
c
c%
o%
附3.3.11 销售管理函数
附 3.3.11.1 销售订货函数
〖函数格式〗
<销售订货函数>∷=<销售订货函数名>(<期间>,<销售类型编码>,[<币种>],[<账套号>],[<
年度>],[<方式字>],[<编码>,]*)
<销售订货函数名>∷=销售订货金额|XSDHJE|销售订货总额|XSDHZE|销售订货件数|jXSDH|销售
订货数量|sXSDH
<期间>∷=<整数>|全年|季|月|旬|周|日|<字符串>
<销售类型编码>∷=<字符串>
<币种>∷=<字符串>
<账套号>∷=<字符串>
<会计年度>∷=<整数>|年
〖格式说明〗
函数按以下四种方式分为:
销售订货金额:取销售订货的无税金额,函数名为"销售订货金额"或"XSDHJE";
销售订货总额:取销售订货的价税合计,函数名为"销售订货总额"或"XSDHZE";
销售订货数量:取销售订货的主计量单位数量,函数名为"销售订货数量"或"sXSDH";
销售订货件数:取销售订货的辅计量单位数量,函数名为"销售订货件数"或"jXSDH"。
〖参数说明〗
销售类型默认为空,即取所有销售类型。合法的〈销售类型编码〉为已定义的销售类型的编码。
〈币种〉默认为空,即本位币,金额返回综合本位币金额,即各币种的发生金额均取其本位币
的发生金额;如果输入具体币种,必须输入币名,如"人民币",不要输入币符。在此情况下,数
量和金额均从按所输入币种发生的业务中取数,金额返回原币金额。
有关账套号、年度及关键字等详见"约定"。
有关方式字的说明详见"销售__附录三"。
〖返回值〗
数值型。
213
注意
若部门为非末级部门,则返回其所有下级部门的销售订货数量或金额。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账销售订货数据的一部分(本位币为人民币。订货金额与订
货总额栏目的第一个数字为原币金额,第二个数字为本位币金额,例如,第三行数据中"60/500",
60 指 60 美元,500 指 500 人民币元)。
注:日期中含"*"标记的记录为已关闭的订货记录。
上表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
sXSDH(1,"s01",,"001",1998,"c","c01")
返回 001 套账销售类型编号为"s01"的"c01"货物 1998 年 1 月订货数量 100+40=140。
sXSDH("1998-01-01,1998-01-15",,,,,"bc","b1","c01")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账 b1 部门下属各部门(含
"b11"和"b12")"c01"货物 1998 年 01 月 01 日至 1998 年 1 月 15 日的订货数量 100+50=150。
jXSDH(41,,,"001",1998,"cb","c01","b11")
返回 001 套账"b11"部门的"c01"货物 1998 年第 1 周(1998 年 01 月 01 日至 1998 年 01 月 04 日)
订货件数 10。
jXSDH(102,,,,,"c%","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"cf1"存货分类下属货物
(含"c01"和"c02")1998 年第 2 旬(1998 年 01 月 11 日至 1998 年 01 月 20 日)的订货件数 4。
XSDHJE(30,,"美元","001",1998,"k","k02")
返回 001 套账"k02"客户的 1998 年全年美元订货金额 60 美元。
XSDHJE(101,,,,,"b","b1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"b1"部门下属各部门(含
"b11"和"b12")1998 年第 1 旬(1998 年 01 月 01 日至 1998 年 01 月 10 日)的本位币订货金额
1000+600+500+48=2148 人民币元。
XSDHZE(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年
第一季度(1998 年 1 月至 3 月)人民币订货总额 1170+702=1872 人民币元。
XSDHZE(1,,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年 1 月的已关闭的
订单的本位币订货金额 500+400=900 人民币元。
214
附 3.3.11.2 销售函数
〖函数格式〗
<销售函数>∷=<销售函数名>(<期间>,<销售类型编码>,[<币种>],[<账套号>],[<会计年度
>],[<方式字>],[<编码>,]*)
<销售函数名>∷=销售收入|XSSR|销售金额|XSJE|销售件数|jXS|销售数量|sXS|销售成本|XSCB|销
售税金|XSSJ|销售折扣|XSZK|销售毛利|XSML
〖格式说明〗
函数按以下八种方式分为:
销售数量:取销售结算单据的主计量单位数量,函数名为"销售数量"或"sXS";
销售件数:取销售结算单据的辅计量单位数量,函数名为"销售件数"或"jXS";
销售收入:取销售结算单据(如销售发票,下同)的无税金额,函数名为"销售收入"或"XSSR";
销售金额:取销售结算单据的价税合计,函数名为"销售总额"或"XSJE";
销售税金:取销售结算单据的增值税销项税金,函数名为"销售税金"或"XSSJ";
销售成本:取销售结算单据所结转的销售成本,函数名为"销售成本"或"XSCB";
销售折扣:取销售结算单据的销售折扣,函数名为"销售折扣"或"XSZK";
销售毛利:取销售收入与销售成本之差,函数名为"销售毛利"或"XSML"。
〖参数说明〗
销售类型默认为空,即取所有销售类型。合法的〈销售类型编码〉为已定义的销售类型的编码。
对于"XSCB"、"XSML",无〈币种〉参数;其他销售函数〈币种〉默认为空,即本位币,金额
返回综合本位币金额,即各币种的发生金额均取其本位币的发生金额;如果输入具体币种,必须
输入币名,如"人民币",不要输入币符。在此情况下,数量和金额均从按所输入币种发生的业务
中取数,金额返回原币金额。
有关账套号、年度及关键字等详见"约定"。
"XSCB"、"XSML"有关方式字的说明详见"销售__附录四",其他销售函数有关方式字的说明详见
"销售__附录一"。
〖返回值〗
数值型。
注意
若部门为非末级部门,则返回其所有下属部门的销售数值。
"XSCB"、"XSML"的取数来源单据必须是已审核的,所以在方式字中不能出现"h",即"审核状态"。
所取数据不包括已作废单据的数据。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账销售数据的一部分(本位币为人民币。销售收入、销售金
额、销售税金与销售折扣栏目的第一个数字为原币金额,第二个数字为本位币金额;销售成本、
销售毛利栏目的唯一数字指本位币金额。例如,第三行数据中"60/500",60 指 60 美元,500 指 500
人民币元,480 指 480 人民币元,20 指 20 人民币元)。
注:(1)日期中含"*"标记的记录为未审核的销售记录,因此没有销售成本和销售毛利。
215
(2)由于纸张宽度的限制,销售税金、销售成本、销售折扣和销售毛利等 4 个栏目的数据如下(即
下表为上表的横向延伸):
上表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
sXS(1,"s01",,"001",1998,"c","c01")
返回 001 套账销售类型编号为"s01"的"c01"货物 1998 年 1 月销售数量 100+40=140。
sXS ("1998-01-01,1998-01-15",,,,,"bc","b1","c01")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账 b1 部门下属各部门(含
"b11"和"b12")"c01"货物 1998 年 01 月 01 日至 1998 年 01 月 15 日的销售数量 100+50=150。
jXS(41,,,"001",1998,"cb","c01","b11")
返回 001 套账"b11"部门的"c01"货物 1998 年第 1 周(1998 年 01 月 01 日至 1998 年 01 月 04 日)
销售件数 0。
jXS (102,,,,,"c%","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"cf1"存货分类下属货物
(含"c01"和"c02")1998 年第 2 旬(1998 年 01 月 11 日至 1998 年 01 月 20 日)的销售件数 5。
XSSR(30,,"美元","001",1998,"k","k02")
返回 001 套账"k02"客户的 1998 年全年美元销售收入 60 美元。
XSSR(101,,,,,"b","b1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"b1"部门下属各部门(含
"b11"和"b12")1998 年第 1 旬(1998 年 01 月 01 日至 1998 年 01 月 10 日)的本位币销售收入
1000+600=1600 人民币元。
XSJE(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一季
度(1998 年 1 月至 3 月)人民币销售金额 1170+702=1872 人民币元。
XSJE(1,,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年 1 月的未审核销
售结算单据的本位币销售金额 48+60=108 人民币元。
XSSJ(30,,"人民币","001",1998,"k","k02")
返回 001 套账"k02"客户的 1998 年全年人民币销售税金 170+102+68+10.2=350.2 人民币元。
XSSJ(102,,,,,"b","b11")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"b11"部门 1998 年第 1 旬
(1998 年 01 月 11 日至 1998 年 01 月 20 日)的本位币销售税金 85+8.1=93.1 人民币元。
XSCB(1,,"001",1998,"bc%","b11","cf1")
返回 001 套账"b11"客户的"cf1"存货分类下属的各货物((含"c01"和"c02")1998 年 1 月销售成本
800+480=1280 人民币元。
XSCB(30,,,,"c","c01")
216
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"c01"货物 1998 年销售成
本 800+480+320=1600 人民币元。
XSZK(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一
季度(1998 年 1 月至 3 月)人民币销售折扣额 100 人民币元。
XSZK(1,,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年 1 月的未审核销
售结算单据的本位币销售折扣额 0 人民币元。
XSML(1,,"001",1998,"bc%","b11","cf1")
返回 001 套账"b11"部门的"cf1"存货分类下属的各货物((含"c01"和"c02")1998 年 1 月销售毛利
200+20=220 人民币元。
XSML(30,,,,"c","c01")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"c01"货物 1998 年销售毛
利 200+20+80=300 人民币元。
附 3.3.11.3 销售发货函数
〖函数格式〗
<发货函数>∷=<发货函数名>(<期间>,<销售类型编码>,[<币符>],[<账套号>],[<会计年度
>],[<方式字>],[<编码>,]*)
<发货函数名>∷=发货金额|FHJE|发货件数|jFH|发货数量|sFH||发货折扣|FHZK|发货余数|FHYS|发
货余额|FHYE
〖格式说明〗
函数按以下六种方式分为:
发货数量:取普通发货单的主计量单位数量,函数名为"发货数量"或"sFH";
发货件数:取普通发货单的辅计量单位数量,函数名为"发货件数"或"jFH";
发货金额:取普通发货单的价税合计,函数名为"发货金额"或"FHJE";
发货折扣:取普通发货单的发货折扣,函数名为"发货折扣"或"FHZK";
发货余数:指定期间发货未开票的主计量单位数量余额,等于期初余数+本期发货数量-本期开
票结算数量,函数名为"发货余数"或"FHYS";
发货余额:指定期间发货未开票金额的余额,等于期初余额+本期发货额-本期开票结算额,函
数名为"发货余额"或"FHYE"。
〖参数说明〗
销售类型默认为空,即取所有销售类型。合法的〈销售类型编码〉为已定义的销售类型的编码。
〈币种〉默认为空,即本位币,发生金额和余额均返回综合本位币金额,即各币种的发生金额
均取其本位币的发生金额或余额;如果输入具体币种,必须输入币名,如"人民币",不要输入币
符。在此情况下,数量和金额均从按所输入币种发生的业务中取数,发生金额返回原币金额,余
额返回本位币金额。
有关账套号、年度及关键字等详见"约定"。
"FHYS"、"FHYE"有关方式字的说明详见"销售__附录四",其他发货函数有关方式字的说明详见
"销售__附录一"。有关方式字的说明详见"销售__附录四"。所涉及的单据必须是已审核过的。即
在方式字中输入"h"是非法的。
〖返回值〗
数值型。
注意
若部门为非末级部门,则返回其所有下属部门的发货数值。
余额(余数)指所输入区间最后日的余额(余数),例如 1998 年 1 月的余额指 1998 年 1 月 31 日的余额,1998 年
第 1 旬的余额指 1998 年 1 月 10 日的余额,期间输入"1998-01-01,1998-01-15"时,指 1998 年 01 月 15 日的余额。
因此在这种情况下,输入"1998-01-15"和输入"1998-01-01,1998-01-15"等效。
"FHYS"、"FHYE"的取数来源单据必须是已审核的,所以在方式字中不能出现"h",即"审核状态"。
217
〖范例〗
下表为某企业 1998 年 1 月份 001 套账普通发货数据的一部分(本位币为人民币。发货金额与发
货折扣栏目的第一个数字为原币金额,第二个数字为本位币金额。例如,第三行数据中"60/500",
60 指 60 美元,500 指 500 人民币元)。
注:日期中含"*"标记的记录为未审核的发货记录。
与上表数据对应的 1998 年 1 月期初余额和余数(按销售类型+币名+货物编号+客户+部门+业务员
分组,如上表中的第 6 行和第 7 行数据同组)如下表所示:
与上表数据对应的 1998 年 1 月开票销售结算数据(按销售类型+币名+货物编号+客户+部门+业务
员分组)如下表所示:
以上 3 表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
sFH(1,"s01",,"001",1998,"c","c01")
返回 001 套账销售类型编号为"s01"的"c01"货物 1998 年 1 月发货数量 100+40=140。
sFH("1998-01-01,1998-01-15",,,,,"bc","b1","c01")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账 b1 部门下属各部门(含
"b11"和"b12")"c01"货物 1998 年 01 月 01 日至 1998 年 01 月 15 日的发货数量 100+50=150。
jFH(41,,,"001",1998,"cb","c01","b11")
返回 001 套账"b11"部门的"c01"货物 1998 年第 1 周(1998 年 01 月 01 日至 1998 年 01 月 04 日)
发货件数 0。
jFH(102,,,,,"c%","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"cf1"存货分类下属货物
(含"c01"和"c02")1998 年第 2 旬(1998 年 01 月 11 日至 1998 年 01 月 20 日)的发货件数 5。
FHJE(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
218
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一季
度(1998 年 1 月至 3 月)人民币发货金额 1170+702=1872 人民币元。
FHJE(1,,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年 1 月的未审核发
货单的本位币发货金额 93.6 人民币元。
FHZK(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一
季度(1998 年 1 月至 3 月)人民币发货折扣额 100 人民币元。
FHZK("1998-01-31",,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年 1 月 31 日的未审
核发货单的本位币发货折扣额 0 人民币元。
FHYS("1998-1-15",,,"001",1998,"bc","b11","c01")
返回 001 套账"b11"部门的"c01"货物 1998 年 1 月 15 日发货余数(25+3)+(100+50)-100=78。
FHYS(101,,,,"c","c02")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"c01"货物 1998 年第 1 旬
(1998 年 01 月 01 日-1998 年 01 月 10 日)末发货余数 18+30-30=18。
FHYE("1998-1-15",,,"001",1998,"bc","b11","c01")
返回 001 套账"b11"部门的"c01"货物 1998 年 1 月 15 日本位币发货余额(280+34)+(1170+702)
-1170=816 人民币元。
FHYE(101,,,,"c","c02")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账"c01"货物 1998 年第 1 旬
(1998 年 01 月 01 日-1998 年 01 月 10 日)末本位币发货余额 350+702-702=350。
附 3.3.11.4 委托代销函数
〖函数格式〗
<委托代销函数>∷=<委托代销函数名>(<期间>,<销售类型编码>,[<币符>],[<账套号>],[<
会计年度>],[<方式字>],[<编码>,]*)
<委托代销函数名>∷=委托代销发货金额|WTFHJE|委托代销发货件数|jWTFH|委托代销发货数量
|sWTFH|委托代销发货折扣|WTFHZK|委托代销发货余数|WTFHYS|委托代销发货余额|WTFHYE|
委托代销结算金额|WTJSJE|委托代销结算件数|jWTJS|委托代销结算数量|sWTJS|委托代销结算折
扣|WTJSZK
〖格式说明〗
函数按以下十种方式分为:
委托代销发货数量:取委托代销发货单的主计量单位数量,函数名为"委托代销发货数量"或
"sWTFH";
委托代销发货件数:取委托代销发货单的辅计量单位数量,函数名为"委托代销发货件数"或
"jWTFH";
委托代销发货金额:取委托代销发货单的价税合计,函数名为"委托代销发货金额"或
"WTFHJE";
委托代销发货折扣:取委托代销发货单的发货折扣,函数名为"委托代销发货折扣"或
"WTFHZK";
委托代销发货余数:指定期间委托代销发货未结算的主计量单位数量余额,等于期初余数+
本期发货数量-本期结算数量,函数名为"委托代销发货余数"或"WTFHYS";
发货余额:指定期间委托代销发货未结算金额的余额,等于期初余额+本期发货额-本期开票
结算额,函数名为"委托代销发货余额"或"WTFHYE";
委托代销结算数量:取委托代销结算单的主计量单位数量,函数名为"委托代销结算数量"或
"sWTJS";
委托代销结算件数:取委托代销结算单的辅计量单位数量,函数名为"委托代销结算件数"或
"jWTJS";
委托代销结算金额:取委托代销结算单的价税合计,函数名为"委托代销结算金额"或
"WTJSJE";
219
委托代销结算折扣:取委托代销结算单的结算折扣,函数名为"委托代销结算折扣"或
"WTJSZK"。
〖参数说明〗
销售类型默认为空,即取所有销售类型。合法的〈销售类型编码〉为已定义的销售类型的编码。
〈币种〉默认为空,即本位币,发生金额和余额均返回综合本位币金额,即各币种的发生金额均
取其本位币的发生金额或余额;如果输入具体币种,必须输入币名,如"人民币",不要输入币符。
在此情况下,数量和金额均从按所输入币种发生的业务中取数,发生金额返回原币金额,余额返
回本位币金额。
有关账套号、年度及关键字等详见"约定"。
"WTFHYS"、"WTFHYE"有关方式字的说明详见"销售__附录四",其他委托代销函数有关方式字
的说明详见"销售__附录一"。有关方式字的说明详见"销售__附录四"。所涉及的单据必须是已审
核过的。即在方式字中输入"h"是非法的。
〖返回值〗
数值型。
注意
若部门为非末级部门,则返回其所有下属部门的发货数值。
余额(余数)指所输入区间最后日的余额(余数),例如 1998 年 1 月的余额指 1998 年 1 月 31 日的余额,1998 年
第 1 旬的余额指 1998 年 1 月 10 日的余额,期间输入"1998-01-01,1998-01-15"时,指 1998 年 01 月 15 日的余额。
因此在这种情况下,输入"1998-01-15"和输入"1998-01-01,1998-01-15"等效。
"WTFHYS"、"WTFHYE"的取数来源单据必须是已审核的,所以在方式字中不能出现"h", 即"审核状态"。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账委托代销发货数据的一部分(本位币为人民币。发货金额
与发货折扣栏目的第一个数字为原币金额,第二个数字为本位币金额。例如,第三行数据中
"60/500",60 指 60 美元,500 指 500 人民币元)。
注: 日期中含"*"标记的记录为未审核的发货记录。
与上表数据对应的 1998 年 1 月期初余额和余数(按销售类型+币名+货物编号+客户+部门+业务员
分组,如上表中的第 6 行和第 7 行数据同组)如下表所示:
下表为该企业 1998 年 1 月份 001 套账委托代销结算数据的一部分(本位币为人民币。发货金额
与发货折扣栏目的第一个数字为原币金额,第二个数字为本位币金额。例如,第三行数据中
"60/500",60 指 60 美元,500 指 500 人民币元)。
220
以上 3 表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
sWTFH(1,"s01",,"001",1998,"c","c01")
返回 001 套账销售类型编号为"s01"的"c01"货物 1998 年 1 月委托发货数量 100+40=140。
jWTFH(102,,,,,"c%","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"cf1"存货分类下属货物
(含"c01"和"c02")1998 年第 2 旬(1998 年 01 月 11 日至 1998 年 01 月 20 日)的委托发货发货
件数 5。
WTFHJE(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一
季度(1998 年 1 月至 3 月)人民币委托发货金额 1170+702=1872 人民币元。
WTFHZK(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一
季度(1998 年 1 月至 3 月)人民币委托发货折扣额 100 人民币元。
WTFHYS("1998-1-15",,,"001",1998,"bc","b11","c01")
返回 001 套账"b11"部门的"c01"货物 1998 年 1 月 15 日委托代销发货余数(25+3)+(100+50)
-100=78。
WTFHYE("1998-1-15",,,"001",1998,"bc","b11","c01")
返回 001 套账"b11"部门的"c01"货物 1998 年 1 月 15 日本位币委托代销发货余额(280+34)+
(1170+702)-1170=816 人民币元。
sWTJS(1,"s01",,"001",1998,"c","c01")
返回 001 套账销售类型编号为"s01"的"c01"货物 1998 年 1 月委托结算数量 100。
jWTFH(102,,,,,"c%","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"cf1"存货分类下属货物
(含"c01"和"c02")1998 年第 2 旬(1998 年 01 月 11 日至 1998 年 01 月 20 日)的委托代销结算
件数 0。
WTJSJE(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一
季度(1998 年 1 月至 3 月)人民币委托结算金额 1170+702=1872 人民币元。
WTJSZK(21,"s01","人民币","001",1998,"k%r%","kf1",r01)
返回 001 套账"r01"业务员"kf1"客户分类下属客户(含"k01")销售类型编号为"s01"的 1998 年第一季
度(1998 年 1 月至 3 月)人民币委托代销结算折扣额 100 人民币元。
附 3.3.11.5 代垫费用函数
〖函数格式〗
<代垫费用函数>∷=<代垫费用函数名>(<期间>,<费用项目编码>,[<账套号>],[<会计年度>],
[<方式字>],[<编码>,]*)
<代垫费用函数名>∷=代垫费用金额|DDFYJE
<费用项目编码>∷=<字符串>
221
〖格式说明〗
"代垫费用金额"从代垫费用单取数。
〖参数说明〗
费用项目编号默认为空,即取所有费用项目。合法的〈费用项目编码〉为已定义的费用项目的
编码。
有关账套号、年度及关键字等详见"约定"。
有关方式字的说明详见"销售__附录一"。
〖返回值〗
数值型。
注意
若部门为非末级部门,则返回其所有下属部门的代垫费用金额。
金额单位为本位币。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账代垫费用数据的一部分(本位币为人民币)。
注: 日期中含"*"标记的记录为未审核的代垫费用记录。
上表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
DDFYJE(1,"f01","001",1998,"b","b11")
返回 001 套账费用项目编号为"f01"的"b11"部门 1998 年 1 月代垫费用金额 150.3+39.5+88=277.8。
DDFYJE("1998-01-01,1998-01-15",,,,"bc","b1","c01")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账 b1 部门下属各部门(含
"b11" 和 "b12" ) "c01" 货 物 1998 年 01 月 01 日 至 1998 年 01 月 15 日 的 代 垫 费 用 金 额
150.3+39.5=189.8。
DDFYJE(30,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账 b1 部门下属各部门(含
"b11" 和 "b12" ) "c01" 货 物 1998 年 01 月 01 日 至 1998 年 01 月 15 日 的 代 垫 费 用 金 额
150.3+39.5=189.8。
DDFYJE(30,,,,"h","2")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年的未审核代垫费
用单的代垫费用金额 10.8+43.5=54.1。
附 3.3.11.6 销售费用函数
〖函数格式〗
<销售费用函数>∷=<销售费用函数名>(<期间>,<费用项目编码>,[<账套号>],[<会计年度>],
[<方式字>],[<编码>,]*)
<销售费用函数名>∷=销售费用金额|XSFYJE
222
〖格式说明〗
"销售费用金额"从销售支出单取数。
〖参数说明〗
用项目编号默认为空,即取所有费用项目。合法的〈费用项目编码〉为已定义的费用项目的编码。
有关账套号、年度及关键字等详见"约定"。
有关方式字的说明详见"销售__附录四"。
〖返回值〗
数值型。
注意
若部门为非末级部门,则返回其所有下属部门的销售费用金额。
金额单位为本位币。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账销售费用数据的一部分(本位币为人民币)。
上表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
XSFYJE(1,"f11","001",1998,"b","b11")
返回 001 套账费用项目编号为"f11"的"b11"部门 1998 年 1 月销售费用金额 203。
XSFYJE("1998-01-01,1998-01-15",,,,"bc","b1","c01")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账 b1 部门下属各部门(含
"b11"和"b12")"c01"货物 1998 年 01 月 01 日至 1998 年 01 月 15 日的销售费用金额。
XSFYJE(41,,,,"r","r01")
若当前表页关键字值为:年=1998,缺省账套号为"001", 返回 001 套账"r01"业务员 1998 年第 1
周(1998 年 01 月 01 日至 1998 年 01 月 04 日)的销售费用金额 203+115=318。
附 3.3.11.7 包装物租借函数
〖函数说明〗
销售__包装物租借函数。
8.0 以下版本:无。
〖函数格式〗
<包装物租借函数>∷=<包装物租借函数名>(<期间>,[<账套号>],[<年度>],[<方式字>],[<
编码>,]*)
<包装物租借函数名>∷=包装物租借金额|BZWZJJE|包装物租借数量|BZWZJSL|包装物退还金额
|BZWTHJE|包装物退还数量|BZWTHSL|包装物租借余额|BZWZJYE|包装物租借余数|BZWZJYS
〖格式说明〗
函数按以下六种方式分为:
223
包装物租借数量:取包装物租借登记的数量,函数名为"包装物租借数量"或"BZWZJSL";
包装物租借金额:取包装物租借登记的金额,函数名为"包装物租借金额"或"BZWZJJE";
包装物退还数量:取包装物退还登记的数量,函数名为"包装物退还数量"或"BZWTHSL";
包装物退还金额:取包装物退还登记的金额,函数名为"包装物退还金额"或"BZWTHJE";
包装物租借余数:取包装物租借登记未退还的数量余额,函数名为"包装物租借余数"或
"BZWZJYS";
包装物租借余额:取包装物租借登记未退还的金额余额,函数名为"包装物租借余额"或
"BZWZJYE"。
〖参数说明〗
有关账套号、年度及关键字等详见"约定"。
"WTFHYS"、"WTFHYE"有关方式字的说明详见"销售__附录四"。
〖返回值〗
数值型。
注意
若部门为非末级部门,则返回其所有下属部门的包装物租借数值。
包装物也是存货,因此若想指定包装物项目,在方式字中指定存货即可。
金额的金额单位为本位币。
〖范例〗
下表为某企业 1998 年 1 月份 001 套账包装物租借数据的一部分(本位币为人民币,以前年度未
完全退还的包装” 租借数据也列入其中)。
上表数据中涉及货物所属存货分类、客户所属客户分类、部门所属上级部门如下表所示:
例如:
BZWZJSL(1,"001",1998,"c","c11")
返回 001 套账"c11"包装物 1998 年 1 月租借数量 10。
BZWZJJE(21)
返回 001 套账 1998 年第一季度的租借金额 721+100=821。
BZWTHSL(42,"001",1998,"k","k01")
返回 001 套账"k01"客户的 1998 年第 2 周(1998 年 01 月 01 日-1998 年 01 月退还数量 36。
BZWTHJE("1998-01-16",,"bc%","b11","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年 1 月 16 日"b11"
部门"cf1"存货分类下属的各包装物(含"c11"和"c12")的退还金额 721。
BZWZJYS(1,"001",1998,"ckb","c11","k01","b11")
返回 001 套账"b11"部门"k01"客户的"c11"包装物 1998 年 1 月的租借余数 36-36=0。
BZWZJYE(1,"001",1998,"ckb","c11","k01","b11")
返回 001 套账"b11"部门"k01"客户的"c11"包装物 1998 年 1 月的租借余额 812-812=0。
224
附 3.3.11.8 销售计划函数
〖函数格式〗
<销售计划函数>∷=<销售计划函数名>(<期间>,[<账套号>],[<年度>],[<方式字>],[<编码>,]*)
<销售计划函数名>∷=销售计划金额|XSJHJE|销售计划定额|XSJHDE|销售计划数量|XSJHSL
〖格式说明〗
函数按以下三种方式分为:
销售计划数量:取销售计划编制的数量,函数名为"销售计划数量"或"XSJHSL";
销售计划金额:取销售计划编制的金额,函数名为"销售计划金额"或"XSJHJE";
销售计划定额:取销售计划编制的销售定额,函数名为"销售计划定额"或"XSJHDE";
〖参数说明〗
有关账套号、年度及关键字等详见"约定"。
"XSJHSL"、"XSJHJE"、"XSJHDE"有关方式字的说明详见"销售__附录四"。
〖返回值〗
数值型。
注意
期间只能输入"年"、"月"、"日"。
金额单位为本位币。
在方式字中,"B"以及"C"或"C%"必输其一。
在"销售计划定额"函数中,不支持"C"或"C%"。
〖范例〗
下表为某企业 1998 年 1 月份-3 月份销售计划编制的一部分(本位币为人民币)。
上表数据中涉及货物所属存货分类、部门所属上级部门如下表所示:
例如:
XSJHSL(1,"001",1998,"c","c11")
返回 001 套账"c01"货物 1998 年 1 月计划数量 120。
XSJHJE(21,,"b%c%","b1","cf1")
若当前表页关键字值为:年=1998,缺省账套号为"001",返回 001 套账 1998 年第 1 季度"b1"部门
下属各部门"cf1"存货分类下属的各货物(含"c01")计划金额 1500+1350+1600=4450。
销售__附录一
225
销售__附录二
销售__附录三
销售__附录四
226
">
/
Stiahnuť
Len priateľské pripomenutie. Dokument si môžete pozrieť priamo tu. Ale čo je najdôležitejšie, naša AI si ho už prečítala. Dokáže vysvetliť zložité veci jednoducho, odpovedať na vaše otázky v akomkoľvek jazyku a pomôže vám rýchlo prechádzať aj tie najdlhšie alebo najkomplikovanejšie dokumenty.
Reklama