金蝶EAS - BOS工作笔记 下载本文

SorterItemInfo siInfo= siColl.get(0); //第一个需要排序的字段 siInfo.setSortType(SortType.ASCEND); //需要排序的字段升序 evi.setFilter(filterInfo); 33.设置默认第一行被选中:

protected void selectFirstRow() {

if(!isSelectForTable()&&tblPaymentBill.getRow(0)!=null&& tblMain.getRow(0) != null) {

tblPaymentBill.getSelectManager().select(0, 0); tblMain.getSelectManager().select(0, 0); } }

34. 慎重使用---在循环里去比较数值,这种情况尽量用过滤 35. 发布后,找不到代码,检查下发布路径

36. 用代码生成ID:BOSUuid.create(menuItemInfo.getBOSType()) 37. BigDecimal的加,减,乘,除

加:addPayment = addPayment.add(paymentInfo.getLocalAmt()); 减:addPayment = addPayment. subtract(paymentInfo.getLocalAmt()); 乘:addPayment = addPayment. multiply(paymentInfo.getLocalAmt()); 除:addPayment = addPayment. divide(paymentInfo.getLocalAmt(),int); BigDecimal数据取整数:intValue(); BigDecimal数据比较,取大数据:max(); 38. BigDecimal的初始化:

BigDecimal addPayment = new BigDecimal(String.valueOf(0.00)); 39. 在子界面获取传递下来的数据

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(\}

40.初始化按钮属性(图标,标题,可见): 重写方法initWorkButton() {

super.initWorkButton();

actionCashflow.setEnabled(true); btnRemove.setEnabled(true); setButtonDefaultStyl(btnQuery);

btnQuery.setIcon(EASResource.getIcon(\ setButtonDefaultStyl(btnAttachment);

btnSubmit.setIcon(EASResource.getIcon(\ setButtonDefaultStyl(btnSubmit); }

41.隐藏列:

tblMain.getColumn(\

42.冻结表:

tblMain.getStyleAttributes().setLocked(true);

43. tblMain.getDataRequestManager().setDataRequestMode(1); tblMain.getSelectManager().setSelectMode(10);、 44.对界面输入的字段进行校验:

调用方法:verifyInput(ActionEvent e){ }

对界面分录输入的字段进行校验:

for (int i = 0, size = this.kdtEntrys.getRowCount(); i < size; i++) {

}

45.得到当前用户id

userId = ((UserInfo)SysContext.getSysContext().getCurrentUser()).getId().toString();

46. /**校验表格是否被选中行**/ public void isSelectRow(KDTable table) {

if(table.getRowCount() == 0 || table.getSelectManager().size() == 0) {

MsgBox.showWarning(this,EASResource.getString(\

.FrameWorkResource.Msg_MustSelected\

SysUtil.abort(); } }

47. 模块菜单图标——imgm* 按钮图标——imgTbtn* 49. KDLabel kDStartupImage;设置图片

javax.swing.Icon bg = EASResource.getIcon(\

kDStartupImage.setIcon(bg);

50.一般控件放在Panel里就可以了,向导式数据录入,可以通过控制Panel的显示达到 51. 在表格的某列放置一个checkbox:

iRow.getCell(\51. 窗口关闭:getUIWindow().close();

VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i,

\

VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, \VerifyInputUtil.verifyNull(this, txttitle, \主题\判断是否为空 if (finAuditorMap == null || finAuditorMap.size() == 0) { }

MsgBox.showError(this, \请选择至少一位财务审批人!\SysUtil.abort();

52. 获取当前活动的行的行号:

int currRow = tblMain.getSelectManager().getActiveRowIndex(); 53. 新增分绿的图标:imgTbtn_addline,删除分录的图标:imgTbtn_deleteline 54. 删除行(包括多行删除):

int activeIndex[] = KDTableUtil.getSelectedRows(kDTable1); if(activeIndex.length > 0) {

for(int i = activeIndex.length; i > 0; i--) kDTable1.removeRow(activeIndex[i - 1]); } else {

int lastRowIndex = kDTable1.getRowCount() - 1; kDTable1.removeRow(lastRowIndex); }

55. 表格列设置成F7弹出可选模式:

KDBizPromptBox prmtBox = new KDBizPromptBox();

prmtBox.setQueryInfo(\ prmtBox.setDisplayFormat(\ prmtBox.setEditFormat(\ prmtBox.setCommitFormat(\

EntityViewInfo contractEVInfo = new EntityViewInfo();

FilterInfo contractFilter = new FilterInfo(); contractFilter.getFilterItems().add(new contractEVInfo.setFilter(contractFilter);

FilterItemInfo(\

prmtBox.setEntityViewInfo(contractEVInfo);

kDTable1.getColumn(\

56. 表格列设置成下拉可选模式:

KDComboBox combox = new KDComboBox();

combox.addItem(iter.next()));

kDTable1.getColumn(\KDTDefaultCellEditor(combox));

57.弹出模式:1. 弹出一个新界面:UIFactoryName.Model

2. 弹出一个页签界面:UIFactoryName.NEWTAB

3. 弹出一个页签界面关闭上一个界面:UIFactoryName.FixTAB 58. 如何指定选择模式

table.getSelectManager().setSelectMode(KDTSelectManager.CELL_SELECT); 59. 获取所选中的行数:

Int selectCount = tblMain.getSelectManager().size(); 60. 获取所选中的多行的各行的行号:

int[] selectRows = KDTableUtil.getSelectedRows(tblMain); 61. 获取树节点对象

selectedPathObject = getSelectedTreeNode().getUserObjectPath(); 62. 新增需要查询的属性

for(Iteratoriter = ValueTypeEnum.iterator();iter.hasNext();

SelectorItemCollection sic = new SelectorItemCollection(); sic.add(new SelectorItemInfo(\ sic.add(new SelectorItemInfo(\

sic.add(new SelectorItemInfo(\ sic = evi.getSelector(); 62. portal

1.设置可信站点 2. 下载kdjdk1.6 3. 下载kdtool.cad

4.设置自定义级别 5. Internet选项 ——常规——设置——查看对象 中删除kingdee文件

63. 多值过滤,通过集合set HashSet set = new HashSet(); OrgStructureInfo company; for(Iterator

iter

=

list.iterator();

iter.hasNext();

set.add(company.getUnit().getId().toString())) company = (OrgStructureInfo)iter.next(); if(set.size() > 0)

filter.getFilterItems().add(new 64. 工作流

5.4 5.3版本的BOS工具在EAS安装了一些补丁之后,出现工作流不能连接,提示服务器无法连接,服务器不能启动的原因与EAS服务器所使用的BOS .jar包和BOS设计工具中使用的 .jar包不一致有关系 可以使用下面的步骤来手工同步

把eas服务器安装路径下的几个jar包复制到bos工具安装目录的对应的几个文件下面 例如

eas服务器安装在 f:\\kingdee bos工具安装在 d:\\easbos\\

从 F:\\Kingdee\\eas\\server\\lib\\common\\bos

复制common.jar metadata.jar ormrpc.jar workflowcommon.jar bosframework.jar 到 D:\\EASBOS\\eas\\bos\\BOSModular\\boscommon\\eclipse\\plugins 注意在bos里面这几个文件都有单独的文件夹来存放 如

com.kingdee.bos.common_5.4.0,com.kingdee.bos.ormrpc_5.4.0,.... 不能只把几个jar文件都复制到bos工具的plugin文件夹 需要逐个文件替换 具体如下

F:\\Kingdee\\eas\\server\\lib\\common\\bos\\ormrpc.jar 替换

D:\\EASBOS\\eas\\bos\\BOSModular\\boscommon\\eclipse\\plugins\\com.kingdee.bos.ormrpc_5.4.0\\ormrpc.jar

其他依此类推共3个文件 (workflowcommon.jar 的位置在

D:\\EASBOS\\eas\\bos\\BOSModular\\wfdesigner\\eclipse\\plugins\\com.kingdee.bos.workflowcommon_5.4.0

bosframework.jar的位置在

FilterItemInfo(\

set,

CompareType.INCLUDE));