金蝶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