金蝶开发平台可以设置任意字段为超链接,但默认都会打开当前列表的单据,比如我在付款单列表中设置了“报销单号”为超链接,但点击这个超链接打开的仍然是“付款单”而不是“报销单”。
可以在列表插件中注册脚本插件来解决,网页端就能搞定。
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