DEP脚本学习-方法上下文(methodCtx)原创
金蝶云社区-云社区用户Z4cW8528
云社区用户Z4cW8528
21人赞赏了该文章 909次浏览 未经作者许可,禁止转载编辑于2020年12月17日 10:08:29

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());

赞 21