商易用户论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5784|回复: 0

[经验交流] 商易财务软件系统函数的使用说明

[复制链接]
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 3792 天

    [LV.Master]伴坛终老

    发表于 2011-4-28 13:07:48 | 显示全部楼层 |阅读模式
    本帖最后由 SaneSoft 于 2014-1-28 23:44 编辑

       
    Day()
    功能:
        得到日期值中的号数,有效值在1~31之间。
    语法:
        Day(d)
        参数d:日期时间(DateTime)类型的值。
        返回数值(Integer)类型的值。函数执行成功时得到d参数中的号数(1~31之间)。如果d参数的值为NULL,则返回NULL。

    If()
    功能:
        根据条件表达式的取值,返回特定的值。
    语法:
        If(b,t,f)
        参数b:是否(Boolean)类型的值。
        参数t:当b参数取值为True时,函数if返回t参数的取值,可以是任意数据类型。
        参数f:当b参数取值为False时,函数if返回t参数的取值,可以是任意数据类型。
        返回任意数据类型的值。

    Left()
    功能:
        得到字符串左部指定个数的字符。
    语法:
        Left(s,n)
        参数s:字符串(string)类型,指定要从中提取子串的字符串。
        参数n:数值(long)类型,指定子串长度。
        返回字符串(string)类型的值。函数执行成功时返回s参数中左边长度为n的子串。如果n的值大于s参数的长度,则返回整个s参数,但并不增加其它字符。如果任何参数的值为NULL,则返回NULL。

    Mid()
    功能:
        取字符串的子串。
    语法:
        Mid(s,start,len)
        参数s:字符串(string)类型,指定要从中提取子串的字符串。
        参数start:数值(long)类型,指定子串第一个字符在s参数中的位置,第一个位置为1。
        参数len:数值(long)类型,可选项,指定子串的长度。
        返回字符串(string)类型的值。函数执行成功时返回s参数中从start位置开始、长度为len的子串。如果start参数的值大于s参数中字符个数,则返回空字符串。如果省略了len参数或len参数的值大于从start开始、s参数中余下字符的长度,则返回所有余下的字符。如果任何参数的值为NULL,则返回NULL。

    Month()
    功能:
        得到日期值中的月份,有效值在1~12之间。
    语法:
        Month(d)
        参数d:日期时间(DateTime)类型的值。
        返回数值(Integer)类型的值。函数执行成功时得到d参数中的月份(1~12之间)。如果d参数的值为NULL,则返回NULL。

    Page()
    功能:
        得到当前页号。
    语法:
        Page()
        返回数值(Integer)类型的值。函数执行成功时得到当前页号。

    PageCount()
    功能:
        得到总页数。
    语法:
        PageCount()
        返回数值(Integer)类型的值。函数执行成功时得到总页数。

    Right()
    功能:
        得到字符串右部指定个数的字符。
    语法:
        Right(s,n)
        参数s:字符串(string)类型,指定要从中提取子串的字符串。
        参数n:数值(long)类型,指定子串长度。
        返回字符串(string)类型的值。函数执行成功时返回s参数中右边长度为n的子串。如果n的值大于s参数的长度,则返回整个s参数,但并不增加其它字符。如果任何参数的值为NULL,则返回NULL。

    String()
    功能:
        把数值(Decimal,Integer,Long)类型、字符串(String)类型、日期时间(DateTime)类型的数据转换成指定格式的字符串。
    语法:
        String(x,s)
        参数x:指定要转换格式的数据,其数据类型可以是数值(Decimal,Integer,Long)类型、字符串(String)类型、日期时间(DateTime)类型,也可以是包含上述类型数据的Any类型变量。
        参数s:可选项,string类型,其值指定数据格式。
        如果x参数的类型为string,则必须指定s参数。
        返回值String类型。函数执行成功时返回以字符串方式表示的指定数据。如果x参数的数据类型与s参数指定的格式不匹配、s参数指定的格式无效、或x参数不是前面提到的适宜数据类型时,则返回空字符串("")。
    用法:
        s参数是个用掩码表示的字符串。
        对x参数为数值(Decimal,Integer,Long)类型的情况来说,s参数的语法格式为:正数格式、负数格式、零的显示格式、空的显示格式。数值型显示格式中使用两个掩码字符:#和0,其中,使用#代表0~9之间的任意数字,0代表每个零都要显示。另外,货币符号($或¥)、百分号(%)、小数点(.)、逗号(,)等字符也可以出现在格式字符串中,但是,除小数点(.)、逗号(,)能够出现在格式字符#和0之间外,其它字符只能放置在格式串的前面或后面,例如,###,###$###是个错误的格式串,¥###,###,###是个正确的格式串。省略s参数时,String()函数使用缺省格式。注意,如果显示格式有多个部分,各部分之间的分号(;)不能省略。其它字符也可以出现在显示格式字符串中(只能放在格式串的开头和末尾),但它们没有特殊意义,系统只是照原样显示。例如,用显示格式字符串“收入##”格式化数值12时,显示结果为“收入12”。
        对x参数为字符串(String)类型的情况来说,s参数的语法格式为:正常字符串格式。@代表字符串中的任意字符,除此之外的任何字符照原样显示,例如,如果定义了下面的格式:(@@)@@@@-@@@@则字符串0166767593显示为:(01)6676-7593。
        对x参数为日期时间(DateTime)类型的情况来说,s参数的语法格式为:正常日期时间格式。日期时间格式中格式字符意义如下:d代表开头不带0的日数(如8)、dd代表开头带0的日数(如08)、ddd代表星期的英文缩写(如Mon、Tue)、dddd代表星期的英文全称(如Monday、Tuesday)、m代表开头不带0的月份(如8)、mm代表开头带0的月份(如08)、mmm代表月份的英文缩写(如Jan、Feb)、mmmm代表月份的英文全称(如January、February)、yy代表两位数字表示的年份(如97)、yyyy代表四位数字表示的年份(如1997)。

    Year()
    功能:
        得到日期值中的年度,有效值在1000~3000之间。
    语法:
        Year(d)
        参数d:日期时间(DateTime)类型的值。
        返回数值(Integer)类型的值。函数执行成功时得到d参数中的年份(1000~3000之间),发生错误时返回1900,如果d参数的值为NULL,则返回NULL。


    常用套打函数举例:

        日期年度:year(sdate)
        日期月份:month(sdate)
        日期号数:day(sdate)

        借方金额(分):if(abs(sdebit) >= 0.01,mid(right(string(sdebit,"0.00"),1),1,1),"")
        借方金额(角):if(abs(sdebit) >= 0.1,mid(right(string(sdebit,"0.00"),2),1,1),"")
        借方金额(元):if(abs(sdebit) >= 1,mid(right(string(sdebit,"0.00"),4),1,1),"")
        借方金额(十):if(abs(sdebit) >= 10,mid(right(string(sdebit,"0.00"),5),1,1),"")
        借方金额(百):if(abs(sdebit) >= 100,mid(right(string(sdebit,"0.00"),6),1,1),"")
        借方金额(千):if(abs(sdebit) >= 1000,mid(right(string(sdebit,"0.00"),7),1,1),"")
        借方金额(万):if(abs(sdebit) >= 10000,mid(right(string(sdebit,"0.00"),8),1,1),"")
        借方金额(十万):if(abs(sdebit) >= 100000,mid(right(string(sdebit,"0.00"),9),1,1),"")
        借方金额(百万):if(abs(sdebit) >= 1000000,mid(right(string(sdebit,"0.00"),10),1,1),"")
        借方金额(千万):if(abs(sdebit) >= 10000000,mid(right(string(sdebit,"0.00"),11),1,1),"")
        借方金额(亿):if(abs(sdebit) >= 100000000,mid(right(string(sdebit,"0.00"),12),1,1),"")
        贷方金额(分):if(abs(scredit) >= 0.01,mid(right(string(scredit,"0.00"),1),1,1),"")
        贷方金额(角):if(abs(scredit) >= 0.1,mid(right(string(scredit,"0.00"),2),1,1),"")
        贷方金额(元):if(abs(scredit) >= 1,mid(right(string(scredit,"0.00"),4),1,1),"")
        贷方金额(十):if(abs(scredit) >= 10,mid(right(string(scredit,"0.00"),5),1,1),"")
        贷方金额(百):if(abs(scredit) >= 100,mid(right(string(scredit,"0.00"),6),1,1),"")
        贷方金额(千):if(abs(scredit) >= 1000,mid(right(string(scredit,"0.00"),7),1,1),"")
        贷方金额(万):if(abs(scredit) >= 10000,mid(right(string(scredit,"0.00"),8),1,1),"")
        贷方金额(十万):if(abs(scredit) >= 100000,mid(right(string(scredit,"0.00"),9),1,1),"")
        贷方金额(百万):if(abs(scredit) >= 1000000,mid(right(string(scredit,"0.00"),10),1,1),"")
        贷方金额(千万):if(abs(scredit) >= 10000000,mid(right(string(scredit,"0.00"),11),1,1),"")
        贷方金额(亿):if(abs(scredit) >= 100000000,mid(right(string(scredit,"0.00"),12),1,1),"")

    常用工资项目举例:

        代扣税项目公式:if(([23]-2000)<0,0,if(([23]-2000)>=0 and ([23]-2000)<500,([23]-2000)*0.05,if(([23]-2000)>=500 and ([23]-2000)<2000,([23]-2000)*0.1-25,if(([23]-2000)>=2000 and ([23]-2000)<5000,([23]-2000)*0.15-125,if(([23]-2000)>=5000 and ([23]-2000)<20000,([23]-2000)*0.2-375,if(([23]-2000)>=20000 and ([23]-2000)<40000,([23]-2000)*0.25-1375,if(([23]-2000)>=40000 and ([23]-2000)<60000,([23]-2000)*0.3-3375,if(([23]-2000)>=60000 and ([23]-2000)<80000,([23]-2000)*0.35-6375,if(([23]-2000)>=80000 and ([23]-2000)<100000,([23]-2000)*0.4-10375,([23]-2000)*0.45-15375)))))))))
        其中,[23]表示工资项目应发合计,2000为个税起征点。公式描述如下:
            如果 (应发合计 - 2000)小于 0 则
                 代扣税 = 0
            否则如果 (应发合计 - 2000)大于等于 0 并且 (应发合计 - 2000) 小于 500 则
                 代扣税 = (应发合计 - 2000) × 0.05
            否则如果 (应发合计 - 2000)大于等于 500 并且 (应发合计 - 2000) 小于 2000 则
                 代扣税 = (应发合计 - 2000) × 0.1 - 25
            否则如果 (应发合计 - 2000)大于等于 2000 并且 (应发合计 - 2000) 小于 5000 则
                 代扣税 = (应发合计 - 2000) × 0.15 - 125
            否则如果 (应发合计 - 2000)大于等于 5000 并且 (应发合计 - 2000) 小于 20000 则
                 代扣税 = (应发合计 - 2000) × 0.2 - 375
            否则如果 (应发合计 - 2000)大于等于 20000 并且 (应发合计 - 2000) 小于 40000 则
                 代扣税 = (应发合计 - 2000) × 0.25 - 1375
            否则如果 (应发合计 - 2000)大于等于 40000 并且 (应发合计 - 2000) 小于 60000 则
                 代扣税 = (应发合计 - 2000) × 0.3 - 3375
            否则如果 (应发合计 - 2000)大于等于 60000 并且 (应发合计 - 2000) 小于 80000 则
                 代扣税 = (应发合计 - 2000) × 0.35 – 6375
            否则如果 (应发合计 - 2000)大于等于 80000 并且 (应发合计 - 2000) 小于 100000 则
                 代扣税 = (应发合计 - 2000) × 0.4 - 10375
            否则
                 代扣税 = (应发合计 - 2000) × 0.45 - 15375
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|申请友链|小黑屋|手机版|Archiver|鲁ICP备14001487号|商易用户论坛 ( 鲁ICP备14001487号 )

    GMT+8, 2024-11-24 20:21 , Processed in 0.775299 second(s), 18 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表