AO 培训辅助资料
()
中软总公司计算机培训中心
AO 培训组编写
2004-10-29
目录
(一) 审计机关项目计划代码编制规则(非正式版) .......4
1、 目的 ................................................................................4
2、 适用范围 ........................................................................4
3、 编码原则 ........................................................................4
4、 代码结构 ........................................................................4
5、 编码方法 ........................................................................5
(二) 财务软件备份数据采集说明 .......................................9
1、 基本界面 ........................................................................9
2、 用友 ......................................................................10
3、 用友 SQL Server 版 ............................................11
4、 用友 Access 版...................................................11
5、 中勤月备份 ..................................................................11
6、 中勤年备份 ..................................................................11
7、 安易 ........................................................................12
8、 安易 ......................................................................12
9、 安易 2000 导出文件 DBF ...........................................12
10、 安易 2000 备份文件 ..................................................12
11、 金蝶 ......................................................................12
12、 金蝶 ......................................................................13
13、 金蝶 ......................................................................13
14、 金算盘 ........................................................................13
15、 万能 ............................................................................13
16、 通用财会软件 ..............................13
17、 万通通用 ....................................................................14
18、 事行财务软件 ....................................................14
19、 小蜜蜂 ........................................................................14
(三) 数据库数据采集说明 .................................................15
1、 财务数据必导字段 ......................................................15
2、 导入的特殊处理 ..........................................................16
3、 试验数据采集对应关系 ..............................................16
(四) SQL 查询器操作表相关字段.....................................18
1、 明细账和日记账相关字段: ......................................18
2、 “会计科目”相关字段: ..............................................20
3、 “总账”相关字段: ......................................................21
4、 “全年总账”相关字段: ..............................................21
5、 “凭证库”相关字段: ..................................................22
(五) 报表制作函数使用指南 .............................................23
1、 单元取值函数 ..............................................................23
2、 单元求和函数 ..............................................................23
3、 借方期初函数 ..............................................................23
4、 贷方期初函数 ..............................................................23
5、 借方期末函数 ..............................................................23
6、 贷方期末函数 ..............................................................24
7、 借方发生函数 ..............................................................24
8、 贷方发生函数 ..............................................................24
9、 函数使用 ......................................................................24
(六) 审计脚本语言(ASL)使用简单入门......................24
1、 审计脚本语言介绍 ......................................................24
2、 语法规则 ......................................................................25
3、 算术运算符 ..................................................................26
4、 逻辑运算符 ..................................................................27
5、 界符 ..............................................................................27
6、 系统基本字(保留字) ..............................................28
7、 系统标示符(自定义系统函数及过程) ..................30
8、 审计脚本语言(ASL)实例 ......................................32
(一)审计机关项目计划代码编制规则(非正式版)
1、目的
编制审计项目计划编码,满足审计信息化建设计算机信
息处理、信息交换的需要。
2、适用范围
本代码编制规则及代码表所规定的内容,适用于审计信
息化建设计算机信息处理。
3、编码原则
审计项目计划编码为审计信息化建设计算机信息处理项
目计划的唯一标识,计划。后期的计划调整对项目编码有着
一定的影响,某些项目在发生调增或调减时,直接影响到项
目计划的编码。
4、代码结构
代码包含①年份 4 位,①是否效益审计 1 位,①是否审计
调查 1 位,①项目级别 1 位,①项目类别 1 位,①审计分类 4
位,①署级流水码 2 位,①省级流水码 2 位,①市级流水码 2
位,①县级流水码 2 位, ○11扩展码 2 位, ○12审计机关代码 6
位, ○13预留 4 位,共 32 位,结构为:
XXXX X X X X XXXX XX XX XX XX
① 4 ①1 ①1 ①1 ①1 ①4 ①2
①2 ①2 ①2
XX XXXXXX XXXX
○112 ○126 ○134
5、编码方法
①年份(4 位)
采用公元制四位阿拉伯数字
①审计内容(1 位)
审计内容 代码
财政财务审计 1
效益审计 2
①审计或专项审计调查(1 位)
审计或专项审计调
查
代码
审计 1
专项审计调查 2
①项目级别(1 位)
项目级别 代码
署定项目 1
省定项目 2
市定项目 3
县定项目 4
①项目类别(1 位)
项目类别 代码
统一组织 1
自定 2
授权 3
①审计分类(4 位)
其中,第 1 位为大分类,2-4 位为子分类。
专业类别 代码
财政审计 1000
预算执行 1001
财政决算 1002
海关 1003
国税 1004
地税 1005
国库 1006
其他财政 1007
文教审计
卫生审计
科技审计
水利资金审计
农业资金审计
林业资金审计
环保资金审计
扶贫资金审计
农发资金审计
国土资金审计
三峡移民资金审
计
建设项目审计
施工企业审计
国债资金审计
养老保险
失业保险审计
医疗保险审计
低保审计
工伤保险审计
企业审计 2000
……
金融审计 3000
中央银行审计 3001
商业银行审计 3002
政策性银行审计 3003
证券机构审计 3004
保险审计 3005
其他金融机构 3006
经济责任审计 4000
企业领导人审计 4001
事业领导人审计 4002
党政领导人审计 4003
其他领导人审计 4004
内部审计 8000
社会审计 9000
①署级流水码 2 位 ①省级流水码 2 位 ①市级流水码 2 位
①县级流水码 2 位:
本审计类别中的项目,从 01 开始顺序流水编号。对于本
级审计单位组织且本级审计单位执行的项目,流水编号由本
级审计机关按顺序号编制。对于上级审计单位组织本级审计
单位执行的项目,选用上级单位制定的编号。特派办、派出
局由于没有下级机构,统一采用县级流水码。本位 00 表示
非本级执行。
○11扩展码(2 位)
当上级组织的项目在本级执行或者分解为多个项目执行
时,使用流水编号表示当前项目的编号。
○12审计机关编码(6 位)
截取审计机关组织机构代码编制规则中的 6 位机构本体
代码。
○13预留至少 4 位(4 位)
用于编码未来的扩展。
如:审计署统一组织的预算执行审计项目 A 下达给湖南
省厅;湖南省厅建立用于汇总的项目 A1,并根据被审计单
位将 A1 项目分解成项目 A1 扩 1 和项目 A1 扩 2;同时,湖
南省厅将项目下达给长沙市审计局,此时长沙市局将建立用
于汇总的项目 A11,并根据被审计单位将项目分解为 A11 扩
1 和 A11 扩 2,完成相关的审计工作。其他省、地市也将以
同样的方式分解项目。项目关系如下图所示:
项目编号分别为(仅①①①①①①① ○11 ○12几位):
项目 ① ① ① ① ① ① ① ○11 ○12 编码
A 1 1 10
01
0
3
0
0
0
0
0
0
00 0000
00
111001030000000
0000000
A1 1 1 10
01
0
3
0
1
0
0
0
0
00 4300
00
111001030100000
0430000
A1
扩 1
1 1 10
01
0
3
0
1
0
0
0
0
01 4300
00
111001030100000
1430000
A1
扩 2
1 1 10
01
0
3
0
1
0
0
0
0
02 4300
00
111001030100000
2430000
A
署
省
地市
县
省
1
A1 省
2
A2
A1扩1
A1扩2
A2扩3A2扩1 A2扩2
市
1
A11
A11扩1 A11扩2
A14A12 A13
A3
市
2
A111 B
A15
A11 1 1 10
01
0
3
0
1
0
1
0
0
00 4301
00
111001030101000
0430100
A11
扩 1
1 1 10
01
0
3
0
1
0
1
0
0
01 4301
00
111001030101000
1430100
A11
扩 2
1 1 10
01
0
3
0
1
0
1
0
0
02 4301
00
111001030101000
2430100
A111 1 1 10
01
0
3
0
1
0
1
0
1
00 4301
05
111001030101010
0430105
A12 1 1 10
01
0
3
0
1
0
2
0
0
00 4301
00
111001030102000
0430100
A13 1 1 10
01
0
3
0
1
0
3
0
0
00 4301
00
111001030103000
0430100
A14 1 1 10
01
0
3
0
1
0
4
0
0
00 4301
00
111001030104000
0430100
A15 1 1 10
01
0
3
0
1
0
1
0
0
00 4302
00
111001030101000
0430200
A2 1 1 10
01
0
3
0
2
0
0
0
0
00 4300
00
111001030200000
0430000
A2
扩 1
1 1 10
01
0
3
0
2
0
0
0
0
01 4300
00
111001030200000
1430000
A2
扩 2
1 1 10
01
0
3
0
2
0
0
0
0
02 4300
00
111001030200000
2430000
A2
扩 3
1 1 10
01
0
3
0
2
0
0
0
0
03 4300
00
111001030200000
3430000
A3 1 1 10
01
0
3
0
1
0
0
0
0
00 4200
00
111001030100000
0420000
B 1 1 10
01
0
0
0
0
0
0
0
3
00 0010
03
111001000000030
0001003
上表中项目 B 为武汉特派办自定项目。
项目汇总关系:
1、 项目由①①①①唯一定义一个署定项目。
2、 项目的上下级关系由①①两位标识,对于本级统计,则
需要汇总所有分解到下一级审计机关执行的项目(参照①)
及本级审计机关扩展的项目(参照①)。
3、 逐级向上汇总。
(二)财务软件备份数据采集说明
1、基本界面
选择 AO 系统菜单采集转换→财务数据→财务软件备
份数据→采集数据,打开后得到如下数据转换界面
首先要选择转换模板(针对不同得财务软件系统设置
得转换方法)如下界面:
选择转换模板后要选择数据源,数据年度了也就是从
被审计单位得到得财务软件备份数据存储在什么位置和
是那一年的数据如下图:
单击开始后开始转换,当你处理不同的财务数据时会有
不同的提示信息出现,下面将逐一介绍系统提供的 18 个
转换模板使用说明:
2、用友
选择转换模板用友 后,选择数据源;请选择你备
份盘上的“_” 文件,而后键入财务数据的年份, ,
以下操作系统会自动完成。
3、用友 SQL Server 版
选择转换模板用友 SQL Server 后,选择数据源;请
选择你备份盘上的“_” 文件,而后键入财务
数据的年份, ,以下操作系统会自动完成。
注意:此转换模板要求你的计算机上安装并且正在运
行 Sql Server 服务端,仅安装了 Client 端不能使用此模
板。
4、用友 Access 版
选择转换模板用友 Access 后,选择数据源;请选
择 你 备 份 盘 上 的 “ _ ” 文 件 或
“*******.MD_”(其中******代表一串数字;如果两个文件
都有请用文本编辑器查看备份盘上的文件 UFERPACT 其
扩展名可能为 LST,LS0,LS1 等),而后键入财务数据的
年份, ,以下操作系统会自动完成。
5、中勤月备份
由于数据备份在软盘上,首先在我们的硬盘上建立子
目录 c:\数据,然后在 c:\目录下建立子目录 c:\数据
\disk1,… c:\数据\disk12 (假如我们有 12 张软盘数据),然
后将第一张软盘的数据拷贝到 c:\数据\disk1…第 12 张软
盘的数据拷贝到 c:\数据\disk2…;此时数据已经准备好了,
选择转换模板中勤月备份后,选择数据源;请选择你刚刚
创建的目录“c:\数据” ;而后键入财务数据的年份, ,以
下操作系统会自动完成。
6、中勤年备份
由于数据备份在软盘上,首先在我们的硬盘上建立子
目录 c:\数据,然后在 c:\目录下建立子目录 c:\数据
\disk1,… c:\数据\disk12 (假如我们有 12 张软盘数据),然
后将第一张软盘的数据拷贝到 c:\数据\disk1…第 12 张软
盘的数据拷贝到 c:\数据\disk2…;此时数据已经准备好了,
选择转换模板中勤月备份后,选择数据源;请选择你刚刚
创建的目录“c:\数据” ;而后键入财务数据的年份, ,以
下操作系统会自动完成。
7、安易
从被审计单位获取安易 的非压缩的备份文件(安易
软件备份时可以选择),假如我们将其拷贝到硬盘‘c:\数据’
子目录下
选择数据源;请选择你导出文件存放的位置“c:\数据”;而
后键入财务数据的年份,,以下操作系统会自动完成。
8、安易
从被审计单位获取安易 的非压缩的备份文件(安
易软件备份时可以选择),假如我们将其拷贝到硬盘‘c:\数
据’子目录下
选择数据源;请选择你导出文件存放的位置“c:\数据”;而
后键入财务数据的年份,,以下操作系统会自动完成。
9、安易 2000 导出文件 DBF
利用安易 2000 财务软件所带的数据导出功能,将所有
表导出选择转换模板用友安易 2000 导出文件 DBF 后,选
择数据源;请选择你导出文件存放的位置;而后键入财务
数据的年份, ,以下操作系统会自动完成。
10、安易 2000 备份文件
选择转换模板用友安易 2000 备份文件后,选择数据源;
请选择你的文件存放的位置;而后键入财务数据的年份,
以下操作系统会自动完成。
11、金蝶
选择转换模板用友金蝶 后,选择数据源;请选择你
备份盘上的“***.AIB” 文件(***代表文件名),而后键入财
务数据的年份, ,以下操作系统会自动完成。
12、金蝶
选择转换模板用友金蝶 后,选择数据源;请选择你
备份盘上的“***.AIB” 文件(***代表文件名),而后键入财
务数据的年份, ,以下操作系统会自动完成。
13、金蝶
选择转换模板用友金蝶 后,选择数据源;请选择你
备份盘上的“***.AIB” 文件(***代表文件名),而后键入财
务数据的年份,以下操作系统会自动完成。
14、金算盘
从被审计单位获取备份盘上的文件为:,我们将其拷
贝到我们的硬盘上例如:‘ c:\数据’子目录下;选择你备份
盘上的****.god(‘ ****’为文件名),而后键入财务数据的
年份, ,以下操作系统会自动完成。
15、万能
从被审计单位获取备份盘上的文件为:,我们将其拷
贝到我们的硬盘上例如:‘ c:\数据’子目录下;选择你备份
盘上的****.god(‘ ****’为文件名),而后键入财务数据的
年份, ,以下操作系统会自动完成。
16、通用财会软件
从被审计单位获取未压缩的备份文件,选择数据源;
请选择你备份盘上的“***. BDB” 文件(***代表文件名),
而后键入财务数据的年份, 以下操作系统会自动完成。
17、万通通用
18、事行财务软件
由于此软件备份文件为加密文件,所以只有通过财务
人员从计算机上直接将数据拷贝出来;假如存在存放在你
的计算机“c:\数据” 下,选择数据源;请选择目录“c:\数
据” ;而后键入财务数据的年份, ,以下操作系统会自动
完成。
19、小蜜蜂
通 过 财 务 人 员 从 计 算 机 上 直 接 将 数 据 文 件
(BEEAC****.mdb)拷贝出来(****代表账套号);假如
存在你的计算机“c:\数据\ BEEAC****.mdb” 下,选择数
据源;请选择目录“c:\数据\ BEEAC****.mdb”文件 ;而
后键入财务数据的年份, 下面系统会弹出界面如下:
选择你要转入的账套,单击开始以下操作系统会自动完
成。
(三)数据库数据采集说明
1、财务数据必导字段
a) 科目设置表
必须导入或填写。
b) 会计期间定义
必须导入或填写。
c) 科目余额表
必导字段包括:科目编码、期初余额\\余额方向。
根据具体情况选择导入字段:(如果期初余额不为
0,一定导入或想办法获取)、会计月份(如果被审计
单位余额表中保存的是各月的期初余额则导入本字
段)。
d) 会计科目表
必导字段包括:科目编码、科目名称。
根据具体情况选择导入字段:余额方向(如果有就
导,没有就不导)。
e) 单张凭证表(凭证为一张表的情况)
i. 必导字段包括:科目编码、摘要、凭证类型名称(有
导,没有可使用被审计单位的凭证流水号字段)、凭
证流水号、凭证日期、借方发生额、贷方发生额;
ii. 可导可不导字段包括:附件数、项目编码、项目名
称、部门编码、部门名称、财务主管、记账人 、出
纳人、审核人、制单人、源凭证号
f) 凭证表和凭证明细表(凭证分为凭证表和凭证明细表
的情况)
i. 凭证表必导字段包括:源凭证号(即关联凭证表和
凭证明细表的关联号)、凭证类型名称(有导,没有
不导)、凭证流水号、凭证日期;
ii. 凭证表可导可不导字段包括:附件数、财务主管、
记账人 、出纳人、审核人、制单人。
iii. 凭证明细表必导字段包括:源凭证号(即关联凭证
表和凭证明细表的关联号)、科目编码、摘要、借方
发生额、贷方发生额;
iv. 凭证明细表可导可不导字段包括:项目编码、项目
名称、部门编码、部门名称。
2、导入的特殊处理
a) 浅黄色框
i. 由于源数据的余额方向与 AO 审计分析的余额方向
可能取值不一致,所以需要将源数据与审计分析数
据对应起来;
ii. 在导入科目余额表和会计科目表的余额方向时,最
后一步的字段对应,中间有个浅黄色框;
iii. 选择对应字段后,点击浅黄色框,将源数据中余额
方向表示借贷方向的值与系统表示借贷方向的值一
一对应,如果对方科目余额表有表示“平”的数据,
不用对应,或在对应之前通过过滤功能将“平”的数
据删除
b) 浅绿色框
i. 经调查,有多家财务软件(如金算盘)在处理凭证
的金额时,它没有将凭证的借方金额,贷方金额分
成两个字段分别表示,而是通过一个“金额”字段和
“借贷方向”字段来表示这条分录是借方金额还是贷
方金额,在审计分析软件中,采用前一种(即借方
金额和贷方金额分别记录),所以需要将后一种成功
导入到审计分析软件中;
ii. 在导入凭证表的最后一步,做字段对应时,中间有
个浅绿色框;
iii. 在遇到类似金算盘软件记录凭证金额时,选择金额
与借方发生额对应,点击浅绿色框,选择辅助字段
“借贷方向”,选择值“借”对应即可。导入贷方发生
额时类似。
3、试验数据采集对应关系
a) 凭证导入方式
选择“源数据凭证表为一个表”
b) “会计期间定义”
第一页,“选择数据源”步骤中按“辅助导入”按钮,填
入试验数据的会计年度 2003。
c) “科目余额表”
第一页,“选择数据源”步骤中选择 GL_asssum。
第二页,“数据表处理”跳过。
第三页,“数据字段处理”跳过。
第四页,“数据记录处理”步骤中按“设置过滤”按钮,
填入过滤条件:CBEGIND_C < > ‘平’。
第五页,“字段对应设置”步骤中对应字段,对应列表
如下:
CCODE=科目编码
MB=本币期初余额
CBEGIND_C=余额方向
IPERIOD=会计月份
点击余额方向旁边的“浅黄色框”,设置方向对应,
借=借,贷=贷。
对应完毕后,点击“导入”按钮。
d) “会计科目表”(code)
第一页,“选择数据源”步骤中选择 code。
第二页,“数据表处理”跳过。
第三页,“数据字段处理”跳过。
第四页,“数据记录处理”跳过。
第五页,“字段对应设置”步骤中对应字段,对应列表
如下:
CCODE=科目编码
CCODE_NAME=科目名称
对应完毕后,点击“导入”按钮。
e) “科目设置”
第一页,“选择数据源”步骤中按“手工填写”按钮,填
写每级科目的长度。“选择科目编码格式”页面中选择
“规则”,然后填入试验数据的科目级次长度:一级科
目长度为 3,二、三、四、五级科目长度均为 2。
f) “凭证”
第一页,“选择数据源”步骤中选择 GL_accvouch。
第二页,“数据表处理”跳过。
第三页,“数据字段处理”跳过。
第四页,“数据记录处理”跳过。
第五页,“字段对应设置”步骤中对应字段,对应列表
如下:
DBILL_DATE=凭证日期
CSIGN=凭证类型名称
INO_ID=凭证流水号
IDOC=附件数
CCODE=科目编码
CDIGEST=摘要
MD=借方金额
MC=贷方金额
对应完毕后,点击“导入”按钮。
(四)SQL 查询器操作表相关字段
1、明细账和日记账相关字段:
字段名称 类型(大
小)
默认
值
必填字
段
字段说明
序号 自动编号 无 否 主键,明细账中记
录的唯一标识
凭证日期 日期/时
间
无 否 凭证的制单日期
凭证流水 文本(254)无 否 凭证中的凭证号
号
摘要 文本(254)无 否 凭证摘要
借方金额 数字(双
精度型)
0 否 本科目在这张凭证
中借方发生的金额
贷方金额 数字(双
精度型)
0 否 本科目在这张凭证
中贷方发生的金额
附件数 文本(254)无 否 这张凭证所附带的
单据
凭证类型
名称
文本(254)无 否 这张凭证所属类型
名称。如记帐凭证、
现收等
会计年份 数字(整
型)
0 否 凭证日期所在的会
计年份
会计月份 数字(整
型)
0 否 凭证日期所在的会
计月份
是否计算
字段
数字(整
型)
0 否 是否是通过数据库
数据计算出来的字。
段 0 表示非计算字
段,1 表示计算字段
(月计、累计)
源凭证号 文本(254)无 否 凭证的唯一标识
选择 是/否 0 是 供展现时选择的字
段
对应科目
编码
备注 无 否 同一张凭证现金对
应的方向相反的会
计科目编码, 如对
应科目有多个,之间
用'|'隔开
对应科目
名称
备注 无 否 同一张凭证现金对
应的方向相反的会
计科目名称,如对应
科目有多个,之间用
'|'隔开
余额 数字(双
精度型)
0 否 该笔业务结束后,库
存现金的数量,公式:
上一笔的余额+借
方金额-贷方金额
方向 数字(整
形)
0 否 1 表示借方发生额
不为 0, -1 表示贷
方发生额不为 0, 0
表示其他
部门编码 文本(254)无 否 部门核算时的部门
编码
部门名称 文本(254)无 否 部门核算时的部门
名称
项目编码 文本(254)无 否 项目核算时的项目
编码
项目名称 文本(254)无 否 项目核算时的项目
名称
2、“会计科目”相关字段:
字段名称 类型(大
小)
默认
值
必填字
段
字段说明
科目编码 文本(254)无 是 主键,会计科目编
码,会计科目的唯
一标识
科目名称 文本(254)无 否 会计科目的名称
余额方向 数字(整
型)
0 否 会计科目的余额方
向; 1 表示借方,-
1 表示贷方
科目类别
名称
文本(254)无 否 科目类别名称,如资
产、负债、所有者
权益等等
上级科目 文本(254)无 否 本科目的上级科目
编码 的编码
科目类别
编号
文本(10)无 否 科目类别编号, 关
联科目类别表
科目全称 文本(254)无 否 会计科目的全称
(包括它的上级科
目的所有名称)
科目级别 数字(整
型)
0 否 会计科目所处级别
项目核算 数字(整
型)
0 否 该会计科目是否进
行项目核算,0 表示
不进行项目核算,1
表示进行项目核算
部门核算 数字(整
形)
0 否 该会计科目是否进
行部门核算,0 表示
不进行部门核算,1
表示进行部门核算
是否现金
或现金等
价物
数字(整
型)
0 否 是否是现金或现金
等价物(包括现金,
银行存款, 其他货
币资金, 三个月到
期的短期投资)
是否是标 数字(整 0 否 通过与标准科目对
准科目 型) 比,判断是否是标准
科目 0 表示不是标
准科目
是否最底
级科目
数字(整
型)
0 否 是否是最底级会计
科目
备注 文本(255)无 否 该会计科目的信息
说明
3、“总账”相关字段:
字段名称 类型(大小)
科目编码 文本(254)
科目名称 文本(254)
期初余额 数字(双精度型)
借方发生额 数字(双精度型)
贷方发生额 数字(双精度型)
期末余额 数字(双精度型)
凭证数量 文本(254)
余额方向 数字(整型)
会计月份 数字(整型)
项目核算 数字(整形)
部门核算 数字(整形)
4、“全年总账”相关字段:
字段名称 类型(大小)
科目编码 文本(254)
科目名称 文本(254)
期初余额 数字(双精度型)
借方发生额 数字(双精度型)
贷方发生额 数字(双精度型)
期末余额 数字(双精度型)
凭证数量 文本(254)
余额方向 数字(整型)
项目核算 数字(整形)
部门核算 数字(整形)
5、“凭证库”相关字段:
字段名称 类型(大
小)
默认
值
必填字
段
字段说明
科目编码 文本(254)无 否 科目唯一编号,与会
计科目表关联
科目名称 文本(254)无 否 会计科目的名称
摘要 文本(254)无 否 凭证摘要
凭证日期 日期/时
间
无 否 凭证制单日期,从
被审单位导入
借方金额 数字(双
精度型)
0 否 本科目在这张凭证
中借方发生的金额
贷方金额 数字(双
精度型)
0 否 本科目在这张凭证
中贷方发生的金额
凭证类型 文本(254)无 否 从被审单位导入的
凭证类型
凭证号 文本(254)无 否 从被审单位数据中
导入的凭证号
附件数 文本(254)无 否 凭证附带的原始凭
证数量,从被审单
位导入
项目编码 文本(254)无 否 项目核算时的项目
编码
项目名称 文本(254)无 否 项目核算时的项目
名称
部门编码 文本(254)无 否 部门核算时的部门
编码
部门名称 文本(254)无 否 部门核算时的部门
名称
会计年份 数字(整
型)
0 否 凭证日期所在的会
计年
会计月份 数字(整
型)
0 否 凭证日期所在的会
计月
财务主管 文本(254)无 否 财务主管
记账人 文本(254)无 否 记账人
出纳人 文本(254)无 否 出纳,与制单人非
同一人
审核人 文本(254)无 否 审核人,与制单人
非同一人
制单人 文本(254)无 否 填写凭证的财务人
员
源凭证号 文本(254)无 否 主键,凭证的唯一
编号(根据被审单
位数据或系统生成)
(五)报表制作函数使用指南
1、单元取值函数
Cell(x, y):返回指定单元格的值,其中 x,y 分别
是数据表列、行;
2、单元求和函数
SumCell (x1,y1,x2,y2):返回指定数据表区域的合
计值,其中 x1,y1 是起始计算点坐标(列、行),x2,y2
是中止计算点坐标;
3、借方期初函数
JFQC(AccCode, iYear, iMonth):指定资产类会计科目
的期初余额(借方期初),其中 AccCode 为会计科目编码,
iYear、iMonth 分别为所计算会计年、会计月;
4、贷方期初函数
DFQC(AccCode, iYear, iMonth):指定负债类会计科目
的期初余额(贷方期初),其中 AccCode 为会计科目编码,
iYear、iMonth 分别为所计算会计年、会计月;
5、借方期末函数
JFQM(AccCode, iYear, iMonth):指定资产类会计科目
的期末余额(借方期末),其中 AccCode 为会计科目编码,
iYear、iMonth 分别为所计算会计年、会计月;
6、贷方期末函数
DFQM(AccCode, iYear, iMonth):指定负债类会计科目
的期末余额(贷方期末),其中 AccCode 为会计科目编码,
iYear、iMonth 分别为所计算会计年、会计月
7、借方发生函数
JFFS(AccCode, iYear, iMonth1,iMonth2):指定费用支
出类会计科目在(iMonth2-iMonth1)个期间的发生额
(借方发生额),其中 iMonth1 为开始期,iMonth2 为计算
截至期;
8、贷方发生函数
DFFS(AccCode, iYear, iMonth1,iMonth2):指定收入类
会计科目在(iMonth2-iMonth1)个期间的发生额(贷方
发生额),其中 iMonth1 为开始期,iMonth2 为计算截至期;
9、函数使用
其中第 1-6 个函数主要在建资产负债表时使用,1、2、
7、8 主要在做利润表(或收入支出表)时使用
(六)审计脚本语言(ASL)使用简单入门
1、审计脚本语言介绍
审计脚本语言是基于 PASCAL 语言的基础之上开发
一门转为审计人员书写审计方法的编程语言。审计脚本
语言主体是 PASCAL 语言的子集,在此基础之上进行
了数据库操作、图表输出等一系列功能扩展,其功能简
单,结构清晰,可读性强,具备了一般高级语言的必备
部分(如: read,write,while-do, if-then,call,
begin-end,数组,过程,函数,赋值语句等)
2、语法规则
a) 约束
i. 变量、标示符、函数及过程名称一律使用英文字母
开头,可以使用英文和数字。
ii. 变量、标示符、函数及过程名称大小写不敏感。
iii. 一段程序中变量、过程不能超过 100 个。
iv. 数字最大位数为 24 位。
v. 过程嵌套不超过 3 层。
vi. 一行程序不超过 5000 个字符
b) 语法规则
i. 语法规则近似于 Pascal 语言。
ii. 任 何 一 段 超 过 1 行 以 上 的 程 序 需 要 使 用
begin….end 语句进行约束,表明那里时开始,哪里
是结束。
iii. 每行程序以分号作为结束符。
iv. 全程序以 end.作为结束
v. 变量定义要在主程序的 begin 之前。
vi. 赋值语句使用:=为运算符
c) 参数作用域
过程可以引用自己定义的局部参数,也可以引用包
围它的外过程定义的局部参数。
例如:在过程 p 中可以使用过程外部定义的常量
c,d 和变量 a。
const c=10,d=100;
var a;
procedure p;
begin
if a>10 then
write(c);
if a<10 then
write(d);
end;
begin
read(a);
call p;
end.
d) 程序举例(圆面积计算程序)
const p=; //常量说明部分
var s, r; //变量说明部分
begin //程序主体开始
read(r); //读取一个数值到变量 r 中
while r<>0 do //循环,直到 r=0 的时候结束循环
begin //循环开始
s:=p*r*r; //计算以 r 为半径的圆面积,
结果存储到 s 中
write(s) ; //输出 s 的值,也就是刚刚计
算出的圆面积
read(r); //重新需要用户输入一个值到 r 中
end; //循环结束,返回对应的 while 语
句行
end. //主程序结束
3、算术运算符
算术运算符 说明
+ 加号
- 减号
* 乘号
/ 除号
:=
等于号(赋值符、
算术表达式)
< 小于
> 大于
<>、# 不等于
<= 小于等于
>= 大于等于
4、逻辑运算符
逻辑运算符 说明
= 等于
and 与
or 或
not 非
5、界符
界符 说明
,
逗号,变量界符。用来分
隔函数和过程的参数,以
及声明变量时分隔变量
;
分号,语句界符。用来做
为每一行程序段的结束
标志
.
句号,程序界符。用来表
示程序全部结束,一般使
用在最后一个 end 后
( )
小括号,函数和过程的参
数界符。
[ ]
中括号,数组下标的界符,
定义数组时使用,一般中
括号中间添入该数组的
下标
‘’ 单引号,字符串的界符,
单引号中间一般为字符
串。如果想单独输入一个
单引号字符,则需要‘’’’。
//
注释符,注释符号,//后
的本行文字不影响程序
执行。
6、系统基本字(保留字)
系统基本字
(保留字)
说明 调用举例
var
变量定义基本字,描
述其后面的字符为定
义的变量。
var a, x, mymun;
const
常量定义基本字,描
述其后面的字符为定
义的常量。
const pi=;
array
数组定义基本字,描
述其后面的字符为定
义的数组。
array a[10], b[10];
procedure
过程定义基本字,描
述其后面的字符为定
义的程序过程。
call
调用过程基本字,调
用定义的一个过程。
var a;
procedure sum;
begin
a:=a+1;
write(a) ;
end;
begin
a:=1;
call sum;
end.
begin
程序开始基本字,一
段程序的开始标志。
end
程序结束基本字,一
段程序的结束标志。
程序段结束 end 后面
紧跟分号,全程序结
束 end 后面紧跟句号。
如过在 if 语句有 else,
则在 else 前的 end 不
var a, b;
begin
a:=1;
b:=2;
if a<>0 then
begin
b:=b+a;
write(b);
end;
end.
用跟随分号。
if
then
else
if-then-else判断基本
字。
if 条件 then
begin
处理语句;
处理语句;
end
else
begin
处理语句;
处理语句;
end;
if a>0 then
write(‘a 是正数’);
if a>0 then
write(‘a 是正数’)
else
write(‘a 是 不 是 正
数’);
if a>=0 then
begin
a:=a+1;
write(‘a 是正数’);
end
else
write(‘a 是负数’);
repeat
until
repeat-until循环基本
字。repeat- until循环是
直到until后的条件满
i:=0;
repeat
a:=i*i;
足循环就停止
repeat
处理语句;
处理语句;
until 条件;
write(a);
i:=i+1;
until i>5;
while
do
while-do 循环基本字
while 条件 do
begin
处理语句;
处理语句;
end;
break 循环中止基本字
b:=1;
while b<100 do
begin
a:=b*b;
if a>60000 then
break;
b:=b+1;
end;
write(b);
read 录入基本字。
write 输出基本字。
var a;
begin
read(a);
if a>0 then
write(‘a 是正数’)
else
write(‘a 是不是正
数’);
end.
7、系统标示符(自定义系统函数及过程)
系统标示符 说明 调用举例
LeftStr
左截取字符串函数,
输入要操作的字符串
和截取的个数,返回
左截取后的字符串。
一个中文文字符占两
位。
leftstr( ‘ 操 作 字 符 串 ',
个数) ;
RightStr
右截取字符串函数,
输入要操作的字符串
和截取的个数,返回
右截取后的字符串。
一个中文文字符占两
位。
rightstr(‘操作字符串 ',
个数) ;
MidStr
中部截取字符串函数,
输入要操作的字符串,
起始位置和截取的个
数,返回中部截取后
的字符串。一个中文
文字符占两位。
MidStr( ‘操作字符串 ',
起始位置,个数) ;
Length
字符串取长度函数,
输入要操作的字符串,
返回该字符串的长度,
一个中文字符占两位。
一个中文文字符占两
位。
Length(‘操作字符串') ;
CreateQ
执行 SQL 语句,返回
一个 SQL 语句的执行
及结果到查询变量中。
第一个参数是查询的
SQL 语句,第二个参
数是使用过已经没有
用的查询变量,如果
a:=createq(‘selec
t * from 凭证表’,
-1) ;
a:=createq(‘selec
t * from 凭证表’,
a) ;
是第一次作查询则填
写-1,这样做的好处是,
节省查询变量的个数,
节约资源。
CreateQ( ‘SQL 语句 ',
查询变量) ;
QEof
查看查询变量当前指
向的记录是否为空。
返回 1 则表明为空。
QEof(查询变量) ;
a:=createq(‘select
* from 凭证表’,
-1) ;
b:=QEof(a);
if b<>1 then
begin
//你的操作
//……
//你的操作
end;
QMov
查寻变量记录移动函
数,返回成功与否。
QMov(查询变量,移动
方向 1 向下-1 向上) ;
a:= createq(‘select
* from 凭证表’,
-1) ;
b:=QMov(a,1) ;
QFDValue
取当前查询变量当前
纪录的字段的值。入
a:=createq(‘select
* from 凭证表’,
口参数一个是查询变
量,一个是某一个字
段的名称,需要用单
引号括起来。
QFDValue( 查询变量,
‘字段名称') ;
-1) ;
b:=QFDValue(a,
‘摘要’) ;
RecordNum
如果参数为一个打开
的查询变量,则取出
当前查询变量的记录
个数。如果参数为数
据库中的一个表名,
则取出该表的所有记
录个数。
RecordNum(查询变量
或‘表名称') ;
ExecuteUpdate
执行数据库插入、更
新 、 删 除 ( Insert ,
Update , Delete ) 的
SQL 语句的函数。
ExecuteUpdate('SQL
语句') ;
CreateTempTabl 把 SQL 语句取出来的
e 结果以用户输入的表
名存储在数据库中。
CreateTempTable(' 新
表名','SQL 语句');
OPutChart
将查询变量或 SQL 语
句结果输出到图表。
Y 轴字段显示颜色参
数:clred——红色、
clblue——蓝 色 、
clyellow——黄 色 、
clgreen——绿 色 、
clMaroon——栗 色 、
clPurple——紫 色 、
clFuchsia——紫红色、
clOlive——橄 榄 色 、
clSkyBlue——天蓝色、
clMoneyGreen——货
币绿色、clLime——亮
绿色。或者直接使用
颜色数字,格式为$加
6 位的 16 进制数字。
如:$1f11c1。
OPutChart( 查 询 变 量
或‘SQL 语句', ‘X 轴字
段 ',‘Y 轴字段 1, 显示
颜 色 参 数 1; Y 轴 字
段 2, 显 示 颜 色 参 数
2;Y 轴字段 N,显示颜
色参数 N') ;
AddVouDout
输出源凭证号到疑点
库中,该源凭证号对
应的凭证将被定义为
已 落 实 疑 点 。
AddVouDout( 源 凭 证
号) ;
AddVouRslt
输出源凭证号到疑点
库中,该源凭证号对
应的凭证将被定义为
未 落 实 疑 点 。
AddVouRslt( 源 凭 证
号) ;
AddTransDout
把指定查询变量的当
前记录输出到业务疑
点的临时库中。
AddTransDout(查询变
量,'疑点说明');
AddTransRslt
把指定查询变量的当
前记录输出到业务结
果的临时库中。
AddTransRslt( 查 询 变
量,'疑点说明');
TransBatch
把指定查询变量的业
务疑点或结果临时库
中的数据写入业务疑
点或结果库中。并清
空相应的临时库中的
数据
TransBatch(查询变量,'
批量疑点说明');
showmsg showmsg(‘消息内容');
8、审计脚本语言(ASL)实例
a) 财务数据审查
审查现金科目,有借方金额大于 1000 元的记录到已
落实疑点中。
var CX,BZ,JFJE,YPZH; //定义变量 CX:查询,BZ:
标志,
// JFJE:金额,YPZH:源
凭证号
begin
CX:=CreateQ('SELECT * FROM 凭证库 WHERE 科
目编码=''101''',-1);
//打开表,把科目编码是 101 的打
开
BZ:=Qeof(CX); //判断是否为空
while BZ<>1 do //循环开始直到 BZ=1 结束
begin
JFJE:=QFDValue(CX,'借方金额'); //取‘借方金
额’字段的值
if JFJE >1000 then //判断借方金额是
否大于 1000
begin
YPZH:=QFDValue(CX,'源凭证号'); //是:取‘源
凭证号’字段的值
AddVouDout(YPZH); //把本源凭证号对应的
凭证记录到已落实疑点中
end;
BZ:=Qmov(CX,1); //下移一行
BZ:=Qeof(CX); //判断是否为空
end; //循环结束
end. //程序结束
b) 业务数据审查
使用审计脚本语言对业务数据进行处理,对于入库
单的金额进行分析,大于 8000 元的记为已落实疑点,
5000-8000 之间的记为未落实疑点。
var Cx,Bz,Je; //定义变量 Cx:查
询,Bz:标志,Je:金额
begin
Cx:=CreateQ('SELECT * FROM 其它表_入库单',
-1); //打开表
Bz:=Qeof(Cx); // 判
断是否为空
while Bz<>1 do //
循环开始直到 Bz=1 结束
begin
Je:=QFDValue(Cx,'金额'); //
取‘金额’字段的值
if Je >80000 then AddTransDout(Cx,'很有钱');
//判断,
成立插入已落实疑点临时表
if Je <=80000 and Je >50000 then
AddTransRslt(Cx,'有钱');
//判断,
成立插入未落实疑点临时表
Bz:=Qmov(Cx,1);
//下移一行
Bz:=Qeof(Cx);
//判断是否为空
end; //循环结束
TransBatch(Cx,'大家都有钱'); //把业务数据疑
点丛临时表导出写入正式表
end.
c) 图表输出举例
使用审计脚本语言对财务数据进行处理,按月汇总
凭证库中的借方金额和贷方金额,并输出到图表,以
月份为横轴,借方合计为蓝色纵轴,贷方合计为红色
纵轴。
var a;
begin
a:=createq('SELECT 会计月份,sum(借方金额) as
借方合计,sum(贷方金额) as 贷方合计
FROM 凭证库 where 科目编码 LIKE
''102%'' GROUP BY 会计月份' , -1);
oputchart(a,'会计月份','借方合计,clblue;贷方合
计,clred');
end.\
\
select * from 凭证库 where 科目编码=’’101’’