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)
可以借鉴这篇文章
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));