以前我们集团有一个需求:由于各家公司银企接入的进度不同,只有少部分公司可以使用银企直连,我们需要过滤结算方式,只对这一部分公司开放银企直联的结算方式,其他公司都只展示网银结算方式。听起来也不是很难的功能,但坑就坑在这个功能以前是写在Java插件里面的,每次有新公司接入银企了,都需要修改代码再重启服务器,十分不方便。
从财政厅刚回来的那段时间比较闲,琢磨了一下金蝶的脚本插件,即插即用无需重启,而且前端就可以编写,那个时候我还写了一个教程:金蝶系统中,设置点击超链接打开不同的页面。
说实话,又没有文档,又没有教程,所有的代码都是我一行一行瞎试出来的。但我今天突然发现,ChatGPT居然会写,我真是服了。并且我也在金蝶社区找到了KDE脚本开发文档,有些函数ChatGPT实在不会的情况下可以先喂给他文档。
然后我就让它帮我把原先的Java插件改写成脚本插件了,要不然我每次都得去麻烦人家改代码+重启,还影响员工正常使用。代码如下:
var plugin = new FormPlugin({
initialize:function(){
var paymode = this.getView()
.getControl("paymode");
if(paymode){
paymode.addBeforeF7SelectListener(this);
}
},
beforeF7Select:function(e){
var listShowParameter =
e.getFormShowParameter();
// F7显示方式
listShowParameter.setF7Style(3);
// 获取费用承担公司
var costcompany =
this.getModel()
.getValue("costcompany");
if(costcompany == null){
return;
}
var companyNumber =
costcompany.getString("number");
var filterParameter =
listShowParameter
.getListFilterParameter();
var qFilters =
filterParameter.getQFilters();
if(
companyNumber == "000001"
|| companyNumber == "000002"
|| companyNumber == "000003"
){
qFilters.add(
new QFilter(
"number",
"!=",
"JSFS002"
)
);
qFilters.add(
new QFilter(
"number",
"!=",
"JSFS009"
)
);
}else{
qFilters.add(
new QFilter(
"number",
"!=",
"JSFS001"
)
);
}
}
});
不仅如此,我把之前用python写的金蝶插件给封装成Chrome插件,这下能很方便地推广给新入职的员工了。
感谢ChatGPT。



Comments | NOTHING