protected boolean isIgnoreCUFilter() { return true; }
如何删除叙事簿上的列设置格式。
经常在开发过程中碰到对已发布的叙事簿(继承自ListUI)再进行加字段等操作后,部署上去发现新格式不能生效,重新设置默认格式也无效。此问题的原因是系统已经保存了旧的格式,二次开发后之前的设置无法修改,只能删除掉此ListUI之前的设置信息,具体方法如下:
一共涉及两张表:T_QUERY_QueryPanel和T_QUERY_QuerySolution,后者是主表,执行以下sql
delete T_QUERY_QueryPanel where fsolutionid in (select fid from T_QUERY_QuerySolution where FParentUIName='XXXUI');
delete from T_QUERY_QuerySolution where FParentUIName='XXXUI';
EntityViewInfo中FilterInfo如何设置包含多项的过滤?
EntityViewInfo常常用作bos中接口参数,来做查询用,其中包含了FilterInfo(过滤)、Selector(指定属性)以及Sorter(排序),我们会经常碰到过滤时,某个属性要像sql中的in的查询方式,FilterInfo提供了此功能,具体写法如下: 第一种是CompareType用Inner:
用inner方式时,值项要写成如下格式:
数值类型为:(1,2,3),字符串类型为\"'1','2','3'\" 第二种是CompareType用Include:
用Include方式时,值项要写成如下格式:
Set 类型,即建立一个Set对象,将值一个一个加入。
注意:FilterInfo在做like的过滤时,值项的两端要类似于sql加上\"%\"方可正确过滤。
打开ListUI时先弹出过滤框
覆盖ListUI的方法initDefaultFilter(),返回true。代码如下: protected boolean initDefaultFilter() {
return true; }
新建用户界面继承ListUI使用KDTable报错
新建用户界面XXlistUI,在bos启动客户端进行调试时,进入业务单据界面时,跳出很抱歉,系统不能正常执行操作任务,请选择重新登录或退出系统的错误提示。
下面是客户端报错提示错误信息:com.kingdee.bos.BOSException: Can\"t found propertyUnit: [CU] in [com.kingdee.eas.base.message.app.BMCMessage]!, query : com.kingdee.eas.base.message.MsgQuery, view : WHERE (CU.id = \"Q1nBg08PT/KJqhBLZWuu4sznrtQ=\" OR CU.id =
\"11111111-1111-1111-1111-111111111111CCE7AED4\" OR CU.id =
\"00000000-0000-0000-0000-000000000000CCE7AED4\") ORDER BY id ASC错误详细堆栈信息:java.lang.RuntimeException: com.kingdee.bos.BOSException: Can\"t found propertyUnit: [CU] in [com.kingdee.eas.base.message.app.BMCMessage]!, query : com.kingdee.eas.base.message.MsgQuery, view : WHERE (CU.id = \"Q1nBg08PT/KJqhBLZWuu4sznrtQ=\" OR CU.id =
\"11111111-1111-1111-1111-111111111111CCE7AED4\" OR CU.id = \"00000000-0000-0000-0000-000000000000CCE7AED4\") ORDER BY id ASC 解决办法:
检查抽象类的这个方法 /**
* output jbInit method */
private void jbInit() throws Exception {
this.resHelper = new
ResourceBundleHelper(AbstractProblemHandleNewEditUI.class.getName()); this.setUITitle(resHelper.getString(\"this.title\"));
mainQueryPK = new MetaDataPK(\"com.kingdee.eas.base.message\\"MsgQuery\");
// CoreUI
this.tblMain.setFormatXml(resHelper.getString(\"tblMain.formatXml\"));
this.tblMain.putBindContents(\"mainQuery\String[] {\"\
//如果不行的,这里就多了一句
this.tblMain.putBindContents(\"BMCMessage\ //Register control's property binding registerBindings(); registerUIState(); }
切换到元数据编辑界面ListUI,把新建的ListUI界面,默认的column1,cell1删除掉,点保存,然后重新添加column和cell,尽可能不要起column1和cell1默认名称,更改一下名字。然后发布一下,刷新代码,看看那句红色的是否还存在。如果没有应该就没有问题了
因篇幅问题不能全部显示,请点此查看更多更全内容