DEP开发,常用代码小总结原创
金蝶云社区-Heaven
Heaven
14人赞赏了该文章 708次浏览 未经作者许可,禁止转载编辑于2023年10月25日 14:20:52

1.获取当前登录组织名称,当前登录用户名称,获取当前系统时间

    //当前用户

    var userNameName = pluginCtx.getUIContext().get("sysContext").getCurrentUserInfo()

    //获取公司

    var userCompany = pluginCtx.getUIContext().get("sysContext").getCurrentFIUnit().toString();

    //获取当前时间

    var date = new java.util.Date();

2.date转yyyy-MM-dd格式

    var date = new java.util.Date();

    var format = java.text.SimpleDateFormat("yyyy-MM-dd"); 

    var SystemDate = format.format(date) 

3.序时薄表头控件不可用,分录某一列锁定,按钮不可见

//表头控件不可用

pluginCtx.getKDTextField("控件名称").setEnabled(false)

//分录列锁定,不可编辑

pluginCtx.getKDTable("分录表名").getColumn("列名").getStyleAttributes().setLocked(true);

//设置按钮不可见

pluginCtx.getKDWorkButton("按钮名称").setVisible(false)

4.sql:查询,更新,删除

//更新(这个不用在上面引入包,直接用即可)

var sql = "UPDATE 表名 SET CFComboBusinessStatus = '待提交'  WHERE  Fnumber = '"+number+"'";

com.kingdee.eas.csinterface.syncdatabase.SQLFacadeFactory.getRemoteInstance().exeSQL(sql);

//查询(这个不用在上面引入包,直接用即可)

var resultSql = "select fid from 表名 where Fnumber = '"+number+"'";

var Factory =com.kingdee.eas.fm.common.FMIsqlFacadeFactory.getRemoteInstance();

var rowsSql = Factory.executeQuery(resultSql.toString(),null);

if(rowsSql.size() != 0){

     while (rowsSql.next())

     {

          fid = rowsSql.getString("fid")

     }

}

//删除(这个不用在上面引入包,直接用即可)

var deleteSql = "delete from  表名 where fid in (" +  fids + ")";

com.kingdee.eas.csinterface.syncdatabase.SQLFacadeFactory.getRemoteInstance().exeSQL(deleteSql);


小贴士:这个是客户端的查询方式,服务端可以使用DbUtil中的接口

 com.kingdee.eas.util.app.DbUtil.executeQuery(ctx,sql)

可以借鉴这篇文章

数据库操作 (kingdee.com)

5.鼠标多选i监听事件

var tblMain = pluginCtx.getKDTable("tblMain");

tblMain.addKDTSelectListener( function tableSelectChanged(e){}

6.序时薄页面刷新

  var ui = pluginCtx.getUI();

  ui.refreshList();

7.代码结束

com.kingdee.eas.util.SysUtil.abort();

8.数据源过滤条件(可用于序时薄查询单据时对用户,公司的过滤)

var filter = new FilterInfo();        

filter.getFilterItems().add(new FilterItemInfo("name",userCompany, CompareType.EQUALS));       

methodCtx.setResultValue(filter); 


//filter.getFilterItems().add(new FilterItemInfo("name","1", CompareType.NOTINCLUDE));   

 








赞 14