用友UFO报表高级应用 二次开发_第1页
用友UFO报表高级应用 二次开发_第2页
用友UFO报表高级应用 二次开发_第3页
用友UFO报表高级应用 二次开发_第4页
用友UFO报表高级应用 二次开发_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——用友UFO报表高级应用二次开发

UFO报表高级应用

培训讲义

主编:孙勇

用友软件

目录

一、UFO报表的高级功能

1、报表汇总2、报表审核3、舍位平衡4、可变表的使用5、透视的应用6、图表功能的应用二、常用业务函数介绍

三、各系统中帐表管理的使用(自定义报表的应用)四、UFO报表的二次开发

1、批命令介绍2、自定义菜单

第1页共49页

用友软件

UFO报表的高级功能

一、报表汇总

报表的汇总是报表数据不同形式的叠加。利用UFO提供的汇总功能就可以快速、简捷地完成报表汇总操作。

UFO提供了表页汇总和可变区汇总两种汇总方式,表页汇总是把整个报表的数据进行立体方向的叠加,汇总数据可以存放在本报表的最终一张表页或生成一个新的汇总报表。可变区汇总是把指定表页中可变区数据进行平面方向的叠加,把汇总数据存放在本页可变区的最终一行或一列。

表页汇总

UFO的表页汇总功能十分强大,即可把汇总数据保存在本报表中,也可形成一个新的汇总表;即可汇总报表中所有的表页,也可只汇总符合指定条件的表页,例如在1996年全年各月共12张表页中,汇总上半年的表页;报表中的可变区即可按数据位置汇总,也可重新排列顺序,按各项内容汇总。

操作步骤:

1、点取“格式/数据〞按钮,进入数据状态。

2、点取[数据]菜单中的[汇总],在下拉菜单中点取[表页],将弹出“表页汇总─步骤1/3〞对话框,此对话框用于指定表页汇总数据保存的位置。

?假使要把汇总结果保存在本报表中,请点取“汇总到本表最终一张表页〞单项选择钮。UFO

将自动追加一张表页,并把汇总数据存在这张表页中。

?假使要把汇总结果保存在一个新的报表中,请点取“汇总到新的报表〞单项选择钮,并且在

编辑框中输入路径和新的报表名,省略路径时表示在当前目录下。假使输入的报表名是一个已存在的报表,将删除此报表原有内容!

3、点取“下一步〞按钮,将弹出“表页汇总─步骤2/3〞对话框,此对话框用于指定汇总哪些表页。

?假使要汇总报表中所有的表页,请点取“下一步〞按钮。

?假使汇总报表中的部分表页,在“表页汇总条件〞中定义条件。可以以单元的值为汇总

条件,或者以关键字的值为汇总条件,或者以表页号为汇总条件。汇总条件可以有多个,它们之间是“并且〞或“或者〞的关系。点取“并且〞、“或者〞、“参与〞按钮可以使汇总条件进入“汇总条件编辑框〞。假使您对UFO比较熟悉,也可直接在“汇总条件编辑框〞输入和修改汇总条件。

A.以单元的值为汇总条件

在左边编辑框中输入单元名称,在中间编辑框中选择关系运算符,在右边编辑框中输入单元的值。注意:假使单元的值为字符时,应加上双引号\。例如:“A10>=500〞表示汇总A10单元的值大于等于500的表页,忽略A10单元的值小于500的表页。

B.以关键字的值为汇总条件

第2页共49页

用友软件

在左边编辑框中选择已设置的关键字,在中间编辑框中选择关系运算符,在右边编辑框中选择关键字的值。例如:“年=1996AND月>6〞表示汇总1996年下半年的表页。

C.以表页号为汇总条件

在左边编辑框中输入表页号函数“MREC()〞,在中间编辑框中选择关系运算符,在右边编辑框中输入表页号。例如:“MREC()>=5ANDMREC()=500〞表示汇总A10单元的值大于等于500的表页,忽略A10单元的值小于500的表页。

B.以关键字的值为汇总条件

在左边编辑框中选择已设置的关键字,在中间编辑框中选择关系运算符,在右边编辑框中选择关键字的值。例如:“年=1996AND月>5〞表示汇总1996年下半年的表页。

C.以表页号为汇总条件

在左边编辑框中输入表页号函数“MREC()〞,在中间编辑框中选择关系运算符,在右边编辑框中输入表页号。例如:“MREC()>=5ANDMREC()=500〞表示汇总V_A1单元的值大于等于500的可变行(可变列)。

B.以行可变区中的一列(或者列可变区中的一行)的值为可变区汇总条件在左边编辑框中列出了行可变区的所有列(或者列可变区的所有行),在其中选择一个。在中间编辑框中选择关系运算符,在右边编辑框中输入一个值。例如:“V_A>1000〞表示汇总V_A列数据大于1000的可变行。

4、点取“完成〞按钮后生成可变区汇总的结果。

注意:

1、假使某个表页中的可变区数量已超出设置的可变区大小,则该表页的可变区汇总结果将无法保存。

2、对于字符型数据的汇总,假使字符串不同,则汇总结果为最终一个字符单元的内容。

二、报表审核

在经常使用的各类财经报表中的每个数据都有明确的经济含义,并且各个数据之间一般地都有一定的勾稽关系。如在一个报表中,小计等于各分项之和;而合计又等于各个小计之和等等。在实际工作中,为了确保报表数据的确凿性,我们经常用这种报表之间或报表之内

第4页共49页

用友软件

的勾稽关系对报表进行勾稽关系检查。一般地来讲,我们称这种检查为数据的审核。

UFO系统对此特意提供了数据的审核公式,它将报表数据之间的勾稽关系用公式表示出来,我们称之为审核公式。

1、定义报表审核关系

在报表格式设计状态下,用鼠标选取菜单“数据〞-“编辑公式〞-“审核公式?〞命令,调出“定义审核关系〞对话框。依照对话框右侧的格式范例输入审核公式。审核公式编辑完毕,检查无误后选择“确认〞,系统将保存此次审核公式的设置。按[ESC]键或选择“取消〞将放弃此次操作。

2、本表内的审核公式

假设我们要审核调查表“as02.rep〞。

该表有以下审核关系,希望审核时达到这样的效果:

C9=C5+C6+C7+C8,若此项关系不平,则提醒“一季度小计不等!〞D9=D5+D6+D7+D8,若此项关系不平,则提醒“二季度小计不等!〞E9=E5+E6+E7+E8,若此项关系不平,则提醒“三季度小计不等!〞F9=F5+F6+F7+F8,若此项关系不平,则提醒“四季度小计不等!〞

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“合计不等于各项小计之和!〞

第5页共49页

用友软件

3、各表间的审核公式

假设我们要审核调查表“as02.rep〞,该表数据部分来自调查表“as021.rep〞。下表为“as021.rep〞:

下表为“as02.rep〞:

调查表“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

MESSAGE“一季度部门二数据与表“as02.rep〞数据不符!〞C7=“as021.rep〞->F7

MESSAGE“一季度部门三数据与表“as02.rep〞数据不符!〞C8=“as021.rep〞->F8

第6页共49页

用友软件

MESSAGE“一季度部门四数据与表“as02.rep〞数据不符!〞

4、审核公式组

一个报表中往往存在着大量平衡关系。编辑审核公式时,类似的平衡关系可以放在一个审核公式组中,这样可以使审核公式更加简明。审核公式成组应遵循以下原则:?一个报表可以存在多个审核公式组,每个审核公式组中各审核公式的筛选条件和关联条

件完全一致,共用一条提醒信息。

?筛选条件、关联条件、提醒信息有所不同的审核公式应分为不同的审核公式组。?提醒信息应尽量详细明确,以便于检查错误。

下面仍以调查表“as02.rep〞为例,该表不同季度数据来自调查表“as021.rep〞的不同表页。下表为“as021.rep〞:

下表为“as02.rep〞:

调查表“as02〞中对应调查表“as021〞有以下取数关系:

C5:C8=调查表“as021.rep〞一季度,即关键字“季〞为1的表页的F5:F8。D5:D8=调查表“as021.rep〞二季度,即关键字“季〞为2的表页的F5:F8。E5:E8=调查表“as021.rep〞三季度,即关键字“季〞为3的表页的F5:F8。F5:F8=调查表“as021.rep〞四季度,即关键字“季〞为4的表页的F5:F8。

调查表“as02〞本身还应有如下合计关系:

第7页共49页

用友软件

C9=C5+C6+C7+C8D9=D5+D6+D7+D8E9=E5+E6+E7+E8F9=F5+F6+F7+F8G9=G5+G6+G7+G8以及

G5=C5+D5+E5+F5G6=C6+D6+E6+F6G7=C7+D7+E7+F7G8=C8+D8+E8+F8G9=C9+D9+E9+F9

因此,调查表“as02.rep〞的审核公式可以这么写:C5=“as021.rep〞->F5,C6=“as021.rep〞->F6,C7=“as021.rep〞->F7,C8=“as021.rep〞->F8

RELATION1WITH“as021.rep〞->季MESSAGE“一季度数据错误!〞

D5=“as021.rep〞->F5,D6=“as021.rep〞->F6,D7=“as021.rep〞->F7,D8=“as021.rep〞->F8

RELATION2WITH“as021.rep〞->季MESSAGE“二季度数据错误!〞

E5=“as021.rep〞->F5,E6=“as021.rep〞->F6,E7=“as021.rep〞->F7,E8=“as021.rep〞->F8

RELATION3WITH“as021.rep〞->季MESSAGE“三季度数据错误!〞

F5=“as021.rep〞->F5,F6=“as021.rep〞->F6,F7=“as021.rep〞->F7,F8=“as021.rep〞->F8

RELATION4WITH“as021.rep〞->季MESSAGE“四季度数据错误!〞

C9=C5+C6+C7+C8,D9=D5+D6+D7+D8,E9=E5+E6+E7+E8,

第8页共49页

用友软件

F9=F5+F6+F7+F8,G9=G5+G6+G7+G8

MESSAGE“横向小计不等!〞

G5=C5+D5+E5+F5,G6=C6+D6+E6+F6,G7=C7+D7+E7+F7,G8=C8+D8+E8+F8,G9=C9+D9+E9+F9

MESSAGE“纵向小计不等!〞

5、用审核关系验证报表

在数据处理状态中,当报表数据录入完毕后,应对报表进行审核,以检查报表各项数据勾稽关系的确凿性。进入数据处理状态。用鼠标选取菜单“数据〞-“审核〞命令。系统依照审核公式逐条审核表内的关系,当报表数据不符合勾稽关系时,屏幕上出现提醒信息,记录该提醒信息后按任意键继续审核其余的公式。依照记录的提醒信息修改报表数据,重新进行审核,直到不出现任何提醒信息,表示该报表各项勾稽关系正确。每当对报表数据进行过修改后,都应当进行审核,以保证报表各项勾稽关系正确。

6、在命令窗中使用审核公式

在命令窗中可以随时对部分数据进行审核,开启命令窗,输入以CHECK引导的审核公式,回车时系统进行审核,假使审核关系不等,将依照提醒内容给出警告信息。使用对话框输入的审核公式将随报表一起保存,随时可以对报表进行审核,命令窗中的审核公式只在光标停留在该行并回车时执行,不随报表保存。

三、舍位平衡

报表数据在进行进位时,如以“元〞为单位的报表在上报时可能会转换为以“千元〞或“万元〞为单位的报表,原来满足的数据平衡关系可能被破坏,因此需要进行调整,使之符合指定的平衡公式。如:原始报表数据平衡关系为50.23+5.24=55.47,若舍掉一位数,即除以10后数据平衡关系成为5.02+0.52=5.55,原来的平衡关系被破坏,应调整为5.02+0.53=5.55,报表经舍位之后,重新调整平衡关系的公式称为舍位平衡公式。其中,进行进位的操作叫做舍位,舍位后调整平衡关系的操作叫做平衡调整公式。

1、定义舍位平衡公式

在报表格式设计状态下,用点取菜单“数据〞-“编辑公式〞-“舍位公式?〞,调出“舍位平衡公式〞对话框。舍位平衡公式编辑完毕,检查无误后选择“完成〞,系统将保存此次舍位平衡公式的设置。按[ESC]键或选择“取消〞将放弃此次操作。

在各编辑框中输入如下各项:

?舍位表名:和当前文件名不能一致,默认在当前目录下。

?舍位范围:舍位数据的范围,要把所有要舍位的数据包括在内。

?舍位位数:1-8位。舍位位数为1,区域中的数据除10;舍位位数为2,区域中的数据

除100;以此类推。?平衡公式:

第9页共49页

用友软件

1)倒顺序写,首先写最终运算结果,然后一步一步向前推。

2)每个公式一行,各公式之间用逗号“,〞隔开,最终一条公式不用写逗号。3)公式中只能使用“+〞“-〞符号,不能使用其他运算符及函数。4)等号左边只能为一个单元(不带页号和表名)。5)一个单元只允许在等号右边出现一次。例如下表:

舍位范围:A1:F6舍位公式:F1=B2+D2+F2,B2=B3+B4+B5+B6,D2=D3+D4+D5+D6,F2=F3+F4+F5+F6

2、平衡公式编写规范

?平衡公式书写顺序应为统计过程的逆方向。

例如:

统计过程为:E11=A11+B11F11=C11+D11G11=E11+F11

如图,箭头表示统计方向,G11为统计结果。

因此平衡公式正确的书写顺序应当为:G11=E11+F11

第10页共49页

用友软件

E11=A11+B11F11=C11+D11

当求和区域较大时,可以使用不带区域筛选条件的函数PTOTAL,如:G11=PTOTAL(E11:F11)E11=PTOTAL(A11:B1)F11=PTOTAL(C11:D11)

?平衡公式中只可以使用加号“+〞、减号“-〞,不可以使用其他运算符和函数。

以下平衡公式是错误的:

A1=PTOTAL(B1:C1,B1:C1>0)B1=C1*D1G3=H3/89

?平衡公式等号左边只能为一个不带页号和表名的单元,不能是超过一个单元的区域。

以下平衡公式是错误的:A@5=B+C

A1:C1=D1:D1+2

?等号右边所有出现的区域不能带页号和表名。

以下平衡公式是错误的:F9=F8@5+“REPORT1〞->C5

?任何一个单元只允许在平衡公式等号右边出现一次。

以下平衡公式是错误的:F9=F5+F6+F7+F8

G8=C8+C8+D8+E8+F8

由于单元F8在平衡公式中出现了两次。

3、舍位平衡公式编辑举例

以如下“源表.rep〞为例示范舍位平衡公式的编辑。

该表计算公式为:C9=C5+C6+C7+C8D9=D5+D6+D7+D8E9=E5+E6+E7+E8

第11页共49页

用友软件

F9=F5+F6+F7+F8G9=C9+D9+E9+F9

将表“源表.rep〞的数据单位由“元〞转换成“千元〞,并挤平数据,将舍位平衡后的舍位表存入表“舍位表.rep〞。编辑舍位平衡公式如下:

对于设置了舍位关系的报表“源表.rep〞,在数据处理状态下进行报表舍位操作,生成舍位表“舍位表.rep〞如下:

4、对报表进行舍位平衡操作

当报表编辑完毕,需要对报表进行舍位平衡操作时,可进行以下操作:

进入数据处理状态。用鼠标选取菜单“数据〞-“舍位平衡〞命令。系统依照所定义的舍位关系对指定区域的数据进行舍位,并依照平衡公式对舍位后的数据进行平衡调整,将舍位平衡后的数据存入指定的新表或他表中。开启舍位平衡公式指定的舍位表,可以看到调整后的报表。

四、可变表的使用

1、固定区及可变区

固定区是组成一个区域的行数和列数的数量是固定的数目。一旦设定好以后,在固定区域内其单元总数是不变的。可变区是屏幕显示一个区域的行数或列数是不固定的数字,可变区的最大行数或最大列数是在格式设计中设定的。

在一个报表中只能设置一个可变区,或是行可变区或是列可变区,行可变区是指可变区

第12页共49页

用友软件

中的行数是可变的;列可变区是指可变区中的列数是可变的。

设置可变区后,屏幕只显示可变区的第一行或第一列,其他可变行列隐蔽在表体内。在以后的数据操作中,可变行列数随着您的需要而增减。

有可变区的报表称为可变表。没有可变区的表称为固定表。

2、设置可变区

操作步骤:

1)点取“格式/数据〞按钮,进入格式状态。

2)假使要设置行可变区,则选取第一可变行中的某个单元;假使要设置列可变区,则选取第一可变列中的某个单元。

3)点取[格式]菜单,在下拉菜单中点取[可变区],点取[设置]菜单项。弹出“设置可变区〞对话框。在对话框中选择设置行可变区或列可变区和可变区数量。注意:一个报表中只能定义一个可变区。假使想重新设置可变区,首先取消现有可变区,再设置新的可变区。

3、重新设置可变区

操作步骤:

1)点取“格式/数据〞按钮,进入格式状态。

2)点取[格式]菜单中的[可变区],在下拉菜单中点取[重新设置],将弹出“重新设置可变区〞对话框。

3)在“可变区大小〞框显示可变区当前的大小,在其中输入一个整数。

4、取消可变区

操作步骤:

1)点取“格式/数据〞按钮,进入格式状态。

2)点取[格式]菜单,在下拉菜单中点取[可变区],点取[取消],则可变区被取消。注意:可变区被取消后,其中的数据全部丢失。

5、举例

五、透视的应用

在UFO中,大量的数据是以表页的形式分布的,正常状况下每次只能看到一张表页。要想对各个表页的数据进行比较,可以利用数据透视功能,把多张表页的多个区域的数据显示在一个平面上。

操作步骤:

1、点取“格式/数据〞按钮,进入数据状态。

2、点取要透视的第一张表页的页标,将对它和它之后的表页的数据进行透视。

例:透视一张`两页的表不连续单元

第一页第13页共49页

用友软件

3、点取[数据]菜单中的[透视],弹出“多区域透视〞对话框,在编辑框中输入区域范围。

其次页在输入透视区域范围的编辑框中,输入B1:B4;在输入列标字串的编辑框中输入收入,应税,成本,利润。

4、输入完毕后,按确定将生成透视结果“透视〞对话框。拉动水平滚动条到最右边,可以看到各个表页中的关键字的值显示在相应数据的右边。

5、利用对话框中的“保存〞按钮可以把数据透视结果保存为报表,点取“确认〞按钮关闭对话框。数据透视结果将保存为报表中。

六、图表功能的应用

·图表格式:UFO提供了直方图、圆饼图、折线图、面积图4大类共10种格式的图表。·图表与报表的关系:图表是利用报表文件中的数据生成的,图表与报表存在着紧凑的联系,当报表中的源数据发生变化时,图表也随之变化。一个报表文件可以生成多个图表,最多可以保存12个图表。

·图表的存在方式:图表以图表窗口的形式存在。图表并不是独立的文件,它的存在依附于源数据所在的报表文件,只有开启报表文件后,才能开启有关的图表。报表文件被删除之后,由该报表文件中的数据生成的图表也同时删除。

·图表的操作:图表可以命名,可以选择图表名开启图表,可以修改图表,保存或删除图表。与报表文件一样,图表可以打印输出。

1、插入图表对象

用户可以在UFO的报表文件的数据状态下,插入一个图表对象,是报表数据和图表同

第14页共49页

用友软件

时存在与一个报表文件中。插入的图表对象与创立它的报表数据相链接。当报表数据改变时,图表对象也随之更新。

操作步骤:

第一步:选取区域

1)在报表窗口中,点取“格式/数据〞按钮,进入数据状态。

2)在任何一张表页中选取一个数据区域,区域不能少于2行*2列。系统把区域中的第一行和第一列默认为标注,其余为数据区。其次步:插入图表对象

1)点取[工具]菜单中的[插入图表对象],将弹出“区域作图〞对话框。

2)在对话框中定义以“行〞或以“列〞为X轴;数据操作范围;图表名称;标题内容;图表格式。

3)确认后,在报表数据附近,插入相应的图表。

4)将鼠标放在插入的图表对象边框,按鼠标左键拖动边框,调整图表大小。第三步:激活图表对象

双击图表对象,即可激活图表对象窗口

注意:图表名在“区域作图〞对话框中定义,在以后将不能被修改。

2、图表对象激活与编辑

双击插入的图表对象,激活图表对象窗口。

1)在报表文件中选取了一个数据区域后,假使此数据区域有多组源数据,则每次只能显示一组数据的图形,多组数据的图形不能同时显示。2)要观看其他数据的图形,可以点取工具栏中的图标和图标。3)当焦点在图表对象时,点鼠标右键可以选择图表格式。

4)在图表对象窗口中,可以调整标题、X标题、Y标题、图形和图例的位置,以及对象和图形的尺寸。调整标题、X标题、Y标题、图形和图例的位置,分别点击它们,用鼠标拖动到适当位置。调整对象或图形的尺寸,将鼠标放在图表对象或图形边框的黑点上,拖动鼠标至适合大小。

3、图表对象的管理

在报表中插入图表对象后,选定对象点击鼠标右键可以图表对象进行管理。1)图表对象的剪切、复制、清除(从当前表删除选定图表对象)。

2)假使插入多个图表对象,选定某个对象,选择[对象置前]或[对象置后]使它显示在最前端或其它图表对象之后。

3)对图表对象进行预览和打印,此时打印和预览到的只是插入的图表对象。假使想对插入的图表。

4)对象的整张表进行预览,可以选择在工具栏

5)假使要将插入的图表对象恢复到原来状态,选择“恢复大小〞。快捷键:Ctrl+C

6)选择[属性]可以得到图形对象的名称和生成图形的区域,并可以改变图形显示的尺寸大小。

第15页共49页

用友软件

常用业务函数

一、有关约定

1)账套号:001-999,缺省时由应用环境中设置的账套号决定2)会计年度:1980-2099,缺省时由应用环境中设置的时间决定3)期间期间描述整数范围计算公式1-12会计月份会计月份21-24会计季度20+会计季度3030会计全年41-93自然周40+自然周101-136自然旬100+自然旬201-565自然日200+自然日〈期间〉∷=〈整数〉|全年|季|月|旬|周|日|〈日期字符串〉〈日期字符串〉指符合格式“mm/dd/yyyy,mm/dd/yyyy〞的字符串,“,〞之前为起始日期,之后为截止日期,假使起始日期等于截止日期,那么“,〞及其后面的截止日期可以省略。4)方式字

在分销业务函数中经常使用的〈方式字〉,是用户用来指定其后面编码的意义的。例如,在同一参数位置定义〈编码〉,若在前面的〈方式字〉中的相应位置使用“存货〞或“c〞,则指〈存货编码〉,若使用“存货分类〞或“c%〞,则指〈存货分类编码〉。

〈方式字〉由基本查询方式名(下简称方式名)组成。

方式名的简写规则:

?在不引起冲突的状况下首先采用拼音首字母,其次采用英文首字母;?分类〞加%;

?字母后面可跟1至2位数字。

方式字的拼写规则:若有一方式名采用汉字,则整个方式字必需全部采用汉字;若有一方式名采用英文,则整个方式字必需全部采用英文。采用汉字时,在每两个相邻的方式之间用逗号分开;采用英文时,中间不必分开。分隔符逗号必需支持全角“,〞或半角“,〞。方式名之间大小写无关,顺序无关,但方式名与其之后的编码必需一一对应。以下是方式名及其缩写形式:’

k客户

k%客户分类

g供应商

g%供应商分类

c产品/存货

c%产品分类/存货分类

b部门

r人员/职员/业务员/个人

第16页共49页

用友软件

项目

项目分类(项目大类)地区分类仓库购买类型销售类型业务类型结算方式批号审核状态

xx%d%wpsyji

h缺省为全部:0

已审核:1未审核:2olfnzn

成本对象收发类型自由项自定义项

3〉n〉011〉n〉0

二、购买系统

1、购买订单类〖函数格式〗

::=定货数量|DHSL(,[],[],[],[,]*)::=定货金额|DHJE(,[],[],[],[],[::=|全年|季|月|旬|周|日|::=::=|年;:=::=::=

〖格式说明〗

购买定货类函数又分为两个:

定货数量:函数名为“定货数量〞或“DHSL〞;定货金额:函数名为“定货金额〞或“DHJE〞;

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的购买定货数量或金额。

注意:“定货金额〞函数的参数有“币种〞参数,可以返回某外币业务的定货金额。

2、购买入库类〖函数格式〗

::=(,[],[],[],[,]*)

::=购买入库数量|CGRKSL|购买入库金额|CGRKJE

第17页共49页

用友软件

〖格式说明〗

购买入库类函数又分为两个:

购买入库数量:函数名为“购买入库数量〞或“CGRKSL〞;购买入库金额:函数名为“购买入库金额〞或“CGRKJE〞;

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的购买入库数量和购买入库金额。

注意:“购买入库金额〞函数的参数没有“币种〞参数。

3、购买发票类〖函数格式〗

::=购买数量|CGSL(,[],[],[],[,]*)::=购买金额|CGJE(,[],[],[],[],[,]*)

〖格式说明〗

购买发票类函数又分为两个:

购买数量:函数名为“购买数量〞或“CGSL〞;购买金额:函数名为“购买金额〞或“CGJE〞;

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的购买数量和购买金额。

注意:“购买金额〞函数的参数有“币种〞参数,可以返回某外币业务的购买金额。

4、购买结算类〖函数格式〗

::=(,[],[],[],[,]*)

::=购买结算数量|CGJSSL|购买结算金额|CGJSJE

〖格式说明〗

购买结算类函数分为两个:

购买结算数量:函数名为“购买结算数量〞或“CGJSSL〞;购买结算金额:函数名为“购买结算金额〞或“CGJSJE〞;

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的购买结算数量和购买结算金额。

注意:“购买结算金额〞函数的参数没有“币种〞参数。

5、购买帐类〖函数格式〗

第18页共49页

用友软件

::=(,[],[],[],[])

::=||

::=期初暂估结余数量|QCZGSL|期初暂估结余金额|QCZGJE|期初在途结余数量|QCZTSL|期初在途结余金额|QCZTJE|期初代销结余数量|QCDXSL|期初代销结余金额|QCDXJE

::=||

::=

::=

::=本期代销入库数量|BQDXRKSL|本期代销入库金额|BQDXRKJE|本期代销结算数量|BQDXJSSL|本期代销结算金额|BQDXJSJE

::=

::=|全年|季|月

〖格式说明〗

购买账类函数有3类24个:购买入库账类函数有8个:期初暂估结余数量、期初暂估结余金额、本期入库数量、本期入库金额、本期入库结算数量、本期入库结算金额、期末暂估结余数量、期末暂估结余金额

购买(发票)账类函数有8个:期初在途结余数量、期初在途结余金额、本期购买数量、本期购买金额、本期购买结算数量、本期购买结算金额、期末在途结余数量、期末在途结余金额

受托代销账类函数有8个:

期初代销结余数量、期初代销结余金额、本期代销入库数量、本期代销入库金额、本期代销结算数量、本期代销结算金额、期末代销结余数量、期末代销结余金额

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段会计期间内的购买账类数量和金额。

注意:购买账类函数的参数没有“币种〞参数。

三、销售系统

销售订货函数:〖函数格式〗

∷=(,,[],[],[],[],[,]*)

∷=销售订货金额|XSDHJE|销售订货总额|XSDHZE|销售订货件数|jXSDH|销售订货数量|sXSDH

第19页共49页

用友软件

的编码。对于“XSCB〞、“XSML〞,无〈币种〉参数;其他销售函数〈币种〉默认为空,即本位币,金额返回综合本位币金额,即各币种的发生金额均取其本位币的发生金额;假使输入具体币种,必需输入币名,如“人民币〞,不要输入币符。在此状况下,数量和金额均从按所输入币种发生的业务中取数,金额返回原币金额。

〖返回值〗数值型。

注意:

若部门为非末级部门,则返回其所有下属部门的销售数值。“XSCB〞、“XSML〞的取数来源单据必需是已审核的,所以在方式字中不能出现“h〞,即“审核状态〞。所取数据不包括已作废单据的数据。

发货函数:〖函数格式〗

∷=(,,[],[],[],[],[,]*)

∷=发货金额|FHJE|发货件数|jFH|发货数量|sFH||发货折扣|FHZK|发货余数|FHYS|发货余额|FHYE

〖格式说明〗

函数按以下六种方式分为:

发货数量:取普通发货单的主计量单位数量,函数名为“发货数量〞或“sFH〞;发货件数:取普通发货单的辅计量单位数量,函数名为“发货件数〞或“jFH〞;发货金额:取普通发货单的价税合计,函数名为“发货金额〞或“FHJE〞;发货折扣:取普通发货单的发货折扣,函数名为“发货折扣〞或“FHZK〞;

发货余数:指定期间发货未开票的主计量单位数量余额,等于期初余数+本期发货数量-本期开票结算数量,函数名为“发货余数〞或“FHYS〞;

发货余额:指定期间发货未开票金额的余额,等于期初余额+本期发货额-本期开票结算额,函数名为“发货余额〞或“FHYE〞。

〖参数说明〗销售类型默认为空,即取所有销售类型。合法的〈销售类型编码〉为已定义的销售类型的编码。〈币种〉默认为空,即本位币,发生金额和余额均返回综合本位币金额,即各币种的发生金额均取其本位币的发生金额或余额;假使输入具体币种,必需输入币名,如“人民币〞,不要输入币符。在此状况下,数量和金额均从按所输入币种发生的业务中取数,发生金额返回原币金额,余额返回本位币金额。

所涉及的单据必需是已审核过的。即在方式字中输入“h〞是非法的。

〖返回值〗数值型。

注意:

第21页共49页

用友软件

若部门为非末级部门,则返回其所有下属部门的发货数值。余额(余数)指所输入区间最终日的余额(余数),例如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〞,即“审核状态〞。

委托代销函数:〖函数格式〗

∷=(,,[],[],[],[],[,]*)

∷=委托代销发货金额|WTFHJE|委托代销发货件数|jWTFH|委托代销发货数量|sWTFH|委托代销发货折扣|WTFHZK|委托代销发货余数|WTFHYS|委托代销发货余额|WTFHYE|委托代销结算金额|WTJSJE|委托代销结算件数|jWTJS|委托代销结算数量|sWTJS|委托代销结算折扣|WTJSZK

〖格式说明〗

函数按以下十种方式分为:

委托代销发货数量:取委托代销发货单的主计量单位数量,函数名为“委托代销发货数量〞或“sWTFH〞;

委托代销发货件数:取委托代销发货单的辅计量单位数量,函数名为“委托代销发货件数〞或“jWTFH〞;

委托代销发货金额:取委托代销发货单的价税合计,函数名为“委托代销发货金额〞或“WTFHJE〞;

委托代销发货折扣:取委托代销发货单的发货折扣,函数名为“委托代销发货折扣〞或“WTFHZK〞;

委托代销发货余数:指定期间委托代销发货未结算的主计量单位数量余额,等于期初余数+本期发货数量-本期结算数量,函数名为“委托代销发货余数〞或“WTFHYS〞;

发货余额:指定期间委托代销发货未结算金额的余额,等于期初余额+本期发货额-本期开票结算额,函数名为“委托代销发货余额〞或“WTFHYE〞;

委托代销结算数量:取委托代销结算单的主计量单位数量,函数名为“委托代销结算数量〞或“sWTJS〞;

委托代销结算件数:取委托代销结算单的辅计量单位数量,函数名为“委托代销结算件数〞或“jWTJS〞;

委托代销结算金额:取委托代销结算单的价税合计,函数名为“委托代销结算金额〞或“WTJSJE〞;

委托代销结算折扣:取委托代销结算单的结算折扣,函数名为“委托代销结算折扣〞或“WTJSZK〞。

〖参数说明〗销售类型默认为空,即取所有销售类型。合法的〈销售类型编码〉为已定义的销售类型的编码。〈币种〉默认为空,即本位币,发生金额和余额均返回综合本位币金额,即各币种的发

第22页共49页

用友软件

生金额均取其本位币的发生金额或余额;假使输入具体币种,必需输入币名,如“人民币〞,不要输入币符。在此状况下,数量和金额均从按所输入币种发生的业务中取数,发生金额返回原币金额,余额返回本位币金额。

所涉及的单据必需是已审核过的。即在方式字中输入“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〞,即“审核状态〞。

代垫费用函数:

DDFYJE/代垫费用金额

销售费用函数:

XSFYJE/销售费用金额

包装物租借函数:

BZWZJJE/包装物租借金额BZWZJSL/包装物租借数量BZWTHJE/包装物退还金额BZWTHSL/包装物退还数量BZWZJYE/包装物租借余额BZWZJYS/包装物租借余数

销售计划函数:

XSJHJE/销售计划金额XSJHDE/销售计划定额XSJHSL/销售计划数量

四、存货核算

存货核算期初额类函数〖函数格式〗

::=(,[],[],[],[,]*)

::=存货期初数量|CHQCSL|存货期初金额|CHQCJE|存货期初差异|CHQCCY

::=|全年|季|月|旬|周|日|::=

第23页共49页

用友软件

::=|年::=::=

〖格式说明〗

存货核算期初类函数分为三个:

存货期初数量:函数名为“存货期初数量〞或“CHQCSL〞;存货期初金额:函数名为“存货期初金额〞或“CHQCJE〞;存货期初差异:函数名为“存货期初差异〞或“CHQCCY〞;

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的存货核算期初数量、期初金额或期初差异。

注意:参数“期间〞中旬、周、日、日期段为自然日历期间,年、季、月为会计期间。

存货核算发生额类函数〖函数格式〗

::=(,[],[],[],[,]*)

::=|||

::=存货入库数量|CHRKSL|存货入库金额|CHRKJE::=存货出库数量|CHCKSL|存货出库金额|CHCKJE::=存货借方差异|CHJFCY::=存货贷方差异|CHDFCY::=|全年|季|月|旬|周|日|::=::=|年::=::=

〖格式说明〗

存货发生额类函数分为六个:

存货入库数量:函数名为“存货入库数量〞或“CHRKSL〞;存货入库金额:函数名为“存货入库金额〞或“CHRKJE〞;存货出库数量:函数名为“存货出库数量〞或“CHCKSL〞;存货出库金额:函数名为“存货出库金额〞或“CHCKJE〞;存货借方差异:函数名为“存货借方差异〞或“CHJFCY〞;存货贷方差异:函数名为“存货贷方差异〞或“CHDFCY〞。

〖返回值〗数值型。返回按方式字设定的一组条件下,在某段自然日期范围内的存货入库数量、存货入库金额、存货出库数量、存货出库金额、存货借方差异或存货贷方差异。注意:参数“期间〞中旬、周、日、日期段为自然日历期间,年、季、月为会计期间。

第24页共49页

用友软件

存货核算总账类函数〖函数格式〗

::=存货差异率|CHCYL(,[],[],[],[,]*)

::=存货平均单价|CHPJDJ(,[],[],[],[,]*)

::=|月|::=::=|年::=::=

〖格式说明〗

存货核算总账类函数分为两个:

存货差异率:函数名为“存货差异率〞或“CHCYL〞;存货平均单价:函数名为“存货平均单价〞或“CHPJDJ〞;

〖返回值〗数值型。返回按方式字设定的一组条件下,在某一会计月份的存货差异率和存货平均单价。

五、库存管理

收发存类函数〖函数格式〗

::=(,[],[],[],[,]*)

::=|||

::=sQCJC|jQCJC::=sBQRK|jBQRK::=sBQCK|jBQCK::=sQMJC|jQMJC::=|全年|季|月::=::=|年

〖格式说明〗

收发存类函数分为以下八种方式:

期初结存数量:函数名为“sQCJC〞;期初结存件数:函数名为“jQCJC〞;本期入库数量:函数名为“sBQRK〞;本期入库件数:函数名为“jBQRK〞;本期出库数量:函数名为“sBQCK〞;

第25页共49页

用友软件

本期出库件数:函数名为“jBQCK〞;期末结存数量:函数名为“sQMJC〞;期末结存件数:函数名为“jQMJC〞;

〖返回值〗数值型。

注意:方式字中的存货与存货分类只能选择其中之一,假使选择存货则返回值为该存货的收发存状况;假使选择存货分类则返回值为该存货分类所属的所有存货的收发存状况。

发生类函数〖函数格式〗

::=(,[],[],[],[,]*)

::=|::=sRK|jRK|RK::=sCK|jCK|CK

::=|全年|季|月|旬|周|日|

〖格式说明〗

发生类函数分为以下六种方式:入库数量:函数名为“sRK〞;入库件数:函数名为“jRK〞;入库金额:函数名为“RK〞;出库数量:函数名为“sCK〞;出库件数:函数名为“jCK〞;出库金额:函数名为“CK〞;

〖返回值〗数值型。

注意:方式字中的存货与存货分类只能选择其中之一,假使选择存货则返回值为该存货的出入库状况;假使选择存货分类则返回值为该存货分类所属的所有存货的出入库状况。方式字中的供应商及供应商分类只有入库函数才能选择,并且只能选择其中之一;客户及客户分类只有出库函数才能选择,并且只能选择其中之一。

批次类函数:sPCRK、jPCRK、PCRK、sPCLJCK、jPCLJCK、PCCK、sPCJC、jPCJC、PCJC保质期类函数:sJC、jJC、JC现存量类函数:sXC、jXC

库存控制类函数:sZG、sZD、sAQ

第26页共49页

用友软件

各系统中帐表管理的使用(自定义报表的应用)

报表管理是财务软件功能中的一个重要组成部分,用友企业级财务软件系列产品在报表管理模块中,除了为用户提供丰富、实用的通用报表之外,还进一步提供“自定义报表〞工具,让用户自己根据自己的需要,自行设置报表,以满足用户的特别需要。

报表的生成实际上是这样一个过程:系统将数据依照特定的条件进行查询统计,并把查询统计出来的结果依照一定的组织形式放置在表格之中。“自定义报表〞就是由用户来自行完成以下工作:1.设计数据(包括:①设置报表所含栏目的内容;②指定数据筛选条件);2.设计格式(包括:①设计副标题;②设计表头栏;③设计表尾区);3.应用技巧(包括:①分级与合计;②多重表达式)。

一、数据设计的准备工作

准备工作主要包括两个方面:选择功能区和设置主标题.用户启动自定义报表工具后,系统将自动弹出自定义报表设置主界面,用户可在此界面上完成设计数据的准备工作.

选择功能区

由于形成自定义报表的查询和统计是以数据表的字段为基础的,因此就要求数据表之间存在着关联,否则地话,自定义报表内各栏目内容之间将互不匹配,无法达到用户所期望的效果。要想解决这个问题,就要求用户在设计自定义报表之前,必需先选择一个数据表组,该数据表组中的数据表之间相互关联,为同一个功能服务,系统称之为“功能区〞。

功能区是由系统设定好的,用户所做的只是在界面右上侧的“报表设置的功能范围选择区〞内,根据需要选择适当的功能区。譬如说:用户想自定义一张有关销售的报表,就要首先用鼠标在“报表设置的功能范围选择区〞内的下拉框中点取“销售〞。

由于系统不支持跨功能区来自定义报表,因此当用户在自定义报表的设计过程中,要改变功能区设置时,系统将自动弹出一个对话框,要求用户进行确认,用户如想放弃,则点击“是(Y)〞,系统将放弃原有的设计,进入新的设计;用户如不想放弃,则点击“否(N)〞,系统将维持原有的设计,不再进入新的设计,更改功能区无效。

设置报表标题

用户在界面中的“报表标题设置区〞内输入要定义的报表标题,最大长度为32位字符或16个汉字。

准备工作做完之后,用户便可以进行数据的设计工作了。

注意:用户最好首先进行功能区的定义工作。

二、设置报表各栏目内容

报表是由表栏目组成的,故而,用户要首先对自定义报表所含各栏目的内容进行设置。设置时,用户在图9-2所示的界面中,用鼠标双击“Field1〞下的空白栏(此处的“Field1〞即“栏目1〞),系统将会自动弹出自定义报表设置主界面。

第27页共49页

用友软件

各栏目说明:数据表/查询该区域列示的是用户所选功能区下属的数据表,这些数据表之间相互关联,为同一个功能服务。这些数据表是由系统根据用户选择的功能区自动列示出来的,用户不能进行删除和增加,只能从中进行选择。数据字段选项数据字段选项区域列示的是左边选中的数据表中所包含的字段,报表栏目内容的设置将以这些字段选项为基础。与数据表一样,这些数据选项是由系统根据用户所选择的数据表自动列示出来的,用户不能进行删除和增加,只能从中进行选择。栏目内容显示区该区域列示的是用户为设置该报表栏目的内容而用所选择的数据选项组成的表达式。这个表达式或者是单纯的一个数据选项,或者是繁杂的带有函数或操作符的数据选项组合。操作符用户对所选数据选项进行处理时所常用的符号。函数用户对所选数据选项进行处理时所常用的函数,包括规律函数、文本函数、合计函数、日期/时间函数和算数函数。名称该区域供用户来设置报表栏目的名称。用户可根据自己的需要进行设置,如不设置,系统将会自动默认为用户所选第一个数据项的字段名称,当然,用户还可以对系统默认的名称进行修改。其它选项和按钮“显示〞选项选中与否规定了该报表栏目在报表显示界面是否可见,打上选中标志意味着可见,没有选中标志意味着不可见。需要注意的是,不可见并不说明不存在,只是隐蔽起来不显示罢了,在其他方面,不显示栏目与正常可显示栏目是一样的。“合计〞与“%〞选项将在特别设置部分里进行介绍。“前移〞按钮表示转到当前栏目前一个栏目的编辑状态。“后移〞按钮表示转到当前栏目后一个栏目的编辑状态。“保存〞和“放弃〞按钮的含义这里就不再过多地解释。

报表栏目内容的设置步骤如下:

1、用户在自定义报表设置主界面中,用鼠标双击“FieldX〞下的空白栏(此处的“FieldX〞即“栏目X〞),系统自动弹出数据设计界面。2、用户在“名称〞中输入该报表栏目的名称。

3、用户在“数据表/查询〞区域选择与自定义报表有关的数据表,一次只能选中一个,选择的方法是:用鼠标双击。

4、选中数据表后,系统将在数据选项区域自动列出该数据表所含的字段名称,用户可根据自己的需要,选择设置该报表栏目所需的数据选项,然后用鼠标双击它,则系统将所选数据选项以计算机语言的形式显示在“栏目内容显示区〞。

5、在设置报表栏目内容时,假使需要,用户还可以对所选数据选项进行函数处理,也可以选择两个或两个以上的数据选项(既可以来自同一个数据表,也可以分别来自同一个功能区的不同表),来组成繁杂的数据选项表达式。

6、根据需要,用户选中相关的选项,譬如:用户想让该报表栏目在报表显示界面是可见的,便可将“显示〞选项置于选中标志。

7、上面工作完成以后,如想保存,则点击〖保存〗按钮;如想放弃,就点击〖放弃〗按钮。

该报表栏目内容设置完成以后,系统将回到自定义报表设置主界面,并且将已保存的报表栏目的名称列示在相应的名称显示区,而将栏目内容的表达式列示在相应的表达式区,同时,系统还自动在现有栏目的后面横向增加一列栏目,在现有表达式的下面纵向增加一行表达式区,等待用户进行设置。

第28页共49页

用友软件

注意:用户对已设置好的栏目,可以双击其表达式栏,进入修改界面(如图9—4)。用户对已设置好的栏目,可以用鼠标拖住其名称栏,在已设置的栏目之间任意调换位置。为了便利用户,系统还提供了快捷键的功能,具体方法是,在图9-5所示的界面中,点击鼠标右键,系统将自动弹出一个快捷菜单。

关于多个表达式行并存的状况将在特别设置的“多重表达式〞部分给以详细的介绍,这里用户先不要考虑多重表达式的状况。

三、指定数据筛选条件

报表中存放的是查询统计出来的结果,而查询统计就需要用户给出条件,以便对数据进行筛选。

指定数据筛选条件的步骤是:

1、用户在自定义报表设置主界面,用鼠标双击“Where〞下的空白栏(此处的“Where〞即“条件〞),系统自动弹出数据设计主界面。界面中,“名称〞中自动显示“条件〞二字,并且为灰,不允许用户进行修改。

2、用户在“数据表/查询〞区域选择数据表,在“数据字段选项〞区域选择数据字段选项,然后以选中的数据字段为基础,利用函数和操作符构建规律表达式,显示在“栏目内容显示区〞内。譬如:条件“未结算数量大于零〞的规律表达式为:“([DispatchLists].[iQuantity]-[DispatchLists].[iSettleQuantity])>0〞。

3、上面工作完成以后,如想保存,则点击〖保存〗按钮;如想放弃,就点击〖放弃〗按钮。

四、设计格式

对于一个完整的报表而言,仅有数据是不够的,还需要有一定的格式,因此,数据设计完之后,就要转入报表格式的设计。报表的格式主要包括三个部分:标题(又可分为主标题和副标题)、表头栏和表尾区。

如何设计主标题

所谓“主标题〞是指报表名称,主标题的设置在自定义报表设置主界面中进行,用户可以在设计数据前的准备工作中设置报表的主标题,主标题的最大长度为32位字符或16个汉字。如何设置副标题

所谓副标题是指主标题下面的小标题。

在设置副标题以及后面所要描述的表头栏和表尾区时,用户都要先进入格式设计界面,进入的方法是:在自定义报表设置主界面中用鼠标点击〖格式〗按钮,系统自动弹出格式设计界面。

从界面上我们可以看出,副标题可以不止一个。系统规定:在副标题设计区,纵向,最多可以定义八行标准副标题;横向,所能定义的标准副标题的个数要视自定义报表的长度而定。

这里需要解释一下什么是标准副标题,所谓的标准副标题是指用户在进入副标题设计区时,点击鼠标,系统自动出现的副标题设计条。设计时,用户可以用系统自动弹出的副标题

第29页共49页

用友软件

部分可以将该编码型的栏目字段设为不显示,这样,既能使报表数据简捷,又能达到分级,避免重名的效果。在选择进行合计处理的栏目字段时,尽量选择那些数据型的栏目字段。

如何使用多重表达式

所谓多重表达式是指自定义报表设置主界面中多个表达式行并存的状况,用户可以在同一个栏目下输入多个表达式(最多输入八个表达式行)。多重表达式主要适用于以下状况:一个栏目的内容要来自两个或两个以上的地方,也就是说,无法用一个数据项表达式来进行涵盖,而必需要用多个表达式。

举一个很简单的例子来说明这种应用:企业要出一张收入明细表,因而要设一个收入栏目,考虑到收入包括多个方面,如销售收入、劳务收入等,这种状况下,显然用一个数据项表达式无法涵盖收入的所有内容,而必需要用多重表达式,即收入栏目下的表达式1表示的是销售收入,表达式2表示的是劳务费收入。同样地,用户还可以为这些表达式分别设置数据筛选条件。这样设置后,自定义报表显示时,收入栏目下便可以将所有种类的满足数据筛选条件的收入项都列示出来。

UFO报表的二次开发

一、批命令

批命令实质上是把多个UFO命令进行集合操作处理,即在一个批命令文件中编写多个命令,执行这个批命令文件就可以一次性完成这些命令。批命令在大量时候是必不可少的。例如当主管单位进行报表汇总时和企业集团中的母公司进行合并报表时。

所有的命令和函数均可在批命令中使用;批命令可以嵌套、递归(这是在单元公式中不能作到的)和带参调用;批命令可以在批命令和自定义菜单中调用。

批命令文件在UFO提供的二次开发窗口UFOEDIT中编写,编写完成后以后缀“.SHL〞保存。在系统窗口或报表窗口中都可以执行批命令文件。

1、批命令的实现过程

第一步点取[文件]菜单中的[二次开发],开启“UFOEDIT〞窗口。

其次步在UFOEDIT窗口中新建一个批命令文件,输入UFO命令,并保存批命令文件。注意:1)在批命令中不能使用全角字符(在双引号\中可以使用全角字符)。

2)由于UFOEDIT窗口没有检查错误的功能,在批命令编写完毕后,应检查一下是否有语法错误和规律错误。

第三步在系统窗口或报表窗口都可以执行批命令文件。第四步在UFOEDIT窗口中可以打印批命令文件。

例1、下面是一个审核报表的批命令。ifc6c7+c8+c9+c10disp\单元错误!\returnend

ifc19c20+c21+c22+c23

第35页共49页

用友软件

disp\单元错误!\returnend

ifc28c6+c19

disp\单元错误!\returnend

disp\数据全部正确!\

例2、以下是《损益表》取数的批命令。letC5=fs(501,月,\贷\年)letC6=fs(502,月,\借\年)letC7=fs(503,月,\借\年)letC8=fs(504,月,\借\年)letC9=C5-ptotal(C6:C8)

letC10=fs(511,月,\贷\年)-fs(512,月,\借\年)letC11=dfs(521,321,月,\贷\年)letC12=fs(522,月,\借\年)letC13=C9+C10-C11-C12

letC14=fs(531,月,\贷\年)-fs(532,月,\借\年)letC15=fs(541,月,\贷\年)letC16=fs(542,月,\借\年)letC17=C13+C14+C15-C16letC18=fs(505,月,\借\年)letC19=C17-C18

letD5:D19=C5:C19+select(D5:D19,年@=年and月@=月+1)

例3、以下是采集下级单位报表的批命令。letall

letv_d单元格名表示表页号:@&TAB表示行号:#&ROW表示列号:!&COL

3)清除变量

〖命令格式〗FREE

〖参数说明〗变量名:需要清除的变量,ALL表示所有变量。3、语句

1)分支语句

第37页共49页

用友软件

A)简单条件分支语句格式:IF

END

运行结果:假使条件为真,则执行IF语句后面的语句行序列;假使条件为假,则执行END后面的语句。例如:IFA3>0

LETB3=A3END

运行结果:当A3单元的值大于0时,B3单元等于A3单元;当A3单元的值小于等于0时,执行END之后的语句。

B)选择条件分支语句格式:IF

ELSE

END

运行结果:假使条件为真,则执行语句行序列1;假使条件为假,则执行ELSE后的语句行序列2。

例如:IFA3>1000

LETB3=A3ELSE

LETB3=0END

运行结果:假使A3单元的值大于1000,B3单元等于A3单元;假使A3单元的值小于等于1000,B3单元等于0。

2)循环语句

格式:WHILE

END

运行结果:当条件为真时,循环执行语句行序列;直到条件为假时,执行END之后的语句。

例如:给12张表页中的关键字“月〞分别赋值为1-12。LET&AA=1

WHILE&AAMONTH()

//假使变量&MONTH大于系统时间的月DISPLAY\本年度数据已全部取到。\//显示提醒框\本年度数据已全部取到!\BREAK

//跳出WHILE循环END

//终止IF语句

LETA5@&MONTH=\TA\

//当前报表&MONTH表页的A5单元等于报表\一致表页的A5单元的值。LET&MONTH=&MONTH+1

//变量&MONTH加1,并回头执行WHILE语句END

//终止WHILE语句

4)返回语句格式:RETURN

运行结果:终止最近一层批命令。

例如:以下是一个寻觅单位名称为“销售部〞表页的批命令。LET&PAGE=1

//给变量&PAGE赋初值为1WHILE&PAGE用友软件

//假使关键字单位名称的值为\销售部\,则执行下面语句;假使关键字单位名称的值不为\销售部\,则执行&PAGE=&PAGE+1语句

DISPLAY\已找到销售部表页!\//显示提醒框\已找到销售部表页!\RETURN

//终止本批命令

END

//终止IF语句

&PAGE=&PAGE+1//变量&PAGE加1

END

//终止WHILE循环

DISPLAY\未找到销售部表页!\

//显示提醒框\未找到销售部表页!\

4、函数

UFO有58个函数,包括统计函数21个,数学函数12个,表操作辅助函数2个,日期函数7个,条件取值函数1个,读取数据库数据函数1个,指针状态类函数4个,字符处理函数7个,交互输入函数2个,文件函数1个。在UFO中,“业务函数〞154个,使用业务函数可以从《总账》《应收》《应付》等系统中提取数据。大部分函数既可以在编辑单元公式时使用,又可以在批命令中使用,但有一部分函数,如:本表他页取数函数、指针状态类函数、交互输入函数等只限用于批命令。

当您在编辑单元公式时,您可以直接使用函数。假使您不愿意记忆一连串的名字、参数、括号等繁杂格式,您可以使用“函数向导〞按钮,在函数向导对话框的指导下一步一步完成函数的设置,并随时可以用F1键调出相关帮助。

除数学函数、条件取值函数外其他函数均不允许嵌套使用。

当您使用UFO的命令窗和程序编辑器时,您可以直接使用函数,您不需要完整记忆完整的函数格式,甚至不需记忆完整的函数名,只要您输入函数名的前几个字母,您就要以用F1调出相关函数的帮助信息。

注意:函数中使用到的字母和符号,如:函数名、括号(())、引号(“〞)、逗号(,)、等号(=)等均为半角符号。1)业务函数

A)总帐函数:

期初额函数:QC、sQC、wQC期末额函数:QM、sQM、wQM发生额函数:FS、sFS、wFS累计发生额函数:LFS、sLFS、wLFS条件发生额函数:TFS、sTFS、wTFS〖参数说明〗

科目缺省即求辅助项的发生额合计,此时〈核算类别〉参数不能缺省。合法的〈方向〉为“借〞、“贷〞、“j〞、“d〞。〈摘要匹配方式〉,模糊匹配用“=〞,确切匹配用“==〞。〈编码1〉与〈编码2〉与科目编码的核算账类有关。

第40页共49页

用友软件

〈核算类别〉只在〈科目编码〉缺省时有意义。

〈项目大类名称〉只在〈科目编码〉缺省且〈核算类别〉含“项目〞时有意义。〖返回值〗

数值型,返回指定科目某会计期间某方向符合某条件的发生额合计数。

假使该会计科目带辅助核算账类,那么返回编码所对应的辅助项的累计发生额。注意:

?由于使用借贷记账法,〈方向〉为“借〞或“贷〞。?条件发生额函数的〈方向〉不能缺省。

?假使您的科目有两种辅助核算,则这两个辅助项在公式中的排列位置必需正确,

否则系统将无法正确结转。五种辅助项在公式中先后顺序为:部门,个人,客户,供应商,项目。例如:52101为某部门项目科目,则您可以输入QC(“52101〞,月,“部门一〞,“项目一〞),而不可以输入QC(“52101〞,月,“项目一〞,“部门一〞)。

?若科目为非末级科目,则返回其所有下级科目的发生额之和。若其下级科目的发

生额方向与公式中定义的方向不一致,则只返回发生额方向与公式定义方向一致的发生额之和。对方科目发生额函数:DFS、s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论