EAS BOS开发客户端端常用代码
更新时间:2023-03-08 09:42:41 阅读量: 综合文库 文档下载
- easy推荐度:
- 相关推荐
客户端常用代码
1
列表界面常用代码............................................................................................................... 3 1.1 初始化用户自己定义的查询过滤框(系统默认为每个定义的列表生成了通用过滤框,如果采用系统通用过滤框则不需要实现下面的方法) ................................................... 3 1.2 设置列表界面的默认过滤条件,可用来过滤列表数据, 也可以直接设置 MAINQUERY的值实现过滤 .......................................................................................................... 5 1.3 设置是否在调入列表界面之前先出过滤框 ................................................................... 5 1.4 客户端对审核的操作 ....................................................................................................... 6 1.5 关联生成 ........................................................................................................................... 6 1.6 动态调用UI界面,并在UI之间传递变量 .................................................................. 7 1.7 关于编码规则 ................................................................................................................... 7 1.8 如何得到当前选中行的ID .............................................................................................. 8 1.9 关于数字精度的设置 ....................................................................................................... 9 1.10 返回当前列表的主键 ................................................................................................. 10 1.11 返回列表界面对应的编辑界面名称 ......................................................................... 11 1.12 返回远程调用接口 ..................................................................................................... 11 2
编辑界面常用代码............................................................................................................. 11 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21
获取菜单参数 ................................................................................................................. 11 客户端环境工具类 ......................................................................................................... 11 获取公司行政组织 ......................................................................................................... 12 获取当前公司本位币 ..................................................................................................... 12 期间工具 ......................................................................................................................... 12 获取资源文件 ................................................................................................................. 12 消息框 ............................................................................................................................. 13 SYSUTIL.ABORT() ............................................................................................................ 13 COM.KINGDEE.EAS.BASE.UIFRAME.UIFACTORYHELPER ................................................. 13 TREE操作 ....................................................................................................................... 14 获取编号 ..................................................................................................................... 14 获取汇率 ..................................................................................................................... 15 数据库工具类 ............................................................................................................. 15 常用数据格式 ............................................................................................................. 15 初始化单据分录中的数据 ......................................................................................... 16 载入编辑界面时设置明细默认值 ............................................................................. 16 BIGDECIMAL类型的使用方式: ................................................................................... 17 构造OBJECTUUIDPK.................................................................................................. 17 组织转换 ..................................................................................................................... 17 获取不同类型的组织视图 ......................................................................................... 17 弹出指定的F7框 ...................................................................................................... 18
3 常用F7 QUERY ................................................................................................................... 19 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14
科目F7 ........................................................................................................................... 19 科目表 ............................................................................................................................. 19 客户F7 ........................................................................................................................... 19 供应商F7 ....................................................................................................................... 19 客商统一码F7 ............................................................................................................... 19 物料F7 ........................................................................................................................... 19 辅助核算F7 ................................................................................................................... 19 币别F7 ........................................................................................................................... 20 辅助核算类型F7 ........................................................................................................... 20 汇率F7 ....................................................................................................................... 20 银行账户F7 ............................................................................................................... 20 银行F7 ....................................................................................................................... 20 用户F7 ....................................................................................................................... 20 银行F7 ....................................................................................................................... 20
4 代码实例............................................................................................................................. 20 4.1 单据新增代码 ................................................................................................................. 20 4.2 单据修改代码 ................................................................................................................. 22 4.3 单据删除代码 ................................................................................................................. 22 4.4 获取集合 ......................................................................................................................... 22 4.5 获取值对象 ..................................................................................................................... 23 4.6 界面之间传递参数 ......................................................................................................... 23 4.7 给QUERY传过滤条件 ................................................................................................... 24 4.8 接口方法的访问方式 ..................................................................................................... 25 4.9 传递上下文参数的接口访问方式 ................................................................................. 25 4.10 控件的初始化 ............................................................................................................. 25 4.11 F7赋值 ........................................................................................................................... 26 4.12 设置单据分录单元格格式 ......................................................................................... 28 4.13 设置单元格可编辑 ..................................................................................................... 28 4.14 删除行 ......................................................................................................................... 29 4.15 F7专用选择界面的设置................................................................................................ 29 4.16 获取各模块系统状态信息 ......................................................................................... 31 4.17 获取当前登陆信息 ..................................................................................................... 31 4.18 获取参数平台参数设置的示例代码 ......................................................................... 31 4.19 网络互斥功能示手工控制 ......................................................................................... 32 4.20 TREE- LIST实现方法1 ................................................................................................... 32 4.21 TREE-LIST点击树上结点时形成过滤条件时的字段 ................................................... 32 4.22 TREE-树形控件的初始化级次 [OPTIONAL] ................................................................. 33 4.23 TREE-树形空间的默认展开级次 [OPTIONAL] ............................................................... 33 4.24 TREE-返回树形控件的根名称 ....................................................................................... 33 4.25 TREE-数据过滤(重载实现对树的过滤) ........................................................................ 33 4.26 TREE-控件基本使用 ....................................................................................................... 34 4.26.1 初始化树形控件 ..................................................................................................... 34
4.26.2 返回选中的树结点 ................................................................................................. 35 4.26.3 返回树结点的值 ..................................................................................................... 35 4.26.4 删除类别时刷新当前结点的父结点,并定位到当前结点的父结点。 ............. 35 4.26.5 设置选中根结点 ..................................................................................................... 36 4.26.6 类别新增与修改时,刷新当前选中结点 ............................................................. 36 4.26.7 修改类别时刷新当前结点的父结点,并定位到当前结点 ................................. 36 4.27 手工发送消息 ............................................................................................................. 37
1 列表界面常用代码
tblMain 作为框架为list列表界面中的kdTable绑定的变量,通过它可以访问到列表上的每一行、每一列,可以做数据检查,控制,格式化,行合并等操作
1.1 初始化用户自己定义的查询过滤框(系统默认为每个定
义的列表生成了通用过滤框,如果采用系统通用过滤框则不需要实现下面的方法)
dialog可在bos中继承CustomerQueryPanel UI新建用户自定义的过滤框
在Bos中发布该元数据后,可以实例化该类并引用
在生成的dialog类中继承方法 getFilterInfo(),并实现用户想要的过滤条件,应用框架会在取数时调用dialog类自动获取过滤条件
在ListUI类中重载方法initCommonQueryDialog
protected CommonQueryDialog initCommonQueryDialog() { dialog = super.initCommonQueryDialog(); try
{ dialog.addUserPanel(getUsierPanel()); dialog.setShowFilter(true); dialog.setShowSorter(true); dialog.setHeight(380); dialog.setWidth(500); dialog.setTitle(“客户自定义过滤框”); }
catch (Exception e) { handUIException(e);
} return dialog; }
protected CustomerQueryPanel getUserPanel() throws Exception { if (this.userPanel == null) this.userPanel = new PurOrderQueryUI(); userPanel.onLoad(); return this.userPanel; }
如上,可以实现通过在通用过滤界面上增加自定义的过滤框实现对列表数据的过滤
1.2 设置列表界面的默认过滤条件,可用来过滤列表数据,
也可以直接设置 mainQuery的值实现过滤
protected EntityViewInfo getInitDefaultSolution() { EntityViewInfo ev = new EntityViewInfo(); FilterInfo filter = new FilterInfo(); //给filter赋过滤条件项 ev.setFilter(filter); return ev; }
1.3 设置是否在调入列表界面之前先出过滤框
protected boolean initDefaultFilter() { return true; }
1.4 客户端对审核的操作
应用框架预定义了一个审核操作actionAuditing
public void actionAuditing_actionPerformed(ActionEvent e) throws Exception { //检查单据状态 if (!checkStatus(tblMain, BillStatusEnum.SUBMITED)) {
MsgBox.showInfo(this,
Day4Resource.getStrResource(\// 状态不正确,终止处理
SysUtil.abort(); } IPurOrder purorder = (IPurOrder) getBizInterface(); String[] billIdlist = getSelectedListId();
//常用的弹出对话框方法
int i = MsgBox.showConfirm2(this, \if (i == MsgBox.OK) { //审核操作 purOrder.audit(new ObjectStringPK(bill)); //完成其他业务逻控制 // 刷新列表界面 actionRefresh_actionPerformed(null); }
}
1.5 关联生成
public void actionCreateTo_actionPerformed(ActionEvent e) throws Exception { checkSelected(); // 未审核单据不能关联生成
}
if (!checkStatus(tblMain, BillStatusEnum.AUDITED)) { MsgBox.showInfo(this, \ SysUtil.abort(); }
//有系统调用配置好的‘botp’规则 super.actionCreateTo_actionPerformed(e);
1.6 动态调用UI界面,并在UI之间传递变量
private void makePurOrderUI(PurOrderInfo srcBillInfo)
throws EASBizException, UIException,
BOSException, Exception { String destBillEditUIClassName = “com.kingdee….PurOrderEditUI”; Map map = new UIContext(this); map.put(\ map.put(UIContext.OWNER, this); map.put(\ IUIWindow uiWindow = null ;
// UIFactoryName.MODEL 为弹出模式
uiWindow = UIFactory.createUIFactory(UIFactoryName.MODEL).
create(destBillEditUIClassName, map, null,
OprtState.ADDNEW); //可对创建的ui进行操作
//((CoreBillEditUI).uiWindow.getUIObject()).
//setMakeRelations(btpResult.getBOTRelationCollection()); //开始展现UI
uiWindow.show(); }
1.7 关于编码规则
// 是否存在编码规则
protected boolean isCodeRuleEnable(IObjectValue objValue)
throws EASBizException, BOSException { String companyId = OrgInnerUtils.getCurCompany(); ICodingRuleManager codeRuleMgr = null;
codeRuleMgr = CodingRuleManagerFactory.getRemoteInstance(); return codeRuleMgr.isExist(objValue, companyId); }
// 得到自动编码
protected String getAutoCode(IObjectValue objValue)
throws EASBizException, BOSException { String companyId = OrgInnerUtils.getCurCompany();
ICodingRuleManager codeRuleMgr = null;
codeRuleMgr = CodingRuleManagerFactory.getRemoteInstance(); if (codeRuleMgr.isUseIntermitNumber(objValue, companyId)) { return codeRuleMgr.readNumber(objValue, companyId); } else { return codeRuleMgr.getNumber(objValue, companyId); } }
1.8 如何得到当前选中行的id
// 得到当前选中行的id
public String[] getSelectedListId() { checkSelected(); // SelectManager 是kdtable中行管理类 ArrayList blocks = tblMain.getSelectManager().getBlocks(); ArrayList idList = new ArrayList(); Iterator iter = blocks.iterator(); while (iter.hasNext()) { KDTSelectBlock block = (KDTSelectBlock) iter.next(); int top = block.getTop(); int bottom = block.getBottom();
for (int rowIndex = top; rowIndex <= bottom; rowIndex++) { ICell cell = tblMain.getRow(rowIndex).
getCell(getKeyFieldName());
}
if (!idList.contains(cell.getValue())) { idList.add(cell.getValue()); } } }
String[] listId = null;
if (idList != null && idList.size() > 0) { Iterator iterat = idList.iterator(); listId = new String[idList.size()]; int index = 0; while (iterat.hasNext()) { listId[index] = (String) iterat.next(); index++; } }
return listId;
1.9 关于数字精度的设置
private void changeShowData(int fistRow, int lastRow)
throws EASBizException, BOSException { for (int i = fistRow; i <= lastRow; i++)
{
IRow row = tblMain.getRow(i); // 根据币别设置精度 ICell cell = row.getCell(“columnName”); //假定精度为2 int precision = 2; if (cell != null && cell.getValue() != null) { try { precision = Integer.parseInt(cell.getValue().toString());
} catch (Exception e) { precision = 2; } } // 当该行的币别精度不能于原币精度时才更改精度 if (precision != basePrecision) { for (int j = 0; j tblMain.getColumn(\ \ tblMain.getColumn(\ \ tblMain.getColumn(\ HorizontalAlignment.RIGHT); tblMain.getColumn(\ .setNumberFormat(\ tblMain.getColumn(\ .setHorizontalAlign(HorizontalAlignment.RIGHT); } } } } 1.10 返回当前列表的主键 protected String getKeyFieldName() { return \} tblMain.getColumn(\tblMain.getColumn(\).getStyleAttributes().setHorizontalAlign(HorizontalAlignment.RIGHT); 2.15 初始化单据分录中的数据 protected IObjectValue createNewDetailData(KDTable table) { PurOrderEntryInfo t2 = new PurOrderEntryInfo(); t2.set***(*); //新增明细行时进行初始化 return t2; } 2.16 载入编辑界面时设置明细默认值 protected com.kingdee.bos.dao.IObjectValue createNewData() { //new 一个值对象 PurOrderInfo objectValue = new PurOrderInfo(); objectValue.getEntrys().add(new PurOrderEntryInfo()); objectValue.setCompany((CompanyOrgUnitInfo)( SysContext.getSysContext().getCurrentFIUnit())); objectValue.setCreator((UserInfo)( SysContext.getSysContext().getCurrentUser())); return objectValue; } 2.17 BigDecimal类型的使用方式: BigDecimal amounts = new BigDecimal(String.valueOf(0.00)); 2.18 构造ObjectUuidPK ObjectUuidPK pk = new ObjectUuidPK(paymentInfo.getId()); 2.19 组织转换 SysContext.getSysContext().getCurrentFIUnit().castToFullOrgUnitInfo(); 2.20 获取不同类型的组织视图 如:公司、成本中心、责任中心等 OrgViewF7 orgF7 = new OrgViewF7(this); orgF7.setCurrentCUID(company.getId().toString()); orgF7.setMultiSelect(false); orgF7.setOrgViewTypes(new OrgViewType[]{OrgViewType.COMPANY}); orgF7.setIsShowSub(true); prmptCompany.setSelector(orgF7); 2.21 弹出指定的F7框 KDCommonPromptDialog dlg = (KDCommonPromptDialog) selector; if (dlg==null) { dlg = new KDCommonPromptDialog() ; if(dlg.getQueryInfo()==null) { dlg.setQueryInfo(boxBizEle.getQueryAgent().getQueryInfo() ); try { dlg.setEntityViewInfo(new EntityViewInfo(boxBizEle.getQueryAgent().getRuntimeEntityView().toString())); } catch (com.kingdee.bos.sql.ParserException e) { e.printStackTrace(); } dlg.setSelectorCollection(boxBizEle.getQueryAgent().getSelectorCollection()); dlg.setQueryExecutor(boxBizEle.getQueryAgent().getQueryExecutor()); dlg.setEnabledMultiSelection(boxBizEle.getQueryAgent().isEnabledMultiSelection()); dlg.setReturnValueType(boxBizEle.getQueryAgent().getReturnValueType()); } } dlg.show(); if (!dlg.isCanceled()) { boxBizEle.setValue( ((Object[])dlg.getData())[0]); ICell cell = pnlTables.getFoucusCell(); if(cell!=null) cell.setValue(((BgContractInfo)((Object[])dlg.getData())[0]).getContractNum()); } 3 常用F7 Query 3.1 科目F7 com.kingdee.eas.basedata.master.account.app.F7AccountViewQuery 3.2 科目表 com.kingdee.eas.basedata.master.account.app.AccountTableQuery 3.3 客户F7 com.kingdee.eas.basedata.master.cssp.app.F7CustomerQuery 3.4 供应商F7 com.kingdee.eas.basedata.master.cssp.app.F7SupplierQuery 3.5 客商统一码F7 com.kingdee.eas.basedata.master.cssp.app.F7BizAnalysisCodeQuery 3.6 物料F7 com.kingdee.eas.basedata.master.material.app.F7MaterialQuery 3.7 辅助核算F7 com.kingdee.eas.basedata.master.auxacct.app.F7AsstAccountQuery 3.8 币别F7 com.kingdee.eas.basedata.assistant.app.F7CurrencyQuery 3.9 辅助核算类型F7 com.kingdee.eas.basedata.master.auxacct.app.F7AsstActTypeQuery 3.10 汇率F7 com.kingdee.eas.basedata.assistant.app.F7ExchangeRateQuery 3.11 银行账户F7 com.kingdee.eas.basedata.assistant.app.F7AccountBankQuery 3.12 银行F7 com.kingdee.eas.basedata.assistant.app.F7BankQuery 3.13 用户F7 com.kingdee.eas.base.permission.app.F7UserQuery 3.14 银行F7 com.kingdee.eas.basedata.assistant.app.F7BankQuery 4 代码实例 4.1 单据新增代码 如:新增一行付款单 //构造一条付款单信息(构造值对象) PaymentBillInfo payInfo = new PaymentBillInfo(); payInfo.setNumber(“1001”); //关联用户 UserInfo userInfo = new UserInfo(); userInfo.setId(BOSUuid.read(\BOSUuid建立实体对象 userInfo.setName(“John”); userInfo.setNumber(“2000”); BigDecimal ex = new BigDecimal(\建立属性 BigDecimal ex2 = new BigDecimal(12345678901234567.8);//错误 payInfo.setExchangeRate(ex); payInfo.setCreator(userInfo); payInfo.setAuditDate(new Date(System.currentTimeMillis()));//时间属性 Timestamp createdate = new Timestamp(System.currentTimeMillis()); payInfo.setCreateDate(createdate); payInfo.setBizState(BillBizState.create);//枚据属性 payInfo.setSave(true);//Boolean 属性 PaymentBillItemInfo itemInfo = new PaymentBillItemInfo();//建立分录 itemInfo.setLineNo(34); itemInfo.setAmounts(ex2); payInfo.getEntries().add(itemInfo);//添加分录 payInfo.getEntries().add(new ErrandTaskItemInfo());//添加分录 //通过 调用新增方法进行保存 IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance();//获取实体 IObjectPK pk = iPayBill.addnew(payInfo);//保存值对象,返回逻辑键,可以通过逻辑键获取值对象(如下) 4.2 单据修改代码 修改一条付款单信息 IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance(); String id=\ ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键 PaymentBillInfo payInfo = iPayBill.getValue(pk);//获取值对象; System.out.println(\获取属性 payInfo.setExchangeRate(ex);//修改属性属性 iPayBill.update(pk, payInfo);//更新数据 4.3 单据删除代码 iPayBill.remove(pk);//通过逻辑键删除单据内容获取集合 4.4 获取集合 CurrencyInfo cur = new CurrencyInfo(); ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象 EntityViewInfo evi = new EntityViewInfo();//建立视图信息 FilterInfo i = new FilterInfo();//建立过滤条件 i.getFilterItems().add(new FilterItemInfo(\ i.getFilterItems().add(new FilterItemInfo(\ i. setMaskString(\ evi.setFilter(i);//添加过滤条件 evi.getSelector().add(new SelectorItemInfo(\添加获取属性 evi.getSelector().add(new SelectorItemInfo(\ evi.getSelector().add(new SelectorItemInfo(\ evi.getSelector().add(new SelectorItemInfo(\ //三种获取集合方法 1. 获取所有数据: CurrencyCollection co = c. getCurrencyCollection ();//获取集合 2. 获取满足上述条件的所有数据 CurrencyCollection co = c.getCurrencyCollection(evi);//获取集合 3. 获取满足oql所写的条件的所有数据 CurrencyCollection co = c. getCurrencyCollection (evi);//获取集合 4.5 获取值对象 CurrencyInfo cur = new CurrencyInfo(); ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象 String id=\ ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键 c.getValue(pk); 或 : c.getCurrencyInfo(pk); 4.6 界面之间传递参数 1. 收集父界面要传递给子界面的参数集 HashMap map = new HashMap(); map.put(\必须。被启动UI的父UI对象 map.put(\ map.put(\ map.put(\ map.put(\ IUIFactory uiFactory = null; uiFactory = UIFactory .createUIFactory(\以模态对话框方式启动 IUIWindow uiWindow = uiFactorycreate(\/* 被启动对象的类名称 */ map); uiWindow.show(); 2. 在子界面获取传递下来的数据 private void loadContext() { int mode = ((Integer)this.getUIContext().get(\ AccountTableInfo accountTableInfo = (AccountTableInfo) this.getUIContext().get(\CtrlUnitInfo cuInfo = (CtrlUnitInfo) this.getUIContext().get(\ AsstAccountInfo asstAccountInfo = (AsstAccountInfo) this.getUIContext().get(\ AuxAccountEditUI ui = (AuxAccountEditUI) this.getUIContext().get(\} 4.7 给Query传过滤条件 EntityViewInfo evi = new EntityViewInfo(); FilterInfo filterInfo = new FilterInfo(); //建立过滤条件 filterInfo.getFilterItems().add( new FilterItemInfo(\ CompareType.EQUALS)); filterInfo.getFilterItems().add( new FilterItemInfo(\ CompareType.EQUALS)); filterInfo.setMaskString(\ evi.setFilter(filterInfo); if (mainQuery == null) { mainQuery = new EntityViewInfo(); } mainQuery.setFilter(filterInfo); //添加过滤条件 this.execQuery(); 4.8 接口方法的访问方式 3. 客户端访问 CurrencyInfo cur = new CurrencyInfo(); ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象 c. getCurrencyCollection(); 4. 服务端访问 CurrencyInfo cur = new CurrencyInfo(); ICurrency c = CurrencyFactory. getLocalInstance (ctx);//建立实体对象 c. getCurrencyCollection(); 4.9 传递上下文参数的接口访问方式 PurOrderInfo cur = new PurOrderInfo(); IPurOrder c = PurOrderFactory. getRemoteInstanceWithObjectContext(ctx);//建立实体对象 c. getPurOrderCollection(); 另query也支持上下文参数: IQueryExecutor exec = QueryExecutorFactory.getRemoteInstance(queryPK,ctx); … 4.10 控件的初始化 1.使用枚举给ComboBox控件赋值 public void setReceiveType() { this.kDComboBox2.removeAllItems(); List list = new List(); Iterator it = ReceiveType.iterator(); while (it.hasNext()) { list.add(ReceiveType.getEnum(it.toString()).toString()); } } 2.使用值对象集合给ComboBox控件赋值 // 获取结算方式列表 IAsstActTypeDefault iAsstActType = AsstActTypeDefaultFactory.getRemoteInstance(); AsstActTypeDefaultCollectioni asstActTypeColl = iAsstActType .getAsstActTypeDefaultCollection(\ AsstActTypeDefaultInfo defaultVal = null; int count = asstActTypeColl.size(); Object[] typeValue = new Object[count]; for (int i = 0; i < count; i++) { AsstActTypeDefaultInfo value = (AsstActTypeDefaultInfo) asstActTypeColl.get(i); if (value.isIsDefaultAccountPayable()) { defaultVal = value; } ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(value.getAsstActType().getString(\ AsstActTypeInfo asstInfo = AsstActTypeFactory.getRemoteInstance().getAsstActTypeInfo(pk); //cbi[i] = new ComBoxInfo(asstInfo, asstInfo.getName(), true); String typeName = asstInfo.getName(); String typeId = asstInfo.getId().toString(); String typeQueryName = asstInfo.getDefaultQueryName(); String typeTableName = asstInfo.getRealtionDataObject(); int csType = 0; //asstActTypeInfo.getCsType().getValue(); asstActType = new AsstActTypeUtils(typeName, typeId, typeTableName, typeQueryName, csType); typeValue[i] = (Object) asstActType; } ///String strQueryName = \ this.kDComAccountCussentType.removeAllItems(); this.kDComAccountCussentType.addItems(typeValue); this.kDComAccountCussentType.setSelectedIndex(0); 4.11 F7赋值 ObjectUuidPK pk = new ObjectUuidPK(id); IObjectValue objVal DynamicObjectFactory.getRemoteInstance().getValue(pk.getObjectTypei(), pk); bizPrompt.setData(objVal); private void setCompanyF7() { = //公司的F7的设置 OrgType[] CompanyType = { OrgType.Company }; //首先定义需要显示那些树,这里只显示财务树 //为F7控件指定PromptBox this.bizPromptCompany.setEditFormat(\ this.bizPromptCompany.setDisplayFormat(\ this.bizPromptCompany.setEditable(true); this.bizPromptCompany.setCommitFormat(\ OrgUnitTreePromptBox boxCompany = new OrgUnitTreePromptBox(this, CompanyType, null, OrgSelect.OnlySelectCompanyEntity, false, false, false); bizPromptCompany.setSelector(boxCompany); bizPromptCompany.setData(currentCompany); bizPromptCompany.setEnabled(false); } //设置币别 private void setCurrency() throws EASBizException, BOSException { ICurrency iCurrency = null; CurrencyCollection con = null; try { iCurrency = CurrencyFactory.getRemoteInstance(); con = iCurrency.getCurrencyCollection(true); } catch (Exception e) { // TODO 自动生成 catch 块 MsgBox.showError(this, EASResource.getString(resClassName, \ SysUtil.abort(); } if (con != null) { Object[] typeValue = new Object[con.size()]; int j = 0; for (int i = 0; i < con.size(); i++) { CurrencyInfo currencyInfo = (CurrencyInfo) con.get(i); String typeName = currencyInfo.getName(); String typeId = currencyInfo.getId().toString(); String typeQueryName = currencyInfo.getNumber(); asstActType = new AsstActTypeUtils(typeName, typeId, typeQueryName); if (asstActType != null) { typeValue[i] = (Object) asstActType; if(typeId.equalsIgnoreCase(((CurrencyInfo)currentCompany.getBaseCurrency()).getId().toString())) { j = i; } } } this.bizPromptcurrency.removeAllItems(); this.bizPromptcurrency.addItems(typeValue); //默认值为当前公司的本位币 this.bizPromptcurrency.setSelectedIndex(j); } else { MsgBox.showError(this, EASResource.getString(resClassName, \ SysUtil.abort(); } } 4.12 设置单据分录单元格格式 // 设置单据分录格式 getDetailTable().getColumn(TB_RELABILL).setWidth(100); getDetailTable().getColumn(TB_ORGUNIT).setWidth(180); getDetailTable().getColumn(TB_BIZMAN).setWidth(100); getDetailTable().getColumn(TB_PAYAMOUNT).setEditor(number_CellEditor); getDetailTable().getColumn(TB_PAYAMOUNT).getStyleAttributes().setNumberFormat(\[=]{#.00}f\ getDetailTable().getColumn(TB_PAYAMOUNT).getStyleAttributes().setHorizontalAlign(HorizontalAlignment.RIGHT); 4.13 设置单元格可编辑 for (int i = 0; i < kdtEntrys.getRowCount(); i++) { kdtEntrys.getRow(i).getCell(\ kdtEntrys.getRow(i).getCell(\ } //如果折扣金额为null则初始化为0 if (kdtEntrys.getRow(i).getCell(\ { kdtEntrys.getRow(i).getCell(\ } //汇总分录行金额 BigDecimal amount = new BigDecimal(\ for (int i = 0, n = kdtEntrys.getRowCount(); i < n; i++) { amount = amount.add(UIRuleUtil.getBigDecimal(UIRuleUtil.getBigDecimalValue (kdtEntrys.getCell(i,TB_PAYAMOUNT).getValue()))); } this.txtTotalAmounts.setText(null); this.txtTotalAmounts.setEnable(false); this.txtTotalAmounts.setText(amount); //和零比较 if (amount.compareTo(new BigDecimal(\ 4.14 删除行 public void actionDeleteLine_actionPerformed(ActionEvent e)throws Exception { IRow row = getSelectedRow(); if (row != null) { kDTable1.removeRow(row.getRowIndex()); } } 4.15 F7专用选择界面的设置 public void setF7Selector() throws Exception { KDBizPromptBox bizPromptBox = new KDBizPromptBox();// 要绑定的F7控件 CoreUIObject ui = null;// 父界面对象 CompanyOrgUnitInfo companyInfo = null; // 当前财务组织 // 客户 bizPromptBox.setSelector(new GeneralKDPromptSelectorAdaptor(bizPromptBox, new F7CustomerTreeDetailListUI(), ui)); // 供应商 bizPromptBox.setSelector(new GeneralKDPromptSelectorAdaptor(bizPromptBox, new F7SupplierTreeDetailListUI(), ui)); // 物料 bizPromptBox.setSelector(new GeneralKDPromptSelectorAdaptor(bizPromptBox, new F7MaterialTreeListUI(), ui)); // 职员 HashMap map = new HashMap(); map.put(PersonF7UI.ALL_ADMIN, \ bizPromptBox.setSelector(new PersonPromptBox(ui, map)); // 公司 CompanyF7 org = new CompanyF7(ui); org.setRootUnitID(\ bizPromptBox.setSelector(new CompanyF7(ui)); // 成本中心 bizPromptBox.setSelector(new CostCenterF7(ui)); // 行政组织 bizPromptBox.setSelector(new AdminF7(ui)); // 采购组织 bizPromptBox.setSelector(new PurchaseF7(ui)); // 库存组织 bizPromptBox.setSelector(new StorageF7(ui)); // 销售组织 bizPromptBox.setSelector(new SaleF7(ui)); // 利润中心组织 bizPromptBox.setSelector(new ProfitCenterF7(ui)); //刷新Query数据 CacheServiceFactory.getInstance().discardQuery(this.mainQueryPK); 4.26.5 设置选中根结点 treeMain.setSelectionRow(0); 4.26.6 类别新增与修改时,刷新当前选中结点 KDTreeNode treeNode = (KDTreeNode) treeMain .getLastSelectedPathComponent(); if (treeNode != null && treeNode.getParent() == null) { TreePath oldPath = treeMain.getSelectionPath(); treeBuilder.refreshTreeNode(treeMain , treeNode,this.getDefaultFilterForTree()); treeMain.setSelectionPath(oldPath); treeMain.expandPath(oldPath); } 4.26.7 修改类别时刷新当前结点的父结点,并定位到当前结 点 KDTreeNode treeNode = (KDTreeNode) treeMain.getLastSelectedPathComponent(); if (treeNode != null && treeNode.getParent() != null) { TreePath oldPath = treeMain.getSelectionPath(); TreePath parentPath = treeMain.getSelectionPath().getParentPath(); KDTreeNode parentNode = (KDTreeNode) treeNode.getParent(); treeBuilder.refreshTreeNode(treeMain , parentNode ,this.getDefaultFilterForTree()); treeMain.setSelectionPath(TreePathUtil.getNewTreePath(treeMain , treeMain.getModel() , oldPath)); } 4.27 手工发送消息 //以下是发送一个消息的核心片断,如果针对的是某组织批量发送,自己的需要取得组织的用户ID集合,然后构造receiver SenderAgent senderAgent = SenderAgent.getSenderAgent(); Message message; Locale[] lcla = getContextLocales(ctx);//获取ctx的语言信息列表 Locale locale = null; message = MessageFactory.newMessage(\生成一个消息对象 for (int j = 0, m = lcla.length; j < m; j++) { //此处循环进行多语言消息的设置 locale = lcla[j]; message.setLocaleStringHeader(\标题\设置消息标题 message.setLocaleStringHeader(\发送人\设置发送人,属于文本,不是ID message.setLocaleStringHeader(\\消息体内容\设置消息体内容,根据具体业务自己设定 } message.setIntHeader(\设置消息类型为通知 message.setIntHeader(\MsgBizType.WORKFLOW_VALUE);//业务类型设置为工作流 message.setIntHeader(\ALUE);//设置任务状态,此处是通知消息,所以设置空 message.setIntHeader(\MsgPriority.MIDDLE_VALUE);//设置消息优先级,自己根据需要设定相应的级别 message.setStringHeader(\得到数据中心 message.setStringHeader(\设置解决方案 message.setStringHeader(\ '4ff9eebb-0108-1000-e000-15acc0a813c813B7DE7F;4ff9eebb-0108-1000-e000-1db0c0a813c813B7DE7F'); //设置接收者,后面那参数是用户ID,多个ID可用分号\分割 senderAgent.sendMessage(message); //发送消息 /** * 获取ctx的语言信息列表 * * @param ctx * @return */ public static Locale[] getContextLocales(Context ctx) { Locale[] locales = null; SolutionInfo solu = MetaDataLoaderFactory.getLocalMetaDataLoader(ctx) .getSolution(); if (solu != null) { LanguageCollection langs = solu.getLanguages(); if (langs != null) { locales = new Locale[langs.size()]; for (int i = 0; i < langs.size(); i++) { locales[i] = langs.get(i).getLocale(); } } } return locales; } <完>
正在阅读:
EAS BOS开发客户端端常用代码03-08
湖北省武汉市中考数学试题及答案word版01-11
财务会计基础部分考试题11-22
春天的景色作文150字02-05
2018年最新《课程与教学论》试题及答案03-14
装配作业指导书09-22
浙科版第一章植物激素调节章末考题09-16
裸婚时代求婚语录02-06
- 计算机试题
- 【2012天津卷高考满分作文】鱼心人不知
- 教育心理学历年真题及答案--浙江教师资格考试
- 20180327-第六届“中金所杯”全国大学生金融知识大赛参考题库
- 洪林兴达煤矿2018年度水情水害预测预报
- 基本要道讲义
- 机电设备安装试运行异常现象分析与对策
- 《有机化学》复习资料-李月明
- 非常可乐非常MC2--非常可乐广告策划提案 - 图文
- 2011中考数学真题解析4 - 科学记数法(含答案)
- 企业人力资源管理师三级07- 09年真题及答案
- 基于单片机的光控自动窗帘控制系统设计说明书1 - 图文
- 20160802神华九江输煤皮带机安装方案001
- (共53套)新人教版一生物必修2(全册)教案汇总 word打印版
- 2014行政管理学总复习
- 中国银监会关于加强地方政府融资平台贷款风险监管的指导意见
- 民宿酒店核心竞争与研究
- 游园活动谜语大全2012
- 河南省天一大联考2016届高三英语5月阶段性测试试题(六)(A卷)
- 小型超市管理系统毕业论文详细设计4
- 端端
- 常用
- 客户
- 代码
- 开发
- EAS
- BOS
- 2015年新华会计网继续教育习题及答案
- 迎新生心得体会
- 艾滋病教案
- 堤防加固施工组织设计
- 算法设计与分析试卷(2010)
- 浙江大学2009-2010学年本科生奖学金及荣誉称号获奖者名单
- 湘政发(2011)27号 湖南省人民政府关于印发湖南省水利建设基金筹
- 临床实验室管理练习题
- 学生干部工作鉴定表- A4(2016标准范例)
- 《经济学基础》各章习题
- 《建筑制图与识图》教案
- 吉林省长春市东北师大附中2016届九年级(上)期末数学试卷(解析
- 建设项目环境影响评价报告表-无锡高新区
- 佳一数学二年级练习题
- “僵尸肉”流向中国市场
- 杭州联通高铁WCDMA网络基于Nastar平台深度分析与持续性优化报告v
- 简单的旋转作图_说课稿
- XX大学生入党申请书1500字范文
- MIMO技术百科
- 《司马迁发愤写史记》教学设计和反思