标签:
简介
业务单元A中用到业务单元B中的数据,即在业务单元A中建立一个[数据来源]-[基础资料类别]的F7字段,基础资料为业务单元B的名称,显示字段为名称。
在业务单元A的[业务单元EditUI]中(一般是在JAVA透视图-com.kingdee.eas.custom.业务单元A.basedata.client中)的onLoad方法(代码中任意地方右键-源代码-覆盖/实现方法,上右图)中添加如下代码:
第一种
// 商户的销售市场控件设置查询信息 String queryInfoStr = "com.kingdee.eas.custom.业务单元A.basedata.app.业务单元BQuery"; this.prmt业务单元B.setQueryInfo(queryInfoStr); EntityViewInfo evi = new EntityViewInfo(); // 实体视图信息 FilterInfo fi = new FilterInfo();// 过滤信息 FilterItemCollection fc = fi.getFilterItems();// 过滤信息组信息 // 过滤信息项信息(作废状态为普通的值1) FilterItemInfo fii1 = new FilterItemInfo("DeletedStatus", DeletedStatusEnum.NORMAL_VALUE); fc.add(fii1); // 过滤信息项信息(公司组织单位的ID包含为控件取来的值) // 通过控件取公司组织单位对象 CompanyOrgUnitInfo companyInfo = (CompanyOrgUnitInfo)this.prmtFICompany.getValue(); FilterItemInfo fii2 = new FilterItemInfo("FICOMPANY.ID", companyInfo.getId().toString(), CompareType.INCLUDE); fc.add(fii2); // 实体视图信息设置 evi.setFilter(fi); // 商户的销售市场控件上设置新的实体视图信息 this.prmtSellMarket.setEntityViewInfo(evi); this.prmtSellMarket.getQueryAgent().resetRuntimeEntityView();// 重新加载
第二种
CompanyOrgUnitInfo companyInfo = (CompanyOrgUnitInfo)this.prmtFICompany.getValue(); UtilClass.setF7(this.prmt业务单元B, " DeletedStatus = " + DeletedStatusEnum.NORMAL_VALUE + " AND FICOMPANY.ID IN (‘" + companyInfo.getId().toString() + "‘)", "com.kingdee.eas.custom.butcher.basedata.app.业务单元BQuery", "$number$", "$name$", "$number$");
/** * 设置F7 * * @param F7Name F7名称 * @param ConditionSQL 过滤条件SQL(如果输入值不等于"",则添加条件) 例 " fbilltypestatr = ‘1‘ and (entrys.id is null or entrys.seq = 1)" * @param Query 属性 例:"com.kingdee.eas.cmt.basedata.app.OperatorOrgQuery" * @param EditFrmat 属性 例:"$number$" * @param DisplayFormat 属性 例:"$name$" * @param CommitFormat 属性 例:"$number$" * @throws BOSException */ public static void setF7(KDBizPromptBox F7Name, String ConditionSQL, String Query, String EditFrmat, String DisplayFormat, String CommitFormat) { // 添加分录过滤条件 try { EntityViewInfo view = new EntityViewInfo(); if (ConditionSQL != "") { view.setFilter(ConditionSQL); } // 设置F7属性 F7Name.setQueryInfo(Query);// 关联Query F7Name.setEditFormat(EditFrmat);// 编辑样式 F7Name.setDisplayFormat(DisplayFormat);// 展现样式 F7Name.setCommitFormat(CommitFormat);// 提交样式 F7Name.setEntityViewInfo(view); F7Name.setEnabledMultiSelection(false); } catch (Exception e) { alert2("F7[" + F7Name + "]初始化出错,请联系管理员!", e.getMessage()); } }
这时候我在业务单元A中打开对应业务单元B中选项时,会根据条件筛选信息(即执行一次SQL查询后的结果)。
我这个是在业务单元A中选业务单元B中的值时,会踢出业务单元B中已经作废的条目。
标签:
原文地址:http://www.cnblogs.com/williamlyf/p/4266781.html