编辑时间:2021年07月12日 作者:保会通软件 浏览量:0次
第一章 函数综述
在保会通软件的“报表”模块和“会计账务”模块的凭证分录模板中,我们希望系统能够按我们的要求自动生成数据。自动生成数据就是计算机的一大优势,但如何让计算机按我们指定的要求生成数据呢,其核心问题是如何向计算机表达我们的要求。为此,保会通软件引入函数来表达用户的取数要求。
为了使函数能表达用户的取数要求,函数必须能准确地描述数据的位置、类别和其他一些条件。同时函数是提供给用户直接使用的,它必须简单、规范、易于记忆和使用。
一、函数的形式
二、表达式
三、变量
四、表达式的执行轮次
五、表达式中的注释
六、表达式的值类型
# K $
一、函数的形式
函数具有以下通用形式:
函数名(参数1,参数2,…,参数n)
如:y(101)、tl(501,321)、f(511,#y1)
t(511,#y,"c:\保会通数据\××单位\2001.cwd")、
……。
函数名:描述数据类别或对数据的操作要求。如:取余额、取发生额、取绝对值、……。
括号“(”和“)”:函数定界符,用于把函数名和参数分开,同时也起标识函数的作用。
参数1,参数2,…、参数n:函数的参数表,用于描述数据的位置、所处的时间和其他一些对数据的限制条件。函数参数的多少和意义因函数名的不同而不同。
【上一页】
【下一页】
# K $
二、表达式
表达式是将常数、变量、函数用运算符号连接而成的数学表达式。表达式用于对复杂数据的处理。
表达式中可用的运算符号有:
“+”(加)
“-”(减)
“*”(乘)
“/”(除)
“%”(整除取余)
“^”(方幂)
“=”(相等吗)
“!=”(不等吗)
“>”(大于吗)
“<”(小于吗)
“>=”(大于或等于吗)
“<=”(小于或等于吗)
“!”(逻辑非)
“&&”(逻辑与)
“||”(逻辑或)
“(”(左括号)
“)”(右括号)
【上一页】
【下一页】
# K $ K
三、变量
变量是一个以“#”开头的文字串。一个变量代表一个表达式,一个变量应该在变量表中被定义后方可使用。定义变量时应确定变量的如下内容:
变量名:以“#”开头的文字串,除“#”外其他文字必须为大小写字母或数字。变量名是变量的标识,它在引用变量的时候使用;
表达式(公式):变量的表达式就是变量内容,即变量值;
值类型(类型):变量的值类型有“文字”、“数值”和“自动”三种类型;
说明:变量的说明简述变量的内容或作用,以帮助对变量的识别和使用。
变量表:变量表是保会通数据文件用来存放变量的列表,一张保会通报表母表有唯一一张变量表。
【上一页】
【下一页】
# K $
四、表达式的执行轮次
表达式往往被成批使用,如报表中的表达式、凭证分录模板中的表达式等。软件在使用多个表达式来自动生成数据时,执行表达式取数的次序一般是“Z”次序,即先左后右先上后下。如果实际执行次序不是这样,应当使用表达式的“轮次”来改变表达式被执行的次序。一般说来,如果一组表达式没有附加轮次,系统按“Z”次序逐一执行完一次表达式取数后,即告完成。如果在一组表达式中引入轮次,即在每一个表达式的前面加上一个被称为轮次的数字(0、1、2、3、……),用“:”(英文冒号)将它与表达式连接。引入轮次后,如果一组表达式的最大轮次为n,系统按“Z”次序从头至尾执行n+1次(遍)取数,第0次只执行轮次为0(或无轮次)的表达式取数,第1次只执行轮次为1的表达式取数,……,第n次只执行轮次为n的表达式取数。如此这般,即可达到改变表达式在表达式组中被执行的次序
如上图所示,左边表达式组执行取数的次序为:表达式1→表达式2→表达式3→表达式4→表达式5→表达式6→表达式7→表达式8→表达式9→表达式10→表达式11→表达式12,右边表达式组执行取数的次序为:第0轮,表达式2→表达式3→表达式8→表达式10→表达式12,第1轮,的表达式1→表达式6→表达式7→表达式11,第2轮,表达式5→表达式9,第3轮,表达式4,
【上一页】
【下一页】
# K $
五、表达式中的注释
表达式中可以使用注释符“//”、“/*”和“*/”。
注释符“//”:从“//”开始注释到末尾。如:ydc("10?")//期初贷方余额。
注释符“/*”和“*/”:注释符“/*”和“*/”必须成对使用,注释表达式中从“/*”开始到“*/”结束之间的内容。如:ydc("10?"/*账户代码*/,#y/*会计月*/,#z/*账簿文件*/)。
【上一页】
【下一页】
# K $
六、表达式的值类型
表达式的值类型有文字型和数值型两种。常数也有文字型和数值型两种。文字型常数常用来表示账户代码,账簿文件名。文字型常数应当用两个英文引号“"”将它引起来,如:
"10?"、"c:\BHTSoft\××单位\2001.cwd"、……。
【上一页】
【下一页】
# K $
第二章 函数的参数
一、函数的形式
二、报告期
三、账簿文件
四、文件名
五、报表名
六、报表行(行号)
七、报表栏(栏号)
八、单元格
九、块(矩形块)
十、坐标
十一、区域
【上一页】
【下一页】
# K $
一、科目(账户)代码参数
账簿记载的经济内容一般是按账户(科目)归类收集的,因此,账户(科目)是多种函数都用到的函数参数,科目参数可以是一级科目或各级明细科目,也可以是若干个科目。当只取某个指定科目的某种数据时,科目参数就是该科目的代码;若需要取多个科目的某种数据时,可以将这些科目一一列举出来,彼此间用分号“;”连接。
在取数函数中,科目参数的描述可以使用通配符。
例:yjc(101),表示取101科目的期初借向余额;
yjc(101;102;109),表示取101、102、109三个科目的期初借向余额;
yjc(10?,#y,#z),表示取科目代码从100至109之间的所有科目的期初借向余额。
yjm(12201*),表示取12201科目的所有子目的期末借向余额。
若会计科目带辅助核算,科目需要描述到辅助科目时,应按主科目的辅助核算项位置,在主科目后,将辅助科目一一列举出来,中间用“\”连接
像上图对话框中的科目,我们就可以写成:
5040101\02010301\13010101\\\913
科目:5040101的辅助核算项定义如下图:
注意:在描述科目的辅助项时,辅助科目码前一定要带组码,而且要注意辅助核算项的位置。没有辅助核算项的位置,也要加“\”。除非此位置之后再也没有指定辅助科目,如:
科目:5040101\02010301\13010101\\\
等同于:5040101\02010301\13010101。
【上一页】
【下一页】
# K $
二、报告期
报告期是指报表的报告期,是以月份为单位的。如下图:
保会通软件报表模块,是一个通用电子表格模块,一张报表由一张母表、若干张子表构成。母表总是处在报表目录的一级位置,一张母表可以有多级子表构成。如上图,资产债表就是一张母表,表号为1。它下面有一级子表,子表号分别为:1、2、3、…、11、12、13、101、102、…。
保会通函数中专门有一个函数:dirn(),就是取上述子表号的。我们常用它取出来的数作为账簿取数函数的报告期。
“报告期”是账簿取数函数的一个重要参数,系统对报告期的解释方法是:
1、若报告期为六位数,如:200902,直接作为月份使用,因为账簿中的月份都是“年+月”六位数的。
2、若报告期为两位数内,1~12解释成账套年度1~12月,13~99也当成12解释。可见有多个数表示12月,用户可根据这一特征,做出几张12月份的报表,如年末转账前的,转账后的。
3、若报告期为三位数,则百位数+账套年度被解释成年,十位个位数被解释成月。如:101~112被解释成账套年度的下一年度的1~12月。这样一张母表下就可以有两个年度的子表了,如上图。
4、可以用“:”将两个上述所指的月份连接起来,表示两个月份之间的数月。如:
4:6表示账套年度的二季度。
"1:"+dirt() 表示一至当前月,常用作累计数的报告期参数。
对a:b而言,要求a、b百位数以上应相同,若不相同,取大者解释。
如“1:103”被当成“101:103”解释。
常用的报告期就两个:
本月 变量“#y”就是取“本月”的。#y=dirn()。
年初至本月 变量“#y1”就是取“年初至本月”的。#y1="1:"+dirt()。
报告期变量可缺省,缺省时默认值就是变量“#y”。
用户完全可以构造别的形式的子表,如:
不过要这样的活,就修改变量“#y”和“#y1”的定义了。
#y=dirt(1)+dirt()。
#y1=dirt(1)+”01:”+#y。
【上一页】
【下一页】
# K $
三、账簿文件
账簿文件是指由保会通软件创建的年度数据文件的全路径名,比如:
c:\保会通数据\××单位\2001.cwd。
如果是SQL Server数据库(S版软件的数据文件),账簿文件名是指数据库名,而非物理文件名。命名规则是:
保会通数据文件扩展名+账套号+年度
如:cwd00012009就是账套号为“0001”的2009年账务数据文件。
在账簿取数函数中常常可以缺省账簿文件参数,缺省时,以变量“#z”代之。
在变量表中,#z=zw()。
函数zw(),是取当前报表的默认账簿文件。
【上一页】
【下一页】
# K $
四、文件名
本系统中文件名指两种类型的文件,账簿文件名账簿文件和报表名报表名。
【上一页】
【下一页】
# K $
五、报表名
报表名是指报表模块中报表的表号(或报表文件全名),在取数函数中常常可以缺省报表名参数,缺省时,表示当前操作报表。
【上一页】
【下一页】
# K $
六、报表行(行号)
在本系统中,报表行是从上到下连续编排,依次用自然数(1,2,3,…,n)从小到大表示,最大行号也就是该表的行数。
【上一页】
【下一页】
# K $
七、报表栏(栏号)
在本系统中,报表栏是从左到右连续编排,用大写的英文字母表示,A~Z依次代表第1栏到第26栏,AA~AZ代表第27栏到第52栏,BA~BZ代表第53栏到第78栏,依此类推。
【上一页】
【下一页】
# K $
八、单元格
单元格是指报表栏、行的交叉点,一个交叉点就是一个单元格,可以认为单元格是报表的细包。单元格的描述有两方面,一方面是内容描述,另一方面是位置描述,单元格的位置是指它在报表中所处的栏的栏号及所处的行的行号,单元格的位置可以用坐标来表示,单元格的坐标形式为:
栏号+行号
其中:栏号在前,行号在后,比如:A2表示第一栏和第二行的交叉点,即栏坐标是A,行坐标是2。
单元格的内容应根据报表的需要来定义。
若一张报表有8栏、38行,那么,这张报表就有8×38=304个单元格。
【上一页】
【下一页】
# K $
九、块(矩形块)
块是由单元格堆集而成的,规则的块也称为矩形块。
【上一页】
【下一页】
# K $
十、坐标
坐标是用一对有序数来描述平面内的点的一种表示法,本系统中,单元格的位置描述就是用坐标来描述的,坐标的原点是报表的左上角,栏坐标向右递增,行坐标向下递增。
【上一页】
【下一页】
# K $
十一、区域
区域是指给定报表的有效单元格或有效单元块,区域可以是一个单元格,也可以是一个矩形块,还可以是由一些有效单元格堆集而成的一个块,还可以是由若干分散的有效单元格或块组成。一个矩形块是用它的左上角单元格坐标和右下角单元格坐标来表示,并用冒号“:”将其连接(“:”是英文字符),如:C1:D10,B3:B21,E2:E8等。一个不规则的块可以分解成若干个单元格和矩形块。
若一个区域是由若干单元格和块组成,则必须用分号“;”将它们分隔,如:A2;B2:D10;E30是由两个单元格A2、E30和一个矩形块B2:D10组成的一个区域。
【上一页】
【下一页】
# K $
第三章 账簿取数函数
一、账簿取数函分类
按取数账簿分,可分成:会计账务(复式账)簿取数函数、出纳账务(单式账)簿取数函数。函名以会计账务(复式账)簿取数函数为基础,出纳账务(单式账)簿取数函数的函数名在会计账务(复式账)簿取数函数名前加“xm”。如:
y() 会计账务(复式账)期末余额函数
xmy() 出纳账务(单式账)期末余额函数
按所取数的属性分,可分成:金额取数函数、数量取数函数、外币取数函数。函数名以金额取数函数为基础,数量取数函数在金额取数函数名前加“sl”,外币取数函数在金额取数函数名前加“wb”。如:
fd() 会计账务(复式账)贷方发生额函数(取金额)
slfd() 会计账务(复式账)贷方发生额函数(取数量)
wbfd() 会计账务(复式账)贷方发生额函数(取外币)
xmslfd() 出纳账务(单式账)贷方发生额函数(取数量)
wbxmfd() 出纳账务(单式账)贷方发生额函数(取外币)
注意:账簿描述字(xm)、数值属性描述字(sl、wb)都有时、位置可随意。
xmslfd()=slxmfd()
wbxmfd()=xmwbfd()
按取数类别分,可分成:余额函数(y)、同向余额求和函数(t)、发生额函数(f)、发生净额函数(n)。若是对会计账务(复式账)取数还有:分录取数函数(tl、tll)、利润函数(k)。
函数还有更多更细的分类,请仔细查看“函数向导”对话框。如下图:
账簿取数函数的完整形式为:
函数名(会计科目参数,报告期(时间),账务数据文件名,取数范围,取数标志)
【上一页】
【下一页】
# K $
二、账簿余额函数
yjc() 期初借方余额函数
ydc() 期初贷方余额函数
yjm() 期末借方余额函数
ydm() 期末贷方余额函数
tjc() 期初明细科目同向借方余额函数
tdc() 期初明细科目同向贷方余额函数
tjm() 期末明细科目同向借方余额函数
tdm() 期末明细科目同向贷方余额函数
# K $
⒈期初借方余额函数
函数名:yjc()
格式:yjc(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期期初借方余额。
函数记忆方法:y表示余额;j表示借方;c表示期初。
组成函数名的三个字母的顺序可以颠倒,并可省略字母j,缺省字母j时表示借方。
举例:yjc(111,3,#z) 表示取会计科目为111的3月份的借方期初余额。
参考:ydc(),yjm(),ydm(),tdc(),tjc() ,tjm(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒉期初贷方余额函数
函数名:ydc()
格式:ydc(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期期初贷方余额。
函数记忆方法:y表示余额;d表示贷方;c表示期初。
组成函数名的三个字母的顺序可以颠倒。
举例:ydc(211,1,#z) 表示取会计科目为211的1月份月初贷方余额。
参考:yjc(), yjm(),ydm(),tdc(),tjc() ,tjm(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒊期末借方余额函数
函数名:yjm()
格式:yjm(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期期末借方余额。
函数记忆方法:y表示余额;j表示借方;m表示期末。j、m都可缺省。
组成函数名的三个字母的顺序可以颠倒。
举例:yjm(129,5,#z) 表示取会计科目为129的5月份月末借方余额。
参考:yjc(),ydc(),ydm(),tdc(),tjc() ,tjm(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒋期末贷方余额函数
函数名:ydm()
格式:ydm(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期期末贷方余额。
函数记忆方法:y表示余额;d表示贷方;m表示期末。m可缺省
组成函数名的三个字母的顺序可以颠倒。
举例:ydm(209,5,#z) 表示取会计科目为209的5月份月末贷方余额。
参考:yjc(),ydc(),yjm(),tdc(),tjc() ,tjm(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒌期初明细科目同向借方余额函数
函数名:tjc()
格式:tjc(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目的所属明细科目在指定报告期期初同向借方余额。
函数记忆方法:t表示同方向余额;j表示借方;c表示期初。j可缺省
组成函数名的三个字母的顺序可以颠倒。
举例:tjc(122;206,3,#z) 表示取会计科目为122和206的最低明细科目3月份月初借方余额之和。
参考:yjc(),ydc(),yjm(),ydm(),tdc(),tjm(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒍期初明细科目同向贷方余额函数
函数名:tdc()
格式:tdc(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目所的属明细科目在指定报告期期初同向贷方余额。
函数记忆方法:t表示同方向余额;d表示借方;c表示期初。
组成函数名的三个字母的顺序可以颠倒。
举例:tdc(122;206,3,#z) 表示取会计科目为122和206的最低明细科目3月份月初贷方余额之和。
参考:yjc(),ydc(),yjm(),ydm(),tjc(),tjm(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒎期末明细科目同向借方余额函数
函数名:tjm()
格式:tjm(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目的属明细科目在指定报告期期初同向借方余额。
函数记忆方法:t表示同方向余额;j表示借方;m表示期末。j、m可以缺省
组成函数名的三个字母的顺序可以颠倒。
举例:tjm(122;206,3,#z) 表示取会计科目为122和206的最低明细科目3月份月末借方余额之和。
参考:yjc(),ydc(),yjm(),ydm(),tdc(),tjc(),tdm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒏期末明细科目同向贷方余额函数
函数名:tdm()
格式:tdm(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目的属明细科目在指定报告期期初同向贷方余额。
函数记忆方法:t表示同方向余额;d表示贷方;m表示期末。m可以缺省。
组成函数名的三个字母的顺序可以颠倒。
举例:tdm(122;206,3,#z) 表示取会计科目为122和206的最低明细科目3月份月末贷方余额之和。
参考:yjc(),ydc(),yjm(),ydm(),tdc(),tjc() ,tjm()。
其它函数:账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
三、账簿发生额函数
fj() 借方发生额函数
fd() 贷方发生额函数
# K $
⒈贷方发生额函数
函数名:fd()
格式:fd(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期内贷方发生额。
函数记忆方法:f表示发生额;d表示贷方。
组成函数名的二个字母的顺序可以颠倒。
举例:fd(211,3,#z) 表示取会计科目为211的3月份贷方发生额。
参考:fj()。
其它函数:账簿余额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒉借方发生额函数
函数名:fj()
格式:fj(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期内借方发生额。
函数记忆方法:f表示发生额;j表示借方。j可以缺省。
组成函数名的二个字母的顺序可以颠倒。
举例:fj(511,3,#z) 表示取会计科目为511的3月份借方发生额。
参考:fd()。
其它函数:账簿余额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
四、账簿净额函数
nd() 发生净额贷项函数
nj() 发生净额借项函数
# K $
⒈发生净额贷项函数
函数名:nd()
格式:nd(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期内发生净额贷项。
函数记忆方法:n表示净额;d表示贷方。
组成函数名的二个字母的顺序可以颠倒。
举例:nd(501,3,#z) 表示取会计科目为501的3月份发生净额贷项。
参考:nj()。
其它函数:账簿余额函数,账簿发生额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
⒉发生净额借项函数
函数名:nj()
格式:nj(科目报告期文件,取数范围,取数标志)
返回值:返回指定科目在指定报告期内发生净额借项。
函数记忆方法:n表示净额;j表示借方。j可以缺省。
组成函数名的二个字母的顺序可以颠倒。
举例:nj(511,3,#z) 表示取会计科目为511的3月份内发生净额借项。
参考:nd()。
其它函数:账簿余额函数,账簿发生额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
五、分录取数函数
tl 单向分录取数函数
tll 双向分录取数函数
# K $
1单向分录取数函数
函数名:tl()
格式:tl(借方科目,贷方科目,报告期文件,取数范围,取数标志)
返回值:取参数表中所界定的分录的发生额。
取数原理:找出报告期内含有指定的分录的所有凭证;逐张分别计算借、贷方科目的发生额;取较小的发生额;加总各凭证所取得的数额返回之。
例子:以下是一张凭证
借:现金(101) 1000
银行存款(102) 20000
应收账款122 50000
贷:主营业务收入(501) 71000
则:tl(101,122)=1000
tl(102,122)=20000
若含此分录的凭证是多借多贷分录,此函数取出来的数可能不正确。
参考:tll()、k()、kd()。
其它函数:账簿余额函数,账簿发生额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
2双向分录取数函数
函数名:tll()
格式:tll(借方科目,贷方科目,报告期文件,取数范围,取数标志)
返回值:取参数表中所界定的分录的发生额与它反向分录的发生额的差。
取数原理:tll(a,b)=tl(a,b)-tl(b,a)
参考:tl()、k()、kd()。
其它函数:账簿余额函数,账簿发生额函数,会计凭证取数函数,数学函数,环境函数,报表函数。
# K $
六、利润函数
k 费用取数函数
kd 收入分录取数函数
# K $
一、支出(或费用、成本)函数
函数名:kj()或k()
格式:k(利润或结余科目,支出或费用科目,报告期文件,取数范围,取数标志)
函数说明:此函数为一个复合函数,即:
k(利润或结余科目,支出科目,…)=
n(支出科目,…)+tll(利润或结余科目,支出科目,…)
参考:tl(),tll(),kd()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,报表函数,环境函数,数学函数。
# K $
二、收入函数
函数名:kd()
格式:k(收入科目,利润或结余科目,报告期文件,取数范围,取数标志)
函数说明:此函数为一个复合函数,即:
k(收入科目,利润或结余科目,…)=
nd(收入科目,…)+tll(收入科目,利润或结余科目,…)
参考:tl(),tll(),k()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,报表函数,环境函数,数学函数。
# K $
第四章 会计凭证取数函数
凭证取数函数有:
pk() 凭证模板分录科目代码函数
pj() 凭证借方金额合计函数
pd() 凭证贷方金额合计函数
pzt() 取当前凭证的制作时间
# K $
一、凭证模板分录科目代码函数
函数名:pk()
格 式:pk(序数)
说 明:pk()返回完整的科目代码,即
会计科目被多维子目化时返回:
会计科目\子目1\子目2\子目3\子目4\单位
会计科目未被多维子目化时返回:
会计科目
pk(0)返回会计科目代码。
pk(1)返回第一辅助科目代码。
pk(2)返回第二辅助科目代码。
pk(3)返回第三辅助科目代码。
pk(4)返回第四辅助科目代码。
pk(5)返回单位代码。
返回值:返回正在生成凭证的当前分录科目的最低级明细科目代码,专用于账务系统中模板分录公式定义。
记忆法:p表示凭证;k表示科目。
举 例:假定有如下分录模板:
序号 摘要 科目 方向 公式
1 收入结转利润 501 借方 yd(pk())
2 收入转入 321 贷方 pj()-pd()
并且已知某月月末科目501的所有子科目的账面余额为:
贷:50101 100
贷:50102 200
贷:5010301 300
贷:5010302 400
贷:5010310 500
则该模板生成的凭证为:
借:收入结转利润 50101 100
收入结转利润 50102 200
收入结转利润 5010301 300
收入结转利润 5010302 400
收入结转利润 5010310 500
贷: 收入转入 321 1500
由此可见函数pk()在记账凭证生成过程中是获取501科目的明细科目代码。
参考:tl(),tll(),kj(),kd(),pj(),pd()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,报表函数,环境函数,数学函数。
# K $
二、凭证借方金额合计函数
函数名:pj()
格式:pj()
返回值:返回正在生成凭证的已经生成分录的借方金额合计数,专用于账务系统中模板分录公式定义。
函数记忆方法:p表示凭证;j表示借方。
举例:假定有如下分录模板:
序号 摘要 科目 方向 公式
1 收入结转利润 501 借方 yd(pk())
2 收入转入 321 贷方 pj()-pd()
并且已知某月月末科目501的所有子科目的账面余额为:
贷:50101 100
贷:50102 200
贷:5010301 300
贷:5010302 400
贷:5010310 500
则该模板生成的凭证为:
借:收入结转利润 50101 100
收入结转利润 50102 200
收入结转利润 5010301 300
收入结转利润 5010302 400
收入结转利润 5010310 500
贷: 收入转入 321 1500
由此可见函数pj()在记账凭证生成过程中是获取已经生成的分录的借方金额合计数。
参考:tl(),tll(),kj(),kd(),pd(),pk()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,报表函数,环境函数,数学函数。
# K $
三、凭证贷方金额合计函数
函数名:pd()
格式:pd()
返回值:返回正在生成凭证的已经生成分录的贷方金额合计数,专用于账务系统中模板分录公式定义。
函数记忆方法:p表示凭证;d表示贷方。
举例:假定有如下分录模板:
序号 摘要 科目 方向 公式
1 费用结转利润 511 贷方 y(pk())
2 费用转入 321 借方 pd()-pj()
并且已知某月月末科目501的所有子科目的账面余额为:
借:51101 100
借:51102 200
借:5110301 300
借:5110302 400
借:51103010 500
则该模板生成的凭证为:
贷:费用结转利润 51101 100
费用结转利润 51102 200
费用结转利润 5110301 300
费用结转利润 5110302 400
费用结转利润 51103010 500
借: 费用转入 321 1500
由此可见函数pd()在记账凭证生成过程中是获取已经生成的分录的贷方金额合计数。
参考:tl(),tll(),kj(),kd(),pd(),pk()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,报表函数,环境函数,数学函数。
# K $
四、取当前凭证的制作时间
函数名:pzt()
格式:pzt(数值表达式)
返回值:函数根据数值表达式的值返回当前凭证时间。其中:数值表达式的值为
空(即缺省):即六位数月,其中前四位为年。
0:取年
1:取月
2:取八位数日期,即年月日
3:取日期年
4:取日期月
5:取日期日
如:当前凭证制作时间为2008年2月27日,所在会计月为:2008年3月,则:
pat()=200803
pat(0)=2008
pat(1)=03
pat(2)=20080227
pat(3)=2008
pat(4)= 02
pat(5)= 27
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
第五章 数学函数
数学函数有:
round() 四舍五入函数
abs() 取绝对值函数
absz() 取正数绝对值函数
absf() 取负数绝对值函数
sign() 取符号函数
sqrt() 取算术平方根函数
exp() 自然对数底数 e 的幂函数
ln() 自然对数函数
log() 常用对数函数
sin() 正弦函数
cos() 余弦函数
tg() 正切函数
ctg() 余切函数
arctg() 反正切函数
arcsin() 反正弦函数
arccos() 反余弦函数
# K $
一、四舍五入函数
函数名:round()
格式:round(数值表达式1,数值表达式2,数值表达式3)
返回值:返回四舍五入后的结果。
数值表达式2:是指小数点后至少保留的有效小数位数,不足位数以0补足。该参数可以从后依次缺省,缺省时系统认为是零。
数值表达式3:是指小数点后最多保留的有效小数位数,当小数位数超过至少保留位数时,无效的0被切去(至少保留小数位数≤最多保留小数位数)。该参数可以缺省,缺省时系统认为是“数值表达式2=数值表达式2”。
举例:round(123,2,3) = 123.00。
round(123.123,2,3) = 123.123。
round(123.1235,2,3) = 123.124。
参考: abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
二、取绝对值函数
函数名:abs()
格式:abs(数值表达式)
返回值:若表达式的值为负数时,则取它的相反数;若表达式的值不小于零,则取表达式的值。
举例:abs(123) = 123。 abs(-123) = 123。 abs(0) = 0。
参考:round(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos(),
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
三、取正数绝对值函数
函数名:absz()
格式:absz(数值表达式)
返回值:若表达式的值为负数或零时,则返回零;若表达式的值大于零,则返回表达式的值。
举例:absz(123) = 123。 absz(-123) = 0。 absz(0) = 0。
参考:round(),abs(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos(),
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
四、取负数绝对值函数
函数名:absf()
格式:absf(数值表达式)
返回值:若表达式的值为正数或零时,则返回零;若表达式的值为负数,则返回表达式值的相反数。
举例:absf(123) = 0。 absf(-123) = 123。 absf(0) = 0。
参考:round(),abs(),absz(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos(),
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
五、取符号函数
函数名:sign()
格式:sign(数值表达式)
返回值:若表达式的值为正数,则返回1;若表达式的值为零,则返回零;若表达式的值为负数,则返回-1。
举例:sign(123) = 1。 sign(-123) = -1。 sign(0) = 0。
参考:round(),abs(),absz(),absf(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
六、取算术平方根函数
函数名:sqrt()
格式:sqrt(数值表达式)
返回值:返回一个非负数的算术平方根。
数值表达式:参见数值表达式,其值必须为非负数或一个非负常数。
举例:sqrt(100) = 10。 sqrt(0) = 0。 sqrt(-123) 无意义,并出错。
参考:round(),abs(),absz(),absf(),sign(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
七、自然对数底数 e 的幂函数,e ≈ 2.71828
函数名:exp()
格式:exp(数值表达式)
返回值:返回自然对数底数 e 的幂。
举例:exp(1) = 2.71828。 exp(0) = 1。 exp(-1) = 1/e。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
八、自然对数函数
函数名:ln()
格式:ln(数值表达式)
返回值:返回自然对数值。
数值表达式:参见数值表达式,表达式值必须为一正数或一个正常数。
举例:ln(1) = 0。 ln(e) = 1。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
九、常用对数函数
函数名:log()
格式:log(数值表达式)
返回值:返回常用数值。
数值表达式:参见数值表达式,表达式值必须为一正数或一个正常数。
举例:log(1) = 0。 log(10) = 1。 log(100) = 2。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),sin(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十、正弦函数
函数名:sin()
格式:sin(数值表达式)
返回值:返回给定弧度的正弦值。
数值表达式:参见数值表达式,表达式的度量是弧度。注:180°= π个弧度
举例:sin(π/6) = 0.5(注:π/6 = 30°)。 sin(0) = 0。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),cos(),tg(),ctg(),arctg(),arcsin(),arccos()。
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十一、余弦函数
函数名:cos()
格式:cos(数值表达式)
返回值:返回给定弧度的余弦值。
数值表达式:参见数值表达式,表达式的度量是弧度。注:180°= π个弧度
举例:cos(π/3) = 0.5(注:π/3 = 60°)。 cos(0) = 1。cos(π) = -1。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),tg(),ctg(),arctg(),arcsin(),arccos()。
strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十二、正切函数
函数名:tg()
格式:tg(数值表达式)
数值表达式:参见数值表达式,表达式的度量是弧度。注:180°= π个弧度
举例:tg(π/4) = 1(注:π/4 = 45°)。 tg(0) = 0。tg(π/2) = ∞
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),ctg(),arctg(),arcsin(),arccos()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十三、余切函数
函数名:ctg()
格式:ctg(数值表达式)
返回值:返回给定弧度的余切值。
数值表达式:参见数值表达式,表达式的度量是弧度。注:180°= π个弧度
举例:ctg(π/4) = 1(注:π/4 = 45°)。 ctg(0) = ∞。ctg(π/2) = 0
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),arctg(),arcsin(),arccos()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十四、反正切函数
函数名:arctg()
格式:arctg(数值表达式)
返回值:返回给定的值反正切值。
举例:arctg(1) = 45°。 arctg(0) = 0°。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arcsin(),arccos()。
al(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十五、反正弦函数
函数名:arcsin()
格式:arcsin(数值表达式)
返回值:返回给定的值反正弦值。
举例:arcsin(0.5) = 30°。 arcsin(0) = 0°。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arccos()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十六、反余弦函数
函数名:arccos()
格式:arccos(数值表达式)
返回值:返回给定的值反余弦值。
举例:arccos(0.5) = 60°。 arccos(0) = 90°。
参考:round(),abs(),absz(),absf(),sign(),sqrt(),exp(),ln(),log(),sin(),cos(),tg(),ctg(),arctg(),arcsin()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
第六章 基础函数
iif() 条件取数函数。
caseif() 超额累进求和函数
caseone() 分段取数函数
str() 取文字串的子串
left() 取文字字符串左边子串
right() 取文字字符串右边子串
trim() 去掉文字字符串中的空格
triml() 去掉文字字符串左边空格
trimr() 去掉文字字符串右边空格
strrepl() 替换字符串中的子串
formatcode() 在字符串右边加字符使其为定长
len() 计算取文字字符串长度
val() 将数字字符串转化为数值型数据
money() 将货币小写转换为大写
num() 将数字转换为中文。
# K $
一、条件取数函数。
函数名:iif()
功能:根据条件表达式的值返回两个表达式中的一个值
格式:iif(条件表达式,表达式1,表达式2)
返回值:若“条件表达式”的结果成立,则该函数取“表达式1”的结果,否则取“表达式2”的结果。
表达式1、2:表达式既可以是数值表达式,也可以是文字表达式。
举例:iif(#y<=6, 3+2*5, f(511)) 表示如果变量 #y的值不大于6,那么函数返回3+2*5的值(即13),否则函数返回f(511)的值。
参考: caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
二、超额累进求和函数
函数名:caseif()
格式:caseif(数值表达式,数值1,数值2,…,数值n,系数1,系数2,…,系数n)
返回值:返回数值表达式的值在区间(数值1,数值2],(数值2,数值3],……,(数值n-1,数值n],(数值n,+∞)的部份与对应系数乘积之和。
参数说明:“数值”与“系数”必须成对。该函数主要应用于计算个人工资所得税额,在计算过程中,数值表达式的值为应税工资额,系数为相应的税率。
举例:caseif(#yfhj-1000,0,500,2000,5000,0.05,0.1,0.15,0.2) 若#yfhj-1000=50时,则函数值为50×0.05=2.5。若#yfhj-1000=1500时,则函数值为500×0.05+1000×0.1=25+100=125。若#yfhj-1000=9000时,则函数值为:500×0.05+1500×0.1+3000×0.15+4000×0.2=25+150+450+800=1425。
参考: iif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
三、分段取数函数
函数名:caseone()
格式:caseone(数值表达式,区间表达式1,区间表达式2,..,值1,值2,...)
返回值:返回数值表达式的值在某区间对应的值。
参数说明:“区间表达式”与“值”必须成对。
举例:caseone (#yfhj-1000,0,500,2000,5000,50,100,150,200) 若#yfhj-1000=200时,则函数值为50。若#yfhj-1000=1500时,则函数值为100。若#yfhj-1000=9000时,则函数值为:200。
参考: iif(),caseif(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
四、取文字串的子串
函数名:str()
格式:str(表达式,数值表达式1,数值表达式2)。
返回值:返回取到的子串。
数值表达式1、2:其值为正整数,其中:数值表达式1的值表示要跳过的字符数;数值表达式2的值表示要取的长度(字符数)=从开始至末尾的长度。
函数说明:数值表达式1和数值表达式2这两个参数可以从后依次缺省,缺省数值表达式2时,表示取到串末尾;缺省数值表达式1时,表示取整个文字串。该函数可以将数据从文字型转化成数值型。
举例:str("中华人民共和国",4,4) = "人民"。str("中华人民共和国") = "中华人民共和国"。
参考: iif(),caseif(),caseone(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
五、取文字字符串左边子串
函数名:left()
格式:left(表达式,数值表达式)。
返回值:返回取到的子串。
数值表达式1、2:其值为非负整数,表示要取的文字串长度,可以缺省,缺省时,表示取整个文字串。
举例:left("中华人民共和国",4) = "中华"。left("中华人民共和国") = "中华人民共和国"。
参考:
iif(),caseif(),caseone(),str(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
六、取文字字符串右边子串
函数名:right()
格式:right(表达式,数值表达式)。
返回值:返回取到的子串。
数值表达式1、2:其值为非负整数,表示从右边起要文字串长度,可以缺省,缺省时,表示取整个文字串。
举例:right("中华人民共和国",4) = "和国"。right("中华人民共和国") = "中华人民共和国"。
参考:iif(),caseif(),caseone(),str(),left(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
七、去掉文字字符串中的空格
函数名:trim()
格式:trim(表达式)。
返回值:去掉文字串中的空格字符并返回结果。
举例:trim("中 华 人民共和国 ",4) = "中华人民共和国"。
参考:iif(),caseif(),caseone(),str(),left(),right(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
八、去掉文字字符串左边空格
函数名:triml()
格式:triml(表达式)。
返回值:去掉文字串左边的先导空格字符并返回结果。
举例:triml(" 中华 人民共和国 ",4) = "中华 人民共和国 "。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),trimr(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
九、去掉文字字符串右边空格
函数名:trimr()
格式:trimr(表达式)。
返回值:去掉文字串右边的空格字符并返回结果。
举例:trimr(" 中华 人民共和国 ",4) = " 中华 人民共和国"。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),strrepl(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十、替换字符串中的子串
函数名:strrepl()
格式:strrepl(表达式1,表达式2,表达式3)。
功能:将“表达式1”中的子串“表达式2”用“表达式3”来替换之。
返回值:替换后的字符串。
举例:strrepl("张三、李四、王五、张丰","张","孙") = "孙三、李四、王五、孙丰"。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),formatcode(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十一、在字符串右边加字符使其为定长
函数名:formatcode()
格式:formatcode(表达式1,表达式2,表达式3)。
功能:在“表达式1”中的左边用“表达式3”填充,直至其长度为“表达式2”。
注意:“表达式2”应为数值表达式,其值不应小于“表达式1”的长度,“表达式3”应为文字型,并且其长度应为1即是说仅为一个字符,“表达式3”为”0”时,可以缺省。
返回值:格式化后的字符串。
举例:formatcode("13",4,”0”) = "0013"。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),len(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十二、计算取文字字符串长度
函数名:len()
格式:len(表达式)。
返回值:返回文字串的长度。
举例:len("中华人民共和国") = 14。len("123456789a") = 10。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),val(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十三、将数字字符串转化为数值型数据
函数名:val()
格式:val(文字表达式)。
返回值:返回转换的结果。
举例:val("中华人民共和国") = 0。val("100.56") = 100.56。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),money(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十四、将货币小写转换为大写
函数名:money()
格式:money(数值表达式)。
返回值:返回货币的大写。
数值表达式:参见数值表达式。
举例:money(1001.5)=壹仟零壹元伍角;money(10000)=壹万元整。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),num()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
十五、将数字转换为中文
函数名:num()
格式:num(数值表达式)。
返回值:返回中文数字。
数值表达式:参见数值表达式,其值为整数。
举例:num(1001) =一○○一;num(10234) =一○二三四。
参考:iif(),caseif(),caseone(),str(),left(),right(),trim(),triml(),trimr(),strrepl(),formatcode(),len(),val(),money()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,报表函数,环境函数。
# K $
第七章 报表函数
sum() 报表区域求和函数
count() 统计区域内单元格数
col() 得到当前报表编制过程中当前单元格栏坐标
row() 得到当前报表编制过程中当前单元格行坐标
horz() 得到组函数运算过程中当前报表单元格栏坐标
vert() 得到组函数运算过程中当前报表单元格行坐标
char() 将单元格的数字坐标转换成字母坐标
get() 获取当前单元格的内容
totalpage() 产生打印的总页码
page() 产生当前打印页的页码
date() 取系统当前日期
day() 取月末日
dir() 取某文件名的上级文件夹的全路径名
dirn() 取某文件名的上级文件夹的名字(数值型)
dirt() 取某文件名的上级文件夹的名字(文字型)
bb() 取当前默认报表名
bsj() 取当前默认报表的子表名
bht() 取当前默认报表的母表名
colnum() 取当前默认报表的栏数
rownum() 取当前默认报表的行数
bbxh() 取报表表号分级序号
# K $
一、报表区域求和函数。
函数名:sum()
格式:sum(区域,报表名,条件表达式)
返回值:若“条件表达式”的结果成立,则返回所给区域内数据的和,否返回零。
举例:sum(A1:C3,#d) 表示求当前报表的A1~A3,B1~B3,C1~C3共九个单元格内数据的和。又如:sum(A1:C3;D2;C9:D20)。
参考:count(),col(),row(),horz(),vert(),char(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
二、统计区域内单元格数
函数名:count()
格式:count(区域,报表名,条件表达式)
返回值:返回给定区域的单元格数。
举例:count(A1:C3) = 9。又如:count(A1:C3;D2;C9:D20) = 34。
参考:sum(),col(),row(),horz(),vert(),char(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
三、得到当前报表编制过程中当前单元格栏坐标
函数名:col()
格式:col()
返回值:返回当前报表编制过程中当前单元格栏坐标。
举例:col() = B。
参考:sum(),count(),row(),horz(),vert(),char(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
四、得到当前报表编制过程中当前单元格行坐标
函数名:row()
格式:row()
返回值:返回当前报表编制过程中当前单元格行坐标。
举例:row() = 9。
参考:sum(),count(),col(),horz(),vert(),char(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
五、得到组函数运算过程中当前报表单元格栏坐标
函数名:horz()
格式:horz()
返回值:返回组函数运算过程中当前报表单元格栏坐标。
举例:horz() = B。
参考:sum(),count(),col(),row(),vert(),char(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
六、得到组函数运算过程中当前报表单元格行坐标
函数名:vert()
格式:vert()
返回值:返回组函数运算过程中当前报表单元格行坐标。
举例:vert() = 9。
参考:sum(),count(),col(),row(),horz(),char(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
七、将单元格的数字坐标转换成字母坐标
函数名:char()
格式:char(数值表达式)
返回值:将单元格的数字坐标转换成字母坐标(特指栏坐标),并返回转换结果。
数值表达式:参见数值表达式,其值为正整数。
举例:char(10) = J。char(27) = AA。
参考:sum(),count(),col(),row(),horz(),vert(),get(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
八、获取当前单元格的内容
函数名:get()
格式:get(单元格,文件名)。
返回值:返回给定单元格的内容。
文件名:文件名可以缺省,缺省时表示默认报表名。
举例:假设当前默认报表的单元格D5的内容为10052.65,单元格E3的内容为“ABcd”,那么,get(D5) = 10052.65,get(E3) = ABcd。
参考:sum(),count(),col(),row(),horz(),vert(),char(),totalpage(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
九、产生当前打印页的页码
函数名:page()
格式:page()。
返回值:返回打印的页码(字符型)。
说明:本函数不能参与运算。
举例:"共 "+totalpage()+" 页 第 "+page()+" 页"。
参考:sum(),count(),col(),row(),horz(),vert(),char(),get(),totalpage()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
十、产生打印的总页码
函数名:totalpage()
格式:totalpage()。
返回值:返回打印的总页码数(字符型)。
说明:本函数不能参与运算。
举例:"共 "+totalpage()+" 页 第 "+page()+" 页"。
参考:sum(),count(),col(),row(),horz(),vert(),char(),get(),page()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
十一、取系统当前日期
函数名:date()
格式:date(数值表达式)。
返回值:返回当前系统日期。
数值表达式:参见数值表达式,其结果只能是0、1、2。其中:0表示取年份;1表示取月份;2表示取日。
举例:若当前系统日期是1999年5月15日,则date(0)=1999;date(1)=5;date(2)=15。
参考:day(), dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
十二、取月末日
函数名:day()
格式:day(数值表达式1<年>,数值表达式2<月>)。
返回值:返回给定月的月末日。
数值表达式1、2:其值为正整数。其中:数值表达式1的结果表示年度;数值表达式2的结果表示月份。
举例:day(1999,10) = 31。day(2000,2) = 29。
参考:date(), dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
十三、取某文件名的上级文件夹的全路径名
函数名:dir()
格式:dir(数值表达式,文件名)
返回值:返回某文件名的某上级文件夹全路径名。
数值表达式:参见数值表达式,其值为正整数。
函数说明:两个参数可以从后依次缺省,缺省文件名时,默认报表名;缺省数值表达式时,默认值为零,表示取当前默认报表的全路径名。
举例:假设当前默认报表是“D:\sm\sm\bb\bb1\1999\3.bsj”那么
dir(0) = D:\sm\sm\bb\bb1\1999\3.bsj(或dir() = D:\sm\sm\bb\bb1\1999\3.bsj)。
dir(1) = D:\sm\sm\bb\bb1\1999。
dir(2) = D:\sm\sm\bb\bb1。
dir(3) = D:\sm\sm\bb。
参考:date(),day(), dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
十四、取某文件名的上级文件夹的名字(数值型)
函数名:dirn()
格式:dirn(数值表达式<级次>,文字表达式<文件名>)
返回值:返回某文件名的某上级文件夹的名字(数值型)。
数值表达式:参见数值表达式,其值为正整数。
函数说明:两个参数可以从后依次缺省,缺省文字表达式时,默认报表名;缺省数值表达式时,默认值为零,表示取文件名的主名。
举例:假设当前默认报表是“D:\sm\sm\bb\bb1\1999\3.bsj”那么
dirn(0) = 3(或dirn() = 3)。
dirn(1) = 1999。而dirn(2)和 dirn(3) = bb则是类型不匹配,参见dirt()。
参考:date(),day(), dir(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
十五、取某文件名的上级文件夹的名字(文字型)
函数名:dirt()
格式:dirt(数值表达式<级次>,文字表达式<文件名>)
返回值:返回某文件名的某上级文件夹的名字(文字型)。
数值表达式:参见数值表达式,其值为正整数。
函数说明:两个参数可以从后依次缺省,缺省文字表达式时,默认报表名;缺省数值表达式时,默认值为零,表示取文件名的主名。
举例:假设当前默认报表是“D:\sm\sm\bb\bb1\1999\3.bsj”那么
dirt(0) = 3(或dirt() = 3)。 dirt(1) = 1999。
dirt(2) = bb1。 dirt(3) = bb。
参考:date(),day(), dir(),dirn(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
十六、取当前默认报表名
函数名:bb()
格式:bb()
返回值:返回当前默认报表名。
举例:假设当前默认报表是“D:\sm\sm\bb\bb1\1999\3.bsj”那么
bb() = D:\sm\sm\bb\bb1\1999\3.bsj。
参考:date(),day(), dir(),dirn(),dirt(),zw(),bsj(),bht(),colnum(),rownum(), bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
十七、取当前默认报表的子表名
函数名:bsj()
格式:bsj()
返回值:返回当前默认报表的子表名。
举例:假设当前默认报表的母表是“D:\sm\sm\bb\bb1.BHT”,它当前子表是
“D:\sm\sm\bb\bb1\1999\3.bsj”那么,bsj() = D:\sm\sm\bb\bb1\1999\3.bsj。
参考:date(),day(), dir(),dirn(),dirt(),bb(),zw(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
十八、取当前默认报表的母表名
函数名:bht()
格式:bht()
返回值:返回当前默认报表的母表名。
举例:假设当前默认报表是“D:\sm\sm\bb\bb1.BHT”,
那么,bht() = D:\sm\sm\bb\bb1.BHT。
参考:date(),day(), dir(),dirn(),dirt(),bb(),zw(),bsj(),colnum(),rownum(), bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
十九、取当前默认报表的栏数
函数名:colnum()
格式:colnum(报表文件名)
返回值:函数返回指定报表的栏数。
说明:无参数时默认当前报表。
举例:假设当前默认报表是一张38行,8栏的报表,那么,colnum()=8。
参考:date(),day(),dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
二十、取当前默认报表的行数
函数名:rownum()
格式:rownum(报表文件名)
返回值:函数返回指定报表的行数。
说明:无参数时默认当前报表。
举例:假设当前默认报表是一张38行,8栏的报表,那么,rownum()=38。
参考:date(),day(), dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
二十、取报表名
函数名:bbna()
格式:bbna (表号)
返回值:返回当前账套下指定表号的表名,或表号缺省,返回当前报表的上一级表名。
参考:date(),day(),dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbxh()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
二十一、取报表表号分级序号
函数名:bbxh()
格式:bbxh(级次)
返回值:返回当前报表的母表序号,或指定级次的子表序号。
级次=0时返回母表序号;
1时返回一级子表序号;
2时返回二级子表序号;
………………
例:如果当前报表的表号为:9\1\5\2
bbxh(0) =9;
bbxh(1) =1;
bbxh(2) =5;
bbxh(3) =2。
参考:date(),day(), dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(), kjkm()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
第八章 工资函数
函数名: gzb()、gzz()
格式:gzb(部门代码,栏代码,时间, 年度数据文件)。
gzz(员工代码,栏代码,时间, 年度数据文件)。
返回值:返回指定部门或员工的指定项目在某个报告期的工资数。
参数说明:
部门代码:要提取工资数据的部门码,代码中可使用通配符“?”和“*”,也可使用同类事项分隔符“;”。如:01、02、01;02;03、……。
员工代码:要提取工资数据的员工的代码,代码中可使用通配符“?”和“*”,也可使用同类事项分隔符“;”。如:00001、00002、00001; 00002; 00003、……。
栏代码:要提取工资数据的栏序号,栏代码中可使用同类事项分隔符“;”和连续栏连接符“:”。如:
“01:09”表示1~9栏;
“11;13;15;19”表示11、13、15和19栏;
“01:09;11;13;15;19”表示以上两项中的所有栏。
时间:要提取工资数据的月份,月份的表示方法同“栏代码”表示方法。
时间变量可从后依次被缺省,缺省时为当前月。
年度数据文件:要提取工资数据所在年度数据文件。缺省时为当前年度数据文件。
举例: gzb(01,05),gzb(01;02,12,1)。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,环境函数。
# K $
第九章 环境函数
zw() 取当前年度文件名
co() 取主体名、主管名
# K $
一、取当前年度文件名
函数名:zw()
格式:zw()
返回值:返回当前默认账务文件名。
举例:假设当前默认账务文件是“D:\BHTSoft\××单位\2001.cwd”那么
zw() = D:\BHTSoft\××单位\2001.cwd。
参考:date(),day(), dir(),dirn(),dirt(),bb(), bsj(),bht(),colnum(),rownum(),co(),bbna(),bbxh(),kjkm(),dwzm(),dwzma()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
#K$
二、取主体名、主管名
函数名:co()
格式:co(参数)
返回值:函数返回当前注册账套的核算单位名称和会计主管姓名。
说明:参数为0、1、2或3,并且可缺省,缺省时表示取核算单位名,若为1时,则取业务主管名,若为2时,则取法人代表名,若为3时,则取当前操作员名。
举例:co()=保会软件通公司。co(1)=管理员。
举例:假设当前默认报表是一张38行,8栏的报表,那么,rownum()=38。
参考:date(),day(), dir(),dirn(),dirt(),bb(),zw(),bsj(),bht(),colnum(),rownum(),bbna(),bbxh(),kjkm(),dwzm(),dwzma()。
其它函数:账簿余额函数,账簿发生额函数,账簿净额函数,会计凭证取数函数,数学函数,报表函数。
# K $
通配符
通配符是信息技术中的一个重要概念,常应用于住处的查找和检索。在数据库中,对数据查找和检索常使用通配符。
例如对姓张的人的描述,我们常说张某、或张某某。这里的“某”就是通配符。用数据库语言来描述就是:
姓名 Like ’张*’
这里的“*”就是通配符,代表任何文字串,可以是一个字,可以是多个字,也可以没有字(即空字符)。也就是说:凡以“张”字开头的,包括“张”字,都在“张*”描述的范围内。
还有另外一个通配符“?”,它代表任何一个字符。
如:“张?”代表:张A、张B、张C、…。
“张??”代表:张AA、张AB、张CD、张强、张伟、…。
注意:一个汉字相当于两个英文字母。
“*”和“?”都西文状态(半角)下的,不是中文状态(全角)下的“*”和“?”.
通配符与数据库有关,前面说的“*”和“?”是Acess数据库下用的。在SQL Server数据库下,对应的使用通配符“%”和“_”。
保会通软件有A版和S版之分,A版使用Acess数据库,S版使用SQL Server数据库。
在取数函数中,科目参数的描述可以使用通配符。
例如:若你的损益类科目的代码在501--599之间,可用“5??”来表示所有损益类科目。
又如:可用“17?”表示所有170--179之间的科目,“221-1-???-1”表示所有形如221-1-n-1的科目,其中 n 为100--999之间的数。
值得一提的是,使用通配符应十分小心,否则就会将你不需要的科目包括进去,或者遗漏你所需要的科目,正确地使用通配符会使你的公式定义简捷而且无需维护。