金蝶EAS DEP脚本(2)—— 上下文之方法上下文(methodCtx)

本文介绍了金蝶EAS DEP扩展脚本中的方法上下文(methodCtx),包括获取方法参数、返回值,设置返回值以及常用方法。methodCtx用于存储方法相关数据,例如参数和返回值,在处理业务逻辑时起关键作用。
       扩展脚本中封装了两种上下文,插件上下文(pluginCtx)和方法上下文(methodCtx)。这两种上下文为系统内置,无需额外的声明或获取。
  • pluginCtx主要存放当前执行环境的相关信息,比如服务端的Context,客户端的界面控件、界面状态、编辑对象等。
  • 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)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值