5.1.1.12 BigDecimal类型的使用方式
工具类:java.math.BigDecimal
作 用:金额、单价的值需要付值为BigDecimal类型
BigDecimal amounts1 = new BigDecimal(String.valueOf(3.00)); BigDecimal amounts2 = new BigDecimal(String.valueOf(2.00)); //相加
amounts1.add(amounts2); //相减
amounts1.subtract(amounts2);
5.1.1.13 F7控件付值
public void initF7Acct( IUIObject owner, KDBizPromptBox f7,
CompanyOrgUnitInfo company) { if(company.getAccountTable()==null){ return; }
//为F7控件设置Query
f7.setQueryInfo(\
AccountViewQuery\);
EntityViewInfo evi = new EntityViewInfo(); FilterInfo filterInfo = new FilterInfo(); //设置过滤条件
evi.setFilter(filterInfo);
filterInfo.getFilterItems().add(new FilterItemInfo(\, \));
filterInfo.getFilterItems().add(new
FilterItemInfo(\, company.getId().toString()));
filterInfo.getFilterItems().add(new
FilterItemInfo(\,
company.getAccountTable().getId().toString()));
f7.setEntityViewInfo(evi);
f7.setDisplayFormat(\); f7.setEditFormat(\); f7.setCommitFormat(\); f7.setEditable(true);
// f7Acct.setSelector(new AccountPromptBox(owner, company, filter, false, true));
}
//此句不增加,将在第一次查询设置的条件不生效
f7.getQueryAgent().resetRuntimeEntityView();
5.1.1.14 通用过滤
ListUI界面中的几个方法。
//可以设置通用过滤所包含的界面
protected CommonQueryDialog getQueryDlg() throws Exception {
//获取用户自定义界面(条件页签)
public FMFilterBaseUI getFilterUI() throws Exception {
}
if (filterUI == null) { }
return filterUI;
filterUI = new FundsMoveBillFilterUI();
}
CommonQueryDialog dialog = super.getQueryDlg(); dialog.setShowFilter(false); //是否显示自定义页签 dialog.setShowSorter(true); //是否显示排序页签 return dialog;
//添加自定义界面
public CommonQueryDialog initCommonQueryDialog(){
}
CommonQueryDialog conditionDialog =
//设置固定查询界面 try { }
return(conditionDialog);
CustomerQueryPanel userPanel = getFilterUI(); if(userPanel != null){ }
super.handUIException(e);
conditionDialog.addUserPanel(userPanel);
super.initCommonQueryDialog();
} catch (Exception e) {
//处理自定义查询页签界面
protected CommonQueryProcessor getQueryProcessor() {
//FundsMoveBillProcess 要继承
return new FundsMoveBillProcess(this);
com.kingdee.eas.base.commonquery.client.CommonQueryProcessor
}
在CommonQueryProcessor(查询界面自定义查询页签中属性的处理类)及其子类中,获取CommonQueryPanel,以及用户自定义界面(*FilterUI.java)。 方 法:CommonQueryPanel commonQueryPanel =
(CommonQueryPanel)get(\ commonQueryPanel.getCustomerQueryPanel().get(i);//获取用户自定义界面(条件页签)。
Object editor = get(CURRENT_EDITOR); // 获取自定义页签比较值对应的控件。 String field = (String) get(CURRENT_FIELD_PROP); //获取自定义页签过滤条件属
性名
5.1.1.15 SysUtil.abort方法
工具类:com.kingdee.eas.util.SysUtil;
作 用:停止当前UI的所有操作,或终止服务端方法
SysUtil. abort()
5.1.1.16 常用F7 Query
1
科目F7
com.kingdee.eas.basedata.master.account.app.F7AccountViewQuery 2 科目表
com.kingdee.eas.basedata.master.account.app.AccountTableQuery 3 客户F7
com.kingdee.eas.basedata.master.cssp.app.F7CustomerQuery 4 供应商F7
com.kingdee.eas.basedata.master.cssp.app.F7SupplierQuery 5 客商统一码F7
com.kingdee.eas.basedata.master.cssp.app.F7BizAnalysisCodeQuery 6 物料F7
com.kingdee.eas.basedata.master.material.app.F7MaterialQuery 7 辅助核算F7
com.kingdee.eas.basedata.master.auxacct.app.F7AsstAccountQuery 8 币别F7
com.kingdee.eas.basedata.assistant.app.F7CurrencyQuery
9
辅助核算类型F7
com.kingdee.eas.basedata.master.auxacct.app.F7AsstActTypeQuery 10 汇率F7
com.kingdee.eas.basedata.assistant.app.F7ExchangeRateQuery 11 银行账户F7
com.kingdee.eas.basedata.assistant.app.F7AccountBankQuery 12 银行F7
com.kingdee.eas.basedata.assistant.app.F7BankQuery 13 用户F7
com.kingdee.eas.base.permission.app.F7UserQuery 14 银行F7
com.kingdee.eas.basedata.assistant.app.F7BankQuery
If not exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME ='FTransportTypeID'
and KSQL_COL_TABNAME='T_ST_BalanceBaseType')
alter table T_ST_BalanceBaseType add FTransportTypeID VARCHAR(44);
5.1.1.17 获取状态
1.主要是获取该EditUI的状态
public static final String STATUS_ADDNEW = \; 新增 public static final String STATUS_EDIT = \; 修改 public static final String STATUS_VIEW = \; 查看 public String getOprtState() {
return this.oprtState; // 获取状态 }
public void setOprtState(String oprtType) {
this.oprtState = oprtType;
this.uiParam.put(\, oprtType); }
5.1.1.18 手动调用BOTP
IBTPManager iBTPManager = BTPManagerFactory.getLocalInstance(ctx); IBOTMapping botMapping = BOTMappingFactory.getLocalInstance(ctx); // 查询是否存在此botp规则
EntityViewInfo ev = new EntityViewInfo();
FilterInfo filter = new FilterInfo();
ev.setFilter(filter);
filter.getFilterItems().add(new
FilterItemInfo(\,\));
BOTMappingCollection
botMappingCollection=botMapping.getBOTMappingCollection(ev);
//获取对应的botp规则
String[] idList = new String[weighCollection.size()]; if(weighCollection==null||weighCollection.size()==0){ }
构建idList参数 原对象的ID
for(int i=0;i //目标对象 SampleBillInfo destBillInfo=new SampleBillInfo(); List list=new ArrayList(); SelectorItemCollection selectors=null; idList[i] = weighCollection.get(i).getId().toString(); return null; // //生成单据 BTPTransformResult btpResult=iBTPManager.transformForBotp(idList,new String[1] ,list, selectors, destBillInfo.getBOSType().toString(), new ObjectUuidPK(botMappingCollection.get(0).getId().toString()),weighCollection.get(0).getBOSType().toString()); SampleBillCollection destBillColls = (SampleBillCollection)btpResult.getBills(); BOTRelationCollection botRelationCols = btpResult.getBOTRelationCollection(); destBillInfo = (SampleBillInfo)destBillColls.getObject(0); 5.1.1.19 叙事簿枚举自动转换与排序解决方案 主要用途: 一般情况下叙事簿上的枚举是自动转换的,排序也可以在Qurey元数据中配置。 这个主要是用在出现特殊情况下处理枚举自动转换和排序。 protected IQueryExecutor getQueryExecutor(IMetaDataPK queryPK, EntityViewInfo viewInfo){ IQueryExecutor exec=super.getQueryExecutor(queryPK,viewInfo); //设置排序 if (\ .equalsIgnoreCase(queryPK.toString())) { || viewInfo.getSorter().size() <= 0) { if (viewInfo.getSorter() == null SorterItemInfo aSorterItemInfo = new SorterItemInfo(