DEP客户端调用服务端传递2个参数到服务端代码怎么写?
金蝶云社区-longboyming
longboyming
1人赞赏了该文章 1,015次浏览 未经作者许可,禁止转载编辑于2017年06月11日 14:58:52

以下代码调试老是在( var result = BOClientTool.callCmethod(pk,name,params);//接收业务方法返回的值)这里报错,不知道问题出在哪里?

---客户端代码

var easNames = JavaImporter();
easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols);
easNames.importPackage(Packages.com.kingdee.bos.util);
easNames.importPackage(Packages.com.kingdee.bos.metadata);
easNames.importPackage(Packages.com.kingdee.bos.framework);
easNames.importPackage(Packages.com.kingdee.eas.util.client);
easNames.importPackage(Packages.java.math);
easNames.importPackage(Packages.com.kingdee.eas.util.app);
easNames.importPackage(Packages.com.kingdee.eas.ec.contract.sub);
easNames.importPackage(Packages.com.kingdee.eas.common.client);
easNames.importPackage(Packages.com.kingdee.eas.scm.common.util);
easNames.importPackage(Packages.com.kingdee.bos.ui.face);
with(easNames){
var supplier=pluginCtx.getKDBizPromptBox("prmtSupplier").getValue();
var kdtEntrys=pluginCtx.getKDTable("kdtEntries");
var rowCount = kdtEntrys.getRowCount();
for(var i=0;i var pv=kdtEntrys.getRow(i).getCell("materialNum").getValue();//循环取分录物料
var pk = new MetaDataPK("com.kingdee.eas.scm.sm.pur.app.PurOrder");
var name = "String getmaxprice(String arg1)";
var a1=pv.getId().toString();
var a2=supplier.getId().toString();
var arg=[a1,a2];
var params = [arg];
com.kingdee.eas.util.client.MsgBox.showInfo(params);
var result = BOClientTool.callCmethod(pk,name,params);//接收业务方法返回的值
com.kingdee.eas.util.client.MsgBox.showInfo(result)
if((kdtEntrys.getRow(i).getCell("taxPrice").getValue()>result)){
com.kingdee.eas.util.client.MsgBox.showInfo("第"+(i+1)+"行"+"采购订单的&&&含税单价 不能高于 供货价格最高限价,请修改后重新保存!");
com.kingdee.eas.util.SysUtil.abort();}
}
}

---服务端代码

var easImporter = JavaImporter();
easImporter.importPackage(Packages.java.math);
easImporter.importPackage(Packages.com.kingdee.bos.util);
easImporter.importPackage(Packages.com.kingdee.eas.util);
easImporter.importPackage(Packages.com.kingdee.eas.util.app);
easImporter.importPackage(Packages.com.kingdee.bos.dao.ormapping);
easImporter.importPackage(Packages.com.kingdee.eas.basedata.scm.common);
easImporter.importPackage(Packages.com.kingdee.eas.basedata.master.material);
//加载包,可直接拷贝
with(easImporter){
var ctx = pluginCtx.getContext();//获得上下文。
var fn = methodCtx.getParamValue(0);//取第一个参数
var fan = methodCtx.getParamValue(1);//取第二个参数
var orgName=com.kingdee.eas.util.app.ContextUtil.getCurrentOrgUnit(ctx);//获取当前组织单元
var sql ="SELECT v.FPrice FROM T_SM_SupplyInfo v left join T_ORG_Purchase a on v.FPurchaseOrgID=a.FID where a.fname_l2='"+ orgName +"'and v.FSupplierID like '%" + fan + "%' and v.FMaterialItemID like '%" + fn + "%' and rownum =1";
var cc=com.kingdee.eas.util.app.DbUtil.executeQuery(ctx, sql); //执行,并返回结果值
if(cc.next()){
//从irowset中取数
var value1 = cc.getString(1);
}
methodCtx.setResultValue(value1);//返回值的方法。
}