




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
经过筛选,去除重复,最终剩下下面这些表达式。我们平常常用的表达式基本上在下面能找到。主要用途:1、与其他字段值相等2、默认值3、时间差计算4、数值计算5、子表数据(金额、数量)汇总计算6、跨实体汇总7、人员、部门映射字段一、公共1.1、HT.HTBH-返回HT对象中HTBH字段的值,如:HT= A:0,b:1, HTBH:3 ,则HT. HTBH =3,如果HT对象中不含有HTBH字段,这样调用则会报错。1.2、QKQC.ToString()-将QKQC字段转换成字符串格式输出,支持Number,String,Boolean,Date如:100.ToString()=“100”,ture.ToString()=”true”, Now().ToString()=2013-10-31T11:18:37+08:00,“aaa”.ToString()=”aa”1.3、IIf(SWBSHQRJEBZ, FieldValue(), WQRDYBWJE)-如果字段SWBSHQRJEBZ存在时,返回当前字段的值,否则返回字段WQRDYBWJE的值1.4、 name: CLCG, alias: en: , zh_CN: 材料采购, zh_TW: -返回字段CLCG的多语言别名1.5、RecNo() + 1 -细表中数字类型自动加序号二、数值型1.无判断简单计算2.1.1、GSSJE+XMSJE-如果相加的两个字段为number ,返回字段的和。如:1+2=3, 如果相加的两个字段是字符串,则将两个字符串连接起来做为返回值。如:”a”+”b”=”ab”除了以上几种状态还有几个特殊状态null+null=null,1+null=1,null+“aa”=“aa”注意:不支持 string的字段和number字段相加。也不支持两个boo,objectl类型字段相加2.1.2、BQXMJLBBSJ-BQGSSJE -返回字段BQXMJLBBSJ-BQGSSJE的差值。只支持两个数字类型的字段相加。2.1.3、XMBSGCL*XMBSDJ-返回字段XMBSGCL*XMBSDJ乘积2.1.4、ZLQXT/ZLSL-返回字段ZLQXT与ZLSL的商2.1.5、FJWZCZSQCLMXs.Sum(JE)-返回集合FJWZCZSQCLMXs中JE字段的合计值2.1.6、area0.Sum(JE) -细表area0中JE列求和2.1.7、QTFYs.Sum(JEY)+CLMXs.Sum(JEY) -返回 集合QTFYs中字段JEY的合计值与集合CLMXs中字段JEY的合计值得和.2.1.8、ZLQTFYs.Sum(JEY)+CLZLRZMXs.Sum(JEY) -返回集合ZLQTFYs和集合CLZLRZMXs中JEY字段的合计值的和。2.有判断复杂计算2.2.1、IIf(XMJLBBSJFlag, FieldValue(), WGJSJSMXs.Sum(XMBSGCL*XMBSDJ)-如果XMJLBBSJFlag字段存在,则返回当前字段的值,否则 对数组WGJSJSMXs中XMBSGCL字段和XMSDJ求乘积再对乘积求和,将求和的值作为返回值2.2.2、IIf(HTZJHZBZ, FieldValue(), YSSs.Sum(JE)-如果HTZJHZBZ字段存在,则返回当前字段的值,否则 将数组YSSs中JE求和的值作为返回值2.2.3、IIf(BQXMJLBBSJ=null,FBQLJXMJLBSJ,BQXMJLBBSJ+FBQLJXMJLBSJ)-如果字段BQXMJLBBSJ等于null时,返回FBQLJXMJLBSJ的值,否则返回BQXMJLBBS+FBQLJXMJLBSJ2.2.4、IIf(HT.SPTGZJE!=0&HT.SPTGZJE!=null&LJQRJE!=null,(LJQRJE/HT.SPTGZJE)*100,null)-如果HT对象中SPTGZJE字段的值不等于0,并且HT对象中SPTGZJE字段的值和字段LJQRJE的值不为null,则返回表达式(LJQRJE/HT.SPTGZJE)*100的值,否则返回null。2.2.5、IIf(LJGSSPJ!=0&LJGSSPJ!=null,(LJSJFK+LJCWKK)/LJGSSPJ*100,0.00)-如果字段LJGSSPJ不等于0并且字段LJGSSPJ不等于null,则返回表达式(LJSJFK+LJCWKK)/LJGSSPJ*100的值,否则返回0.002.2.6、IIf(LJHTYFK!=0&LJHTYFK!=null,(LJSJFK + LJCWKK)/LJHTYFK*100,0.00) - 如果LJHTYFK不等于0并且LJHTYFK不等于null,则返回(LJSJFK + LJCWKK)/LJHTYFK*100,否则返回0.002.2.7、IIf(CGHTDZJLWZMXs.Sum(JE) = null, 0.0, CGHTDZJLWZMXs.Sum(JE) -如果集合CGHTDZJLWZMXs中JE的合计值等于null,则返回0.0,否则返回集合CGHTDZJLWZMXs中JE的合计值2.2.8、IIf(HT.JDKBL=null,LJCGE,LJCGE*HT.JDKBL/100) -如果HT对象中JDKBL字段等于null,则返回LJCGE ,否则返回表达式LJCGE*HT.JDKBL/100的值2.2.9、SL*IIf(IfNull(DWHS.Coefficient,1)0,IfNull(DWHS.Coefficient,1),1)-表达式拆分:SL*IIf(A,B,1)A= IfNull(DWHS.Coefficient,1)0 / 返回的是布尔值B= IfNull(DWHS.Coefficient,1)该表达式可简写成: SL*IIf(DWHS.Coefficient1, DWHS.Coefficient ,1)2.2.10、DJ/IIf(IfNull(DWHS.Coefficient,1)0,IfNull(DWHS.Coefficient,1),1)-同上,可简写成:DJ /IIf(DWHS.Coefficient1, DWHS.Coefficient ,1)2.2.11、IIf(Root().Bill0.BQXMJLBBSJ=null,IIf(LWFBHTGCJSKZ.BQXMBBSJHTN=null,0,0-LWFBHTGCJSKZ.BQXMBBSJHTN),IIf(LWFBHTGCJSKZ.BQXMBBSJHTN=null,Root().Bill0.BQXMJLBBSJ,Root().Bill0.BQXMJLBBSJ-LWFBHTGCJSKZ.BQXMBBSJHTN)- 表达式拆分: IIf(A,B,C)A= Root().Bill0.BQXMJLBBSJ=nullB=,IIf(LWFBHTGCJSKZ.BQXMBBSJHTN=null , 0 , 0-LWFBHTGCJSKZ.BQXMBBSJHTN)C= IIf(LWFBHTGCJSKZ.BQXMBBSJHTN=null , Root().Bill0.BQXMJLBBSJ , D)D= Root().Bill0.BQXMJLBBSJ-LWFBHTGCJSKZ.BQXMBBSJHTN通过上面的拆分就变的简单易懂,这里就不做赘述2.2.12、IIf(LWFBHTGCJSKZ.BQXMBBSJHTN=null,LWFBHTGCJSKZ.FBQXMBBSJHTN,LWFBHTGCJSKZ.FBQXMBBSJHTN+LWFBHTGCJSKZ.BQXMBBSJHTN)-表达式拆分: IIf(LWFBHTGCJSKZ.BQXMBBSJHTN=null, LWFBHTGCJSKZ.FBQXMBBSJHTN,A)A= LWFBHTGCJSKZ.FBQXMBBSJHTN+LWFBHTGCJSKZ.BQXMBBSJHTN2.2.13、IIf(HTZJHZBZ, FieldValue(), JGMXs.Sum(ZJ)-如果字段HTZJHZBZ存在,则返回当前字段的值,否则返回集合JGMXs中ZJ字段的合计值2.2.14、IIf(LJGSSPJ!=0&LJGSSPJ!=null,(LJSJFK+LJCWKK)/LJGSSPJ*100,0.00) -如果字段LJGSSPJ不等于0并且字段LJGSSPJ不等于null,则返回(LJSJFK+LJCWKK)/LJGSSPJ*100,否则返回0.002.2.15、IIf(HTZJHZBZ,FieldValue(),ZLQTFYs.Sum(JEY)+SBZLRZMXs.Sum(JEY)+ZLSBGZLMXs.Sum(JE)+GCLMXs.Sum(JE)- 如果字段HTZJHZBZ存在,则返回当前值,否则返回ZLQTFYs.Sum(JEY)+SBZLRZMXs.Sum(JEY)+ZLSBGZLMXs.Sum(JE)+GCLMXs.Sum(JE)的值。其中ZLQTFYs.Sum(JEY)表示对集合ZLQTFYs中的JEY字段求合计值。其他同理2.2.16、IIf(HTZJHZBZ,FieldValue(),WZSBRZMXs.Sum(JEY+ACFY)+WZSBGZLMXs.Sum(JE+ACFY)+WZSBQTFYs.Sum(JEY)-如果字段HTZJHZBZ存在,则返回当前字段的值,否则返回WZSBRZMXs.Sum(JEY+ACFY)+WZSBGZLMXs.Sum(JE+ACFY)+WZSBQTFYs.Sum(JEY)的值。其中WZSBRZMXs.Sum(JEY+ACFY),表示返回集合WZSBRZMXs中字段JEY与字段ACFY和的总计2.2.17、IIf(ZLKSRQ.DaysBetween(ZLJSRQ)=0,ZLKSRQ.DaysBetween(ZLJSRQ)+1,0) -表达式拆分 IIf(A,B,0) A= ZLKSRQ.DaysBetween(ZLJSRQ)=0 B= ZLKSRQ.DaysBetween(ZLJSRQ)+1如果日期字段 ZLJSRQ与日期字段ZLKSRQ的天数差大于或等于0,则返回两者的天数差加1,否则返回02.2.18、IIf(YHTE + BCXYZJE) != 0) & (YHTE + BCXYZJE) != null), (LJSJFK + LJCWKK) / (YHTE + BCXYZJE)*100), 0.00) -如果字段YHTE和字段BCXYZJE不都等于0和null,则返回(LJSJFK + LJCWKK) / (YHTE + BCXYZJE)的百分比,否则返回0.002.2.19、IIf(SQCZSL=null,null,SQCZSL-SL) -如果字段SQCZSL等于null,则返回null,否则返回字段SQCZSL与字段SL的差2.2.20、IIf(DisplayName= null | DisplayName.Pos(.)=-1,DisplayName.ReplaceReg(.+., ).Upper() -如果字段DisplayName等于null,或者则字段DisplayName中不含有点,则返回空,否则将字段中最后一个”.”后面的部分的字符串以大写字母的方式返回。 如:”aaaa.jpg”. ReplaceReg(.+., ).Upper() 返回”JPG”2.2.21、IIf(LJCGE-LJKKE) 0,(LJSPZFE /(LJCGE - LJKKE)*100,0)-如果字段LJCGE减去LJKKE大于0 ,则返回(LJSPZFE /(LJCGE - LJKKE)*100,否则返回02.2.22、IIf(WZMXs.Count()0,WZMXs.Sum(JE),0) -如果集合WZMXs中元素个数大于0,则返回集合中JE的合计值3.四舍五入2.3.1、DJ.Round(4) -对字段DJ进行四舍五入处理,并保留4位小数位。参数4代表的是要保留的小数位数;2.3.2、SJ.Ceil() -向上取整,如SJ为1.33,则返回22.3.3、SJ. Floor() -向下取整,如SJ为1.33,则返回1 不能带参数4.金额格式显示2.4.1、BCSQZFE.ToRMB() BCSQZFE.ToRMB(false)-返回:人民币大写。如:912345.678.ToRMB() ,返回:玖拾壹万贰仟叁佰肆拾伍元陆角柒分捌厘123.ToRMB(),返回:“壹佰贰拾叁元整”123.ToRMB(false)返回:“壹佰贰拾叁”2.4.2、IIf(BCSQZFE=null, , BCSQZFE.ToRMB() 如果字段BCSQZFE等于null,则返回空字符,否则将字段BCSQZFE转换成人民币格式返回2.4.3 阿尔及利亚货币大写IIf( (DNEXXDA-DNEXXDA.Round(0)0, DNEXXDA.ToRMB(false)+生丁,DNEXXDA.ToRMB(false)+生丁整)正确:IIf(DNEXXDA-DNEXXDA.Floor()0,DNEXXDA.Floor().ToRMB(false)+第纳尔+(DNEXXDA*100-DNEXXDA.Floor()*100).ToRMB(false)+生丁),DNEXXDA.ToRMB(false)+第纳尔整)三、时间类型3.1、Now() -返回当前日期3.2、KSRQ.DaysBetween(JSRQ) -返回KSRQ到JSRQ之间的天数,如2015-3-1到2015-3-3,返回2KSRQ. HoursBetween (JSRQ) 返回KSRQ到JSRQ之间的天数时差 KSRQ. MinutesBetween (JSRQ) 分钟差3.3、(Now().MonthOf() /3).Ceil() -根据当前日期返回季度数,如今天是2015-3-1则返回1,2015-4-1则返回23.4、IIf(JSSJQSRQ!=null,IIf(JSSJJSRQ!=null,JSSJQSRQ.DaysBetween(JSSJJSRQ)+1,0),0)-该表达式比较复杂,为了便于理解不妨将表达式拆分一下,A=IIf(JSSJQSRQ!=null,B ,0) /如果字段JSSJQSRQ不为空则返回B表达式的值,否则返回0B = IIf(JSSJJSRQ!=null,C ,0) /如果字段JSSJJSRQ不为空则返回C表达式的值,否则返回0C=JSSJQSRQ.DaysBetween(JSSJJSRQ)+1 /计算日期字段JSSJJSRQ和 日期字段JSSJQSRQ的日差,并将日差数+1作为返回值。 类似:(JSSJJSRQ- JSSJQSRQ)+1通过表达式的拆分,理解起来就变的很简单了。 3.5、IIf(KGRQ!=null,IIf(JGRQ!=null,KGRQ.DaysBetween(JGRQ)+1,null),null)-参照上一个表达式,唯一不同的是当字段不存在时返回null3.6、CreateTime.YearOf() = Now().YearOf()-创建年份=当前3.7、RQ.IncDay(3) 返回RQ时间后三天的时间, 比如RQ为2017年9月20日,则返回2017年9月23日四、汇总4.1、AggrValue(entityName, propertyName, aggregator, propertyName: propertyName, op: eq, value: abc, skipValue: ) -实体entityName中属性propertyName的聚合信息,聚合类型为aggregator,汇总的数据过滤条件为propertyName: propertyName, op: eq, value: abc, skipValue: entityName:实体全名称,GTPOnlineForm.formName propertyName:要统计的属性名称aggregator: 聚合类型,包括:Count Sum Avg, Max,Min ,CountDistinct propertyName: propertyName, op: eq, value: abc, skipValue: :过滤条件,写法:type: Operator, value: Not, type: BraceStart, value: Or, type: BraceStart, value: And, propertyName: propertyName1, op: eq, value: 2, skipValue: , propertyName: propertyName2, op: eq, value: 3, skipValue: , propertyName: propertyName3, op: eq, value: 4, skipValue: , type: BraceEnd, type: BraceStart, value: And, propertyName: propertyName1, op: eq, value: 2, skipValue: , propertyName: propertyName2, op: eq, value: 3, skipValue: , propertyName: propertyName3, op: eq, value: 4, skipValue: , type: BraceEnd, type: BraceEnd and、or有开始结束标志,not只有开始标志。单个过滤条件propertyName: propertyName1, op: eq, value: 2, skipValue: 详细说明:propertyName: propertyName,属性名称op:操作符,包含以下类型:逻辑符操作符逻辑符操作符逻辑符操作符逻辑符操作符=eqgtltIS NULisnneq=ge=leLIKE %xxx%lk日期下界dteLIKE xxx%llk日期上界dtsLIKE %xxxrlkvalue:过滤条件的值skipValue:属性满足为这个条件时,不统计这一个数据实例:1、统计表单GTPOnlineForm.NF20150330092429中字段TS的Sum,过滤条件为:(TS10&SFTJ=false)AggrValue(GTPOnlineForm.NF20150330092429, TS, Sum, type: BraceStart, value: Or,type: BraceStart, value: And,propertyName: TS, op: le, value: 2, skipValue: ,propertyName: SFTJ, op: eq, value: true, skipValue: ,type: BraceEnd,type: BraceStart, value: And,propertyName: TS, op: gt, value: 10, skipValue: ,propertyName: SFTJ, op: eq, value: false, skipValue: ,type: BraceEnd,type: BraceEnd)2、统计表单GTPOnlineForm.NF20150330092429中字段TS的Sum,过滤条件为:!(TS=10)AggrValue(GTPOnlineForm.NF20150330092429, TS, Sum, type: Operator, value: Not,type: BraceStart, value: Or,type: BraceStart, value: And,propertyName: TS, op: lt, value: 10, skipValue: ,propertyName: SFTJ, op: eq, value: true, skipValue: ,type: BraceEnd,propertyName: TS, op: ge, value: 10, skipValue: ,type: BraceEnd)3、本年内本人乘飞机次数AggrValue(GTPOnlineForm.NF20150427051310, CS, Sum, type: BraceStart, value: And,propertyName: CreatorName, op: eq, value: $C.userName, skipValue: ,propertyName: CreateTime, op: dts, value: Now().YearOf().ToString() + -01-01, skipValue: ,propertyName: CreateTime, op: dte, value: Now().YearOf().ToString() + -12-31, skipValue: ,type: BraceEnd)4、本年内本人乘飞机次数(只统计审批通过的)AggrValue(GTPOnlineForm.NF20150428085617, Code, Count, type: BraceStart, value: And,propertyName: CreatorName, op: eq, value: $C.userName, skipValue: ,propertyName: CreateTime, op: dts, value: Now().YearOf().ToString() + -01-01, skipValue: ,propertyName: CreateTime, op: dte, value: Now().YearOf().ToString() + -12-31, skipValue: ,propertyName: State, op: eq, value: ApprovePass, skipValue: ,type: BraceEnd)5、对相同部门的金额做汇总AggrValue(GTPOnlineForm.NF20150730041610,BYCZ, Sum, propertyName: TBDW, op: eq, value: TBDW.DeptId, skipValue: ) 其中执行的查询是下面语句:select Sum(BYCZ) form T_NF20150730041610 where TBDW = 10001注:不是这样写AggrValue(GTPOnlineForm.NF20150730041610,BYCZ, Sum, propertyName: TBDW, op: eq, value: $C.TBDW, skipValue: ) 五、人员部门相关5.1、User()-获取人员信息 返回:返回人员对象对应的js方法$G.getUser()5.2、User(string)-获取人员信息 参数1:人员Id(空表示当前用户) ,string是指字符串类型的id返回:返回人员对象对应的js方法$G.getUser()。当参数输入非id,或id不存在时,返回null5.3、User(number)-获取人员信息 参数1:人员Id(空表示当前用户)返回:返回人员对象,对应的js方法$G.getUser()。当参数输入id不存在时,返回null例:User(SQR.UserId).EmployeeCode,返回SQR字段的工号5.4、Dept()-获取部门信息 返回:返回部门对象对应的js方法$G.getDept()。5.5、Dept (string)-获取部门信息 参数1: 部门Id(空表示当前部门),string是指字符串类型的id返回:返回部门对象对应的js方法$G.getDept()。当参数输入非id,或id不存在时,返回null5.6、Dept (number)-获取部门信息 参数1: 部门Id(空表示当前部门) 返回:返回部门对象对应的js方法$G.getDept()。当参数输入id不存在时,返回null例:Deptr(BM.DeptId).FullName,返回BM字段的全名称5.7、DeptByLevel(string)-获取部门信息 参数1:部门级别,级别类型:集团:DL_GROUP,公司:DL_CORP,项目部:DL_PROJECT,部门:DL_UNIT。返回:返回部门对象对应的js方法$G.getDeptByLevel(),当输入的部门级别不存在时,返回null。例:DeptByLevel(DL_GROUP).Name,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃甘南州2025年医师资格考试(实践技能)复习题库及答案
- 公路工程试验检测师资格考试(公共基础)综合能力测试题及答案(2025年百色)
- 初级经济师资格考试(人力资源管理专业知识和实务)模拟试题2025年全国附答案
- 流体力学补考试卷及答案
- 空管卫星通信设备机务员测试考核试卷及答案
- 2025年春江苏开放大学组织行为学第二次作业答案
- 危险货物运输作业员基础知识考核试卷及答案
- 固井工测试考核试卷及答案
- 汉语基础语法题库及答案
- 耐火材料成型操作工应急处置考核试卷及答案
- 劳务分包加采购合同标准文本
- 非标设备维护培训
- 带状疱疹护理课件
- 会计实务:浅谈农业专项资金审计的方式方法
- 呼吸功能障碍的支持
- 【MOOC】理解马克思-南京大学 中国大学慕课MOOC答案
- 《燃烧基础知识》课件
- 编织教材初中校本课程
- 高三家长会 携手共进-圆梦高考家长会 课件
- 检验医学尿常规课件
- 2024开发商与物业签订合同范本
评论
0/150
提交评论