新建用户界面继承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",new String[] {"",""});

  //如果不行的,这里就多了一句

        this.tblMain.putBindContents("BMCMessage",new String[] {"id"});

  //Register control's property binding
  registerBindings();
  registerUIState();
    }

切换到元数据编辑界面ListUI,把新建的ListUI界面,默认的column1,cell1删除掉,点保存,然后重新添加column和cell,尽可能不要起column1和cell1默认名称,更改一下名字。然后发布一下,刷新代码,看看那句红色的是否还存在。如果没有应该就没有问题了

 

 

在BOS设计开发工具中新建了实体(继承了CoreBase),query,EditUI(绑定了实体),ListUI(绑定了query),发布生产java文件后,实现了为实现的方法,启动测试,点开ListUI后,报错。查了query里面的sql,并没有出现cu这个东西,并且也没有加任何的过滤条件。实在不明白这个CU.id是怎么来的,哪位高手遇到过,麻烦指点一下,谢谢!

错误信息:com.kingdee.bos.BOSException: Can't found propertyUnit: [CU] in [com.kingdee.eas.test0.app.Test]!,  query : com.kingdee.eas.test0.app.TestQuery,  view : WHERE (CU.id = '00000000-0000-0000-0000-000000000000CCE7AED4' OR CU.id = '11111111-1111-1111-1111-111111111111CCE7AED4' OR CU.id = '00000000-0000-0000-0000-000000000000CCE7AED4')
错误详细堆栈信息:java.lang.RuntimeException: com.kingdee.bos.BOSException: Can't found propertyUnit: [CU] in [com.kingdee.eas.test0.app.Test]!,  query : com.kingdee.eas.test0.app.TestQuery,  view : WHERE (CU.id = '00000000-0000-0000-0000-000000000000CCE7AED4' OR CU.id = '11111111-1111-1111-1111-111111111111CCE7AED4' OR CU.id = '00000000-0000-0000-0000-000000000000CCE7AED4')

        at: com.kingdee.eas.framework.client.ListUI.tblMain_doRequestRowSetForNoQueryPK(ListUI.java:2003)

        at: com.kingdee.eas.framework.client.ListUI.tblMain_doRequestRowSet(ListUI.java:2075)

        at: com.kingdee.eas.framework.client.AbstractListUI$2.doRequestRowSet(AbstractListUI.java:332)

        at: com.kingdee.bos.ctrl.kdf.data.impl.DataSetWrapperFactory.fireRequestRowSet(DataSetWrapperFactory.java:257)

        at: com.kingdee.bos.ctrl.kdf.data.impl.DataSetWrapperFactory.requestData(DataSetWrapperFactory.java:233)

        at: com.kingdee.bos.ctrl.kdf.table.KDTDataRequestManager.requestData(KDTDataRequestManager.java:517)

        at: com.kingdee.bos.ctrl.kdf.table.KDTDataRequestManager.doDataRequestReal(KDTDataRequestManager.java:435)

        at: com.kingdee.bos.ctrl.kdf.table.KDTDataRequestManager.doDataRequest2(KDTDataRequestManager.java:325)

        at: com.kingdee.bos.ctrl.kdf.table.KDTDataRequestManager.doDataRequest(KDTDataRequestManager.java:283)

解决方式:
listui默认会增加cu的过滤,重载isIgnoreCUFilter(),return true方法就可以了;


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值