编辑时间:2019年10月31日 作者:保会通软件 浏览量:0次
第一章 函数综述
在保会通软件的“报表”模块和“会计账务”模块的凭证分录模板中,我们希望系统能够按我们的要求自动生成数据。自动生成数据就是计算机的一大优势,但如何让计算机按我们指定的要求生成数据呢,其核心问题是如何向计算机表达我们的要求。为此,保会通软件引入函数来表达用户的取数要求。
为了使函数能表达用户的取数要求,函数必须能准确地描述数据的位置、类别和其他一些条件。同时函数是提供给用户直接使用的,它必须简单、规范、易于记忆和使用。
一、函数的形式
二、表达式
三、变量
四、表达式的执行轮次
五、表达式中的注释
六、表达式的值类型
一、函数的形式
函数具有以下通用形式:
函数名(参数1,参数2,…,参数n)
如:y(101)、tl(501,321)、f(511,#y1)
t(511,#y,"c:\保会通数据\××单位\2001.cwd")、
……。
函数名:描述数据类别或对数据的操作要求。如:取余额、取发生额、取绝对值、……。
括号“(”和“)”:函数定界符,用于把函数名和参数分开,同时也起标识函数的作用。
参数1,参数2,…、参数n:函数的参数表,用于描述数据的位置、所处的时间和其他一些对数据的限制条件。函数参数的多少和意义因函数名的不同而不同。
二、表达式
表达式是将常数、变量、函数用运算符号连接而成的数学表达式。表达式用于对复杂数据的处理。
表达式中可用的运算符号有:
“+”(加)
“-”(减)
“*”(乘)
“/”(除)
“%”(整除取余)
“^”(方幂)
“=”(相等吗)
“!=”(不等吗)
“>”(大于吗)
“<”(小于吗)
“>=”(大于或等于吗)
“<=”(小于或等于吗)
“!”(逻辑非)
“&&”(逻辑与)
“||”(逻辑或)
“(”(左括号)
“)”(右括号)
三、变量
变量是一个以“#”开头的文字串。一个变量代表一个表达式,一个变量应该在变量表中被定义后方可使用。定义变量时应确定变量的如下内容:
变量名:以“#”开头的文字串,除“#”外其他文字必须为大小写字母或数字。变量名是变量的标识,它在引用变量的时候使用;
表达式(公式):变量的表达式就是变量内容,即变量值;
值类型(类型):变量的值类型有“文字”、“数值”和“自动”三种类型;
说明:变量的说明简述变量的内容或作用,以帮助对变量的识别和使用。
变量表:变量表是保会通数据文件用来存放变量的列表,一张保会通报表母表有唯一一张变量表。
四、表达式的执行轮次
表达式往往被成批使用,如报表中的表达式、凭证分录模板中的表达式等。软件在使用多个表达式来自动生成数据时,执行表达式取数的次序一般是“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,
五、表达式中的注释
表达式中可以使用注释符“//”、“/*”和“*/”。
注释符“//”:从“//”开始注释到末尾。如:ydc("10?")//期初贷方余额。
注释符“/*”和“*/”:注释符“/*”和“*/”必须成对使用,注释表达式中从“/*”开始到“*/”结束之间的内容。如:ydc("10?"/*账户代码*/,#y/*会计月*/,#z/*账簿文件*/)。
六、表达式的值类型
表达式的值类型有文字型和数值型两种。常数也有文字型和数值型两种。文字型常数常用来表示账户代码,账簿文件名。文字型常数应当用两个英文引号“"”将它引起来,如:
"10?"、"c:\BHTSoft\××单位\2001.cwd"、……。
第二章 保会通函数
保会通软件支持强大的取数函数,主要有:
一、账簿取数函数
1、账簿取数函分类
按取数账簿分,可分成:复式账簿取数函数、单式账簿取数函数。函名以复式账簿取数函数为基础,单式账簿取数函数的函数名在复式账簿取数函数名前加“xm”。如:
y() 复式账期末余额函数
xmy() 单式账期末余额函数
按所取数的属性分,可分成:金额取数函数、数量取数函数、外币取数函数。函数名以金额取数函数为基础,数量取数函数在金额取数函数名前加“sl”,外币取数函数在金额取数函数名前加“wb”。如:
fd() 复式账贷方发生额函数(取金额)
slfd() 复式账贷方发生额函数(取数量)
wbfd() 复式账贷方发生额函数(取外币)
xmslfd() 单式账贷方发生额函数(取数量)
wbxmfd() 单式账贷方发生额函数(取外币)
注意:账簿描述字(xm)、数值属性描述字(sl、wb)都有时、位置可随意。
xmslfd()=slxmfd()
wbxmfd()=xmwbfd()
按取数类别分,可分成:余额函数(y)、同向余额求和函数(t)、发生额函数(f)、发生净额函数(n)。若是对复式账取数还有:分录取数函数(tl、tll)、利润函数(k)。
函数还有更多更细的分类,请仔细查看“函数向导”对话框。如下图:
账簿取数函数的完整形式为:
函数名(会计科目参数,报告期(时间),账务数据文件名,取数范围,取数标志)
2、账簿余额函数
yjc() 期初借方余额函数
ydc() 期初贷方余额函数
yjm() 期末借方余额函数
ydm() 期末贷方余额函数
tjc() 期初明细科目同向借方余额函数
tdc() 期初明细科目同向贷方余额函数
tjm() 期末明细科目同向借方余额函数
tdm() 期末明细科目同向贷方余额函数
3、账簿发生额函数
fj() 借方发生额函数
fd() 贷方发生额函数
4、账簿净额函数
nd() 发生净额贷项函数
nj() 发生净额借项函数
5、分录取数函数
tl 单向分录取数函数
tll 双向分录取数函数
6、利润函数
k 费用取数函数
kd 收入分录取数函数
7、会计凭证取数函数
凭证取数函数有:
pk() 凭证模板分录科目代码函数
pj() 凭证借方金额合计函数
pd() 凭证贷方金额合计函数
pzt() 取当前凭证的制作时间
二、数学函数
数学函数有:
round() 四舍五入函数
abs() 取绝对值函数
absz() 取正数绝对值函数
absf() 取负数绝对值函数
sign() 取符号函数
sqrt() 取算术平方根函数
exp() 自然对数底数 e 的幂函数
ln() 自然对数函数
log() 常用对数函数
sin() 正弦函数
cos() 余弦函数
tg() 正切函数
ctg() 余切函数
arctg() 反正切函数
arcsin() 反正弦函数
arccos() 反余弦函数
三、基础函数
iif() 条件取数函数。
caseif() 超额累进求和函数
caseone() 分段取数函数
str() 取文字串的子串
left() 取文字字符串左边子串
right() 取文字字符串右边子串
trim() 去掉文字字符串中的空格
triml() 去掉文字字符串左边空格
trimr() 去掉文字字符串右边空格
strrepl() 替换字符串中的子串
formatcode() 在字符串右边加字符使其为定长
len() 计算取文字字符串长度
val() 将数字字符串转化为数值型数据
money() 将货币小写转换为大写
num() 将数字转换为中文。
四、报表函数
sum() 报表区域求和函数
count() 统计区域内单元格数
col() 得到当前报表编制过程中当前单元格栏坐标
row() 得到当前报表编制过程中当前单元格行坐标
horz() 得到组函数运算过程中当前报表单元格栏坐标
vert() 得到组函数运算过程中当前报表单元格行坐标
char() 将单元格的数字坐标转换成字母坐标
get() 获取当前单元格的内容
totalpage() 产生打印的总页码
page() 产生当前打印页的页码
date() 取系统当前日期
day() 取月末日
dir() 取某文件名的上级文件夹的全路径名
dirn() 取某文件名的上级文件夹的名字(数值型)
dirt() 取某文件名的上级文件夹的名字(文字型)
bb() 取当前默认报表名
bsj() 取当前默认报表的子表名
bht() 取当前默认报表的母表名
colnum() 取当前默认报表的栏数
rownum() 取当前默认报表的行数
bbxh() 取报表表号分级序号
五、工资函数
gzb()
gzz()
六、资产函数
gdyc()
gdy()
gdf()
gdzjyc()
gdzjy()
gdzjf()
gdjzzbyc()
gdjzzby()
gdjzzbf()
gdslyc()
gdslby()
gdslf()
gda()
七、现金流量表函数
xjyc()
xjy()
xjydc()
xjyd()
xjf()
xjfd()
xjn()
xjnd()
八、环境函数
zw() 取当前年度文件名
co() 取主体名、主管名