科目分配提示成功,实际失败
## 分享一个科目分配提示成功,实际失败的场景和解决办法
**问题描述**:客户之前dep二开过科目,给科目增加字段;后面禁用了dep后,正常进行科目分配操作,提示分配成功,但实际并没有成功。
**问题分析**:遇到异常问题,首先收集查看apusic日志,通过查看日志发现分配确实产生了异常堆栈。
```xml
java.sql.SQLException: Missing IN or OUT parameter at index:: 76
```
![image.webp](/download/01005567ca9622ad46cdae20d516e1cd63b3.webp)
科目新增预编译Sql为静态变量,占位符还是dep启用时科目属性个数;禁用科目后,科目元数据属性个数发生变化,但缓存sql还没有变化,所以造成占位符不一致,sql执行报错。
**触发时机**:dep拓展了科目实体字段,启用并且分配过科目,产生缓存;禁用dep后,再次分配科目就会出现上述问题,并在apusic输出对应日志。
**修复方式**:
1、重启服务可以解决;
2、清空该元数据缓存;
```javascript
//查询分析器执行服务端脚本:
var clazz = java.lang.Class.forName("com.kingdee.eas.base.core.EntityAccess");
var field = clazz.getDeclaredField("insertSQL");
field.setAccessible(true);
field.get(clazz).clear();
```
科目分配提示成功,实际失败
## 分享一个科目分配提示成功,实际失败的场景和解决办法**问题描述**:客户之前dep二开过科目,给科目增加字段;后面禁用了dep后,正常进...
点击下载文档
本文2024-09-16 21:58:13发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-45094.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章