mbos服务端函数
一、简介:
移动bos服务端脚本运行引擎为Rhino,基于javascript语法,运行期解释执行。
jvm中的类的方法和属性均可应用于脚本中。 移动bos服务端脚本运行在EAS服务器上,提供了类似函数的功能,web前端通过ajax调用服务端脚本,可以传递参数,得到返回值。 可以简单的把服务端脚本看成一种函数写法,脚本中通过context获取参数,并设置返回值。 移动BOS页面通过在web调用想用的js接口调用服务端函数,可以实现页面与EAS的交互。
二、服务端变量操作:
//服务端变量操作 mbos.variable.setValue(name,value);//name:变量名 value:变量值 //获取变量的值 mbos.variable.getValue(name); //批量获取变量 var vals = [name1,name2]; mbos.variable.getValue(vals);
三、实例:
服务端函数:
//定义引入变量 var mbosNames = JavaImporter(); //引入指定包 mbosNames.importPackage(Packages.com.kingdee.eas.basedata.person); //使用引入作用域 with(mbosNames) { //从上下文中获取参数 var personPK = context.getParamAsPK(0); //远程方法调用EAS var personInfo = PersonFactory.getLocalInstance(context.getBosContext()) .getPersonInfo(personPK); //获取职员的性别属性 var gender = personInfo.getGender(); //设置返回值 context.setResult(gender); }
js端:
var param = []; param[0] = easContext.person.id; mbos.eas.invokeScript({ name:"getData", param:param, success:function(data){ alert(data.alias); } })
四、列表使用服务端函数
1.移动bos页面的设计器配置:大纲->查询数据源->属性->默认过滤类型->过滤函数->绑定新服务端函数。
2.前端调用写法:
//绑定 加载前beforeLoad事件 mbos('query').bind('beforeLoad',function{ mbos('query').setParam(['123']); })
3.服务端函数写法:
//模拟前端传递过来参数//123 var billId = context.getParamAsString(0); var filteritems = new JSONArray(); var item = new JSONObject(); items.put("comparetype","in"); items.put("comparevalue",""+orgids+""); items.put("propertyname","saleOrgUnit.id"); items.put("datatype","STRING"); filteritems.add(items); var defaultfilter = new JSONObject(); defaultfilter.put("filteritems",filteritems); defaultfilter.put("maskstring",""); var map = new HashMap(); map.put("_DEFAULTFILTER_",defaultfilter.toJSONString()); context.setResult(map);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
2021-08-17 PTA 朋友圈 (25 分) 代码详解 (并查集)