金蝶开发平台可以设置任意字段为超链接,但默认都会打开当前列表的单据,比如我在付款单列表中设置了“报销单号”为超链接,但点击这个超链接打开的仍然是“付款单”而不是“报销单”。
可以在列表插件中注册脚本插件来解决,网页端就能搞定。
require("kd.bos.dataentity.utils.StringUtils"); require("kd.bos.bill.BillShowParameter"); require("kd.bos.servicehelper.BusinessDataServiceHelper"); var plugin = new ListPlugin({ // 如果点击的是“源单编码”(sourcebillnumber),修改超链接事件 KEY_TEXTFIELD1: "sourcebillnumber", billListHyperLinkClick: function(args) { if (StringUtils.equals(this.KEY_TEXTFIELD1, args.getHyperLinkClickEvent().getFieldName())) { args.setCancel(true); // 获取付款单内码 var payBillId = this.getView().getCurrentSelectedRowInfo().toString(); // 查询源单类型 var sourcebilltype = BusinessDataServiceHelper.loadSingle(payBillId,"cas_paybill","sourcebilltype").get("sourcebilltype"); // 查询源单内码 var sourcebillid = BusinessDataServiceHelper.loadSingle(payBillId,"cas_paybill","sourcebillid").get("sourcebillid"); var showParameter = new BillShowParameter(); showParameter.setFormId(sourcebilltype); showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); showParameter.setStatus(OperationStatus.VIEW); showParameter.setPkId(sourcebillid); this.getView().showForm(showParameter); } } });
Comments | NOTHING