在UAP的公式编辑器中新增自定义函数.docVIP

在UAP的公式编辑器中新增自定义函数.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何在UAP的公式编辑器中新增自定义函数 赵玉行 2010.4.8 UAP公式编辑器中既有的函数有时不能满足我们业务的所有需求,这时可以考虑在其中增加自定义函数,UAP对此已经提供了扩展机制。 要使用户可在公式编辑器中使用我们的函数,需完成两步工作: 从nc.vo.pub.formulaset.function.NcInnerFunction继承自己的函数处理类 下面的例子说明了如何编写自己的函数处理类: public class SelfFunRowCount extends NcInnerFunction { public SelfFunRowCount(){ //参数个数 numberOfParameters = 5; //自定义函数所在页签,如常用、数学、数据库、自定义等 functionType = IFormulaConstant.FUN_CUSTOM; //函数的描述信息 functionDesc=getrowcount(tabname,pkfield1,value1,pkfield2,value2): +select count(*) from tabname where pkfield1=value1 and pkfield2=value2:\\n +[pkfield1,value1 cannot null;pkfiled2,value2 can null]; } public Object function(List param) throws ParseException { String tab=(String) param.get(0); String pkfd1=(String) param.get(1); String pkfd2=(String) param.get(3); String value1=(String) param.get(2); String value2=(String) param.get(4); if(StringUtil.isEmptyWithTrim(tab)) return null; SqlBuilder sql=new SqlBuilder(); sql.append(select count(*) from ); sql.append(tab); sql.append( where ); sql.append(pkfd1,value1); if(!StringUtil.isEmptyWithTrim(pkfd2)){ sql.append( and ); sql.append(pkfd2, value2); } Vector? result =DBCacheFacade.getFromDBCache(sql.toString(), false); if(null==result || 0==result.size()) return 0; return ((Vector)result.get(0)).get(0); } } 可以看出,主要在于编写function()函数,这个函数实现了具体的功能,即如何对传入的参数进行处理。 配置装载自定义函数 如果希望自定义的公式在所有的公式编辑器中都可以使用,则在 NCHOME/resources/formulaconfig/custfunction 目录下添加任意文件名的xml注册文件(注意:默认发版盘中此目录下有一个default.xml文件,请不要删除也不要改名),V60是分组件构造,则需要将配置文件放到“组件resources/formulaconfig/custfunction/ ”下,如scmpub/resources/formulaconfig/custfunction/scm_selfformula.xml,安装盘会自动放到NCHOME/resources/formulaconfig/custfunction 目录下。文件格式形如: ?xml version=1.0 encoding=gb2312? formula-array formula customType0/customType functionNamegetrowcount/functionName functionClassnc.ui.scmpub.util.SelfFunRowCount/functionClass /formula /formula-array 上次所举例子是有关getrowcount()这个自定义函数的具体实现,在scmpub中可以找到类和

文档评论(0)

文人教参 + 关注
实名认证
文档贡献者

老师教学,学生学习备考课程、成人语言培训课程及教材等为提升学生终身学习竞争力,塑造学生综合能力素质,赋能学生而努力

版权声明书
用户编号:6103150140000005

1亿VIP精品文档

相关文档