金蝶GUI开发常用代码

本文档列举了金蝶GUI开发中常见的代码操作,包括设置组织隔离、获取用户信息、执行SQL查询、处理F7弹窗查询条件、自定义查询方法、控制表格属性等,旨在帮助开发者更高效地进行金蝶系统的界面开发和功能定制。
摘要由CSDN通过智能技术生成

金蝶GUI开发常用代码

获取控制单元并且设置组织隔离

CtrlUnitCollection ctUnitColls = CtrlUnitFactory.getLocalInstance(ctx).getCtrlUnitCollection("where id ='"+info.getCompany().getId().toString()+"'");
info.setCU(ctUnitColls.get(0));

ListUI设置组织隔离

protected boolean isIgnoreCUFilter() {
   
	//返回值为false为进行隔离,true不隔离,
	return super.isIgnoreCUFilter();
}

后台获取当前登录用户信息

SysContext.getSysContext().getCurrentUser();
String userId = ContextUtils.getUser(ctx).getId().toString();
UserInfo userInfo = UserFactory.getLocalInstance(ctx).getUserInfo("where id='"+userId+"'");

前台获取当前用户信息

UserInfo userInfo = SysContext.getSysContext().getCurrentUserInfo();

根据条件获取指定的公司数据

CompanyOrgUnitInfo company = CompanyOrgUnitFactory.getRemoteInstance().getCompanyOrgUnitInfo("where name='"+value+"'");

获取所有币别记录

CurrencyCollection con=CurrencyFactory.getRemoteInstance().getCurrencyCollection(true);

前台获取登录人的公司信息

SysContext.getSysContext().getCurrentFIUnit();

后台获取登录人的公司信息

ContextUtil.getCurrentFIUnit(ctx)
SysContext.getSysContext().getCurrentFIUnit();

获取登录人部门信息

SysContext.getSysContext().getCurrentAdminUnit()

重写此方法设置Edit页面的打出方式为新增标签页(默认为新增窗口弹出)

protected String getEditUIModal() {
   
	return "com.kingdee.eas.base.uiframe.client.UINewTabFactory";
}

替换序时簿查询条件

for (int i = 0; i < viewInfo.getFilter().getFilterItems().size(); i++) {
   
	if (i==0) {
   
		CompanyOrgUnitInfo currentFIUnit = SysContext.getSysContext().getCurrentFIUnit();
		viewInfo.getFilter().getFilterItems().get(i).setCompareValue(currentFIUnit.getId().toString());
		break;
	}
}

替换分录内F7弹窗查询条件

EntityViewInfo viewInfo=new EntityViewInfo();
FilterInfo f=new FilterInfo();
f.getFilterItems().add(new FilterItemInfo("companyID.id",companyId,CompareType.EQUALS));
viewInfo.setFilter(f);
KDBizPromptBox kdtE1_unit_PromptBox = new KDBizPromptBox();
kdtE1_unit_PromptBox.setQueryInfo("com.kingdee.eas.basedata.master.account.app.F7AccountViewQuery");
kdtE1_unit_PromptBox.setVisible(true);
kdtE1_unit_PromptBox.setEditable(true);
kdtE1_unit_PromptBox.setDisplayFormat("$number$");
kdtE1_unit_PromptBox.setEditFormat("$number$");
kdtE1_unit_PromptBox.setCommitFormat("$number$");
kdtE1_unit_PromptBox.setEntityViewInfo(viewInfo);
KDTDefaultCellEditor kdtE1_unit_CellEditor = new KDTDefaultCellEditor(kdtE1_unit_PromptBox);
this.kdtEntrys.getColumn("subjectCode").setEditor(kdtE1_unit_CellEditor);
ObjectValueRender kdtE1_unit_OVR = new ObjectValueRender();
this.kdtEntrys.getColumn("subjectCode").setRenderer(kdtE1_unit_OVR);

替换F7弹窗查询条件

EntityViewInfo viewInfo=new EntityViewInfo();
FilterInfo f=new FilterInfo();
f.getFilterItems().add(new FilterItemInfo("companyID.id",companyId,CompareType.EQUALS));
viewInfo.setFilter(f);
this.prmtsubject.setEntityViewInfo(viewInfo);

前台执行SQL查询语句

HSEUtil.executeSql(null, sqo.toString());
FMIsqlFacadeFactory.getRemoteInstance().executeSql(sql.toString());
ISQLExecutor isql = SQLExecutorFactory.getRemoteInstance(sql.toString());
IRowSet rowSet = isql.executeSQL();

后台执行SQL查询语句

DbUtil.execute(ctx, sql.toString());

替换下拉选项

this.comRefuedRate.removeAllItems();
BigDecimal[] item=null;
item=new BigDecimal[arr.length];
for (int i = 0; i < arr.length; i++) {
   
	item[i]=new BigDecimal(arr[i]);
}
//item=new BigDecimal[]{new BigDecimal(tariffScheduleInfo.getRefundTaxNew())};
this.comRefuedRate.addItems(item);

判断两个日期大小,大于当前时间返回负数

DateUtils.truncatedCompareTo(nowDate, inputDate, Calendar.DATE);

调用自定义弹窗方法

//主页面事件方法
public void actionUpdateBillRemark_actionPerformed(ActionEvent e) throws Exception {
   //打开弹窗
	if(UIRuleUtil.isNull(this.editData.getId())){
   
		MsgBox.showInfo("请先保存");
		SysUtil.abort();
	}
	String destBillEditUIClassName = "com.kingdee.eas.hse.scm.client.EnTrustUpdateBillRemarkUI";
	Map map = new UIContext(this);
	map.put("id", editData.getId().toString());
	map.put(UIContext.OWNER, this);
	IUIWindow uiWindow = null ; 
	// UIFactoryName.MODEL 为弹出模式
	uiWindow = UIFactory.createUIFactory(UIFactoryName.MODEL).
	create
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值