1.2方法上下文(methodCtx)
方法上下文存放了方法的相关信息,包括方法参数和方法返回值。方法上下文提供如下
我们来看这个示例,删除主表记录时也删除对应表的纪录
//服务端更新单据状态 var imp = JavaImporter(); imp.importPackage(Packages.com.kingdee.eas.util.app); with(imp){ var ctx = pluginCtx.getContext(); var billId = methodCtx.getParamValue(0);//获取参数 var isDone = methodCtx. getResultValue();//获取方法返回值是否成功执行 var status = 11; var sql = "delete T_SD_SALEORDER WHERE FBillID = '"+billId+"'"; if(isDone){ DbUtil.execute(ctx, sql); } methodCtx.setResultValue(java.lang.Boolean.TRUE);//设置方法返回值 } |
1.2.1获取方法参数
如果想获得方法的某个参数,比如delete(String pk)的参数,这可以通过methodCtx.getParamValue(0)来获得单据的pk。示例中以
var billId = methodCtx.getParamValue(0); 来获取参数需要删除单据的id
1.2.2获取方法返回值
描述:可以通过methodCtx.getResultValue()来获得方法的返回值。
用法:一般在后置脚本中使用,如示例代码中,通过状态方法是否成功执行来判断是否需要删除对于表的纪录:var isDone = methodCtx. getResultValue();
1.2.3设置方法返回值
设置方法的返回值必须通过methodCtx.setResultValue(value)来设置,不可以用类似方法返回值的方式写(return value)。如示例代码中设置方法返回值为TRUE。
methodCtx.setResultValue(java.lang.Boolean.TRUE)
1.2.4方法上下文常用方法
描述 | 方法 |
获取方法名 | String getName() |
获取方法别名 | String getAlias() |
获取方法参数类型 | String[] getParamTypes() |
获取方法某个参数的类型 | String getParamType(int index) |
获取方法参数值 | Object[] getParamValues() |
获取方法某个参数值 | Object getParamValue(int index) |
获取方法返回值类型 | String getResultType() |
获取方法返回值 | Object getResultValue() |
设置方法返回值 | void setResultValue(Object value) |
1.3快速插入上下文脚本
可以通过动态扩展平台的扩展定义中的上下文来快速编写一些常用脚本。
如上图所示,当选择扩展点后,切换到上下文页签,选中前置或后置脚本,双击所需树结点,就可以自动生成模版脚本,例如双击当前用户生成模板脚本:
com.kingdee.eas.util.app.ContextUtil.getCurrentUserInfo(pluginCtx.getContext());
推荐阅读