金蝶EAS_BOS工作笔记 下载本文

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(); 100.界面之间传递参数

1. 收集父界面要传递给子界面的参数集

HashMap map = new HashMap();

map.put(\必须。被启动UI的父UI对象 map.put(\

map.put(\ map.put(\

map.put(\ IUIFactory uiFactory = null; uiFactory ); //以模态对话框方式启动 IUIWindow uiWindow = uiFactory

create(\被启动对象的类名称 */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(\ }

101. 特别控件的初始化

=

UIFactory.createUIFactory\

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()); } } 方法一:

check.setSelectedIndex(1); //check 为下拉控件;

//setSelectedIndex(1) 是将下拉框选中第一个值

方法二:

check.setSelectedItem(ContractStateEnum.interim); //check 为下拉控件; // setSelectedItem(ContractStateEnum.interim) 是将下拉框选中值为interim枚举对象

2.使用值对象集合给ComboBox控件赋值 // 获取结算方式列表 IAsstActTypeDefault

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 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();

value

=

(AsstActTypeDefaultInfo)

iAsstActType

=

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); 102. /***关闭窗口*/

public boolean destroyWindow() { super.destoryWindow(); //做自己的一下销毁动作 } }

103. //如设置滚动条隐藏

this.getMainTable().setScrollStateVertical(KDTStyleConstants.SCROLL_STATE_HIDE);

104. 设置单元格的计算公式:

IRow row = null;

row = table.getRow(4);

row.getCell(5).setExpressions(\ row.getCell(6).setExpressions(\

104. listUI界面打开前进行过滤 在onLoad()调用 public void initFilter() {

String bcxyid = null;

if(EASRequest.attribute.get(\cxyid\

bcxyid = (String)EASRequest.attribute.get(\

EntityViewInfo evi = new EntityViewInfo();

FilterInfo filterInfo = new FilterInfo(); //建立过滤条件 filterInfo.getFilterItems().add(

new FilterItemInfo(\ CompareType.LIKE)); evi.setFilter(filterInfo);

if (mainQuery == null)

mainQuery = new EntityViewInfo(); mainQuery.setFilter(filterInfo); //添加过滤条件 this.execQuery(); }

105. 分录表格设置成单据F7,取值query中的值,解决长字符问题

KDTextField prmtBox = new KDTextField();

prmtBox.setEditable(true);

kdtE2.getColumn(\

String rowValue=null; String lwfbhtid=\

if(kdtE2.getRow(indexRow).getCell(\ { rowValue

kdtE2.getRow(indexRow).getCell(\ if(rowValue.length()>=33) { lwfbhtid=rowValue.substring(5,33);

kdtE2.getRow(indexRow).getCell(\

} }

106. 删除editdata 数据中分录行

SampleAuditEntryCollection saeColl = editData.getEntrys();

int size = saeColl.size(); for(int i = 0; i < size; i++) { saeColl.removeObject(0);

}

107. 关于组织f7集成问题

大家可通过以下方式进行集成 可不使用query方式集成组织f7 KDBizPromptBox promptDynQuery = new KDBizPromptBox(); promptDynQuery.setSelector(new AdminF7());

import com.kingdee.eas.basedata.org.client.f7.AdminF7; import com.kingdee.eas.basedata.org.client.f7.CompanyF7; import com.kingdee.eas.basedata.org.client.f7.CostCenterF7; import com.kingdee.eas.basedata.org.client.f7.CtrlF7; import com.kingdee.eas.basedata.org.client.f7.HROF7;

import com.kingdee.eas.basedata.org.client.f7.ProfitCenterF7;

=