2018.7.3问题小结

1.在通过代码查询的过程中,突然出现了这么一个异常: com.kingdee.bos.dao.ormapping.SQLAccessException: select data error.ORA-00904: "T1"."FID": 标识符无效Caused exception message is: ORA-00904: "T1"."FID": 标识符无效
解决方案:首先以为是表中id的数据问题,于是检查了表中不符合bosuuid规范的id,但是还是出现这么一个问题;然后我又通过debug跟进代码,查看了内部执行查询的sql语句,发现了其中T1没有定义,所以才会报这个错误。最后才发现原来是元数据发布之后没有全局刷新代码导致的(我只是刷新了code,其实元数据等其他的代码文件都要刷新),重新发布、刷新代码、重启服务器,最好解决了这个问题。


那么在出现sql问题时,如何跟进代码查看到内部执行的sql呢?下面有两种方式:

通过query查询:断点跟进到 com.kingdee.bos.metadata.query.util.QuerySqlAccessBase中的getSql方法
通过业务对象的getCollection查询:断点跟进到 com.kingdee.bos.dao.ormapping.impl.EntityAccess中的getSql方法


2.web页面上提示弹出框的使用:
waf.msgBox.showConfirm({
title:”我的提示”,
summaryMsg:”您确认要执行此操作吗 ? ”,
detailMsg:”详细信息:只要参数中不设置detailMsg,详细按钮会自动消失。”,
buttonType:”ok - cancel”,
buttonCallBack:[
        function(){ //该函数为确认按钮的回调函数 alert(“OK”); } ,
        function(){ //该函数为取消按钮的回调函数 alert(“cancel”); }]
});

猜你喜欢

转载自blog.csdn.net/weixin_42386685/article/details/80907006