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”); }]
});