KDE脚本插件编程技巧原创
金蝶云社区-阿丁编程
阿丁编程
3人赞赏了该文章 2,040次浏览 未经作者许可,禁止转载编辑于2022年11月01日 14:43:25

有时候使用KDE脚本插件能灵活解决不少问题,

至于KDE好不好这里不讨论,我个人还是建议能写Java插件的尽量写JAVA插件。


下面说一下我个人使用KDE脚本编辑总结的一些技巧吧:


1、查看系统所有脚本的写法,找自己需要的进行参考,特别适合不太熟悉脚本写法和不了解脚本可完成哪些功能的探究

select * from t_meta_pluginscript where fscriptcontext_tag like '%关键字%'

比如查看按钮点击事件怎么写,就可以搜索关键字'%click%',然后从结果中找到按钮点击事件功能的写法。


2、需要引入包文件,有些系统类脚本里可以直接使用,但是有些类不是脚本天生就能使用的,如果报错找不到类,此时就可以通过如下语句引用类,就可以使用了

require("kd.bos.form.StyleCss");
require('kd.bos.exception.KDException');


3、可以自己扩展一些标准类,提供给脚本使用,

比如需要脚本插件里验证的时候提示消息可以扩展KDValidator类

public class ADKDValidator extends KDValidator {
    public ADKDValidator(IValidator validator) {
		super(validator);
	}
    /**
     * <p>黄色错误</p>
     * @param dataEntity
     * @param content
     */
	@KSMethod
    public void addWarningMessageForKDE(ExtendedDataEntity dataEntity, String content) {
        this.addWarningMessage(dataEntity, content);
    }
    /**
     * <p>弹窗提醒</p>
     * @param dataEntity
     * @param content
     */
    @KSMethod
    public void addErrorMessageForKDE(ExtendedDataEntity dataEntity, String content) {
        this.addErrorMessage(dataEntity, content);
    }
    /**
     * <p>红色错误</p>
     * @param dataEntity
     * @param content
     */
    @KSMethod
    public void addFatalErrorMessageForKDE(ExtendedDataEntity dataEntity, String content) {
        this.addFatalErrorMessage(dataEntity, content);
    }
}

然后就可以在脚本里使用了

require('kd.bos.servicehelper.operation.SaveServiceHelper');
require('kd.bos.servicehelper.BusinessDataServiceHelper');
require('kd.bos.entity.ExtendedDataEntity');
require('***.***.***.***..ADKDValidator');
require('kd.bos.entity.validate.ValidationErrorInfo');
require('kd.bos.entity.validate.ErrorLevel');

onAddValidators : function(e){
    var data = e.getDataEntities();
    e.addValidator(new ADKDValidator({
        validate: function(){
            var obj = this.getDataEntities();
            this.addFatalErrorMessageForKDE(obj[0], '错误信息,不能提交');
        }        
    }));
}



以上就是个人总结的一些技巧,欢迎大家互相交流,如果有更好的技巧也可以在评论下面共享,谢谢!

图标赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0