本文概述了多个系统升级和配置中遇到的问题及解决方法,包括单据审核报错、数据归档配置缺失、monitor报错、轻分析报错、组织信息获取问题、权限管控问题、接口入参问题、接口调用参数异常及数据库启动失败。解决方案涵盖了检查jar包更新、配置环境参数、补充缺失的类库、封装自定义对象、配置管控策略、调整接口入参方式、修改接口请求方式及数据库表处理等方面。
问题1:升级后,单据反审核和审核报错
问题描述:
升级后,单据反审核和审核突然提示mseryiceimseryice
kd.bos.workflow.facade.validate.InProcessvalidator mot find
解决思路:
1.升级没有把jar更新成功,可能是没重启mservice或者没有替换应用仓库。
2.两个数据中心,一个升级了,一个没升级,元数据和jar版本也不一致了
问题2:系统提示“请先开启数据归档配置”
问题描述:
启用清除调度计划列表提示“请先开启数据归档配置”
解决方法:
1、在社区找到下面这个帖子,但是说的不是很具体
https://developer.kingdee.com/article/344790275899953920?productLineId=29&isKnowledge=2
2、具体操作路径,在mc的启动参数,linux环境是setappevn里面,加配置。苍穹的开关就是环境公共配置项。
问题3:monitor打开报错
问题描述:
monitor打开报错:“请求出错 Request failed with status code 500”
解决方法
升级所有Cosmic开头的应用补丁(jar,静态资源,数据库)
问题4:打开轻分析报错
问题描述:
打开轻分析提示
21:37:43.776 [main] DEBUG org.eclipse.jetty.jndi.NamingContext - Looking up name="env/jmx/runtime" Exception in thread "Lifecycle-start-service-4" java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonNode at kd.bos.workflow.engine.impl.cfg.ProcessEngineConfigurationImpl.<init>(ProcessEngineConfigurationImpl.java:354) at kd.bos.workflow.engine.impl.cfg.multitenant.MultiSchemaMultiTenantProcessEngineConfiguration.<init>(MultiSchemaMultiTenantProcessEngineConfiguration.java:67) at kd.bos.workflow.engine.ProcessEngineConfiguration.createMultiTenantProcessEngineConfiguration(ProcessEngineConfiguration.java:163) at kd.bos.workflow.engine.ProcessEngines.buildProcessEngine(ProcessEngines.java:159) at kd.bos.workflow.engine.ProcessEngines.initProcessEngineFromDefault(ProcessEngines.java:138) at kd.bos.workflow.engine.ProcessEngines.init(ProcessEngines.java:93) at kd.bos.workflow.engine.ProcessEngines.init(ProcessEngines.java:81) at kd.bos.workflow.service.impl.WorkflowEngineService.start(WorkflowEngineService.java:38) at kd.bos.framework.lifecycle.LifecycleManager$2.run(LifecycleManager.java:100) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.JsonNode at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 10 more
解决方法:
本地缺少org.codehaus.jackson.JsonNode,加上后就可以了。
问题5:DE中无法获取当前切换后的组织
问题描述:
KDE中无法获取当前切换后的组织,JAVA类的RequestContext不能用,但使用 KRequestContext 这个只有获取用户ID的方法,使用 UserServiceHelper().getUserDefaultOrgID(userId) 只能获取到切换并默认的组织。
解决方法:
1、可以通过自己封装一个KSObject来解决,关键代码如下
问题6:权限管控的问题
问题描述
表单继承了“带组织基础资料”模板,用户授权已配置。但由于客户不大想用管控,所以就把表单界面、列表界面的管控相关插件禁用,但列表点击链接查看数据时还是会提示无查看权限。
解决方法
这个目前都是要控制加入配置策略的。就在管控策略加下对象,设置控制视图和全局共享策略即可
问题7:接口入参要使用多选基础资料属性,系统无法勾选
问题描述
API入参无法选中多选基础资料或单据体字段作为入参
解决方法
直接写自定义入参,在查询条件中匹配查询属性
问题8:调用接口提示输入参数异常,未获取到需要处理的数据
问题描述:
在调用接口时报错“输入参数异常,未获取到需要处理的数据”
解决方法:
接口请求方式的问题:GET换成POST
问题9:数据库启动失败
问题描述:
mc库上有一个表表t_log_app,目前我们开发环境启动数据库就执行这个脚本,导致数据库启动失败: INSERT INTO t_log_app (fbizobjid, fbizappid, forgid, fuserid, fmodifybillno, fmodifyfields, fmodifycontent_tag, fmodifycontent, fmodifybillid, forgname, fbizobjname, fbizappname, fusername, fclientnamee, fopnamee, fopdescriptione, fclienttype, farchivetime, fclientip, foptime, FId) VALUES (' ', '/SU/QOEFB9VL', 0, -1, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'web', 'DataSaveGetService', 'CustomApi', 'web', NULL, '10.0.0.252, 127.0.0.1', '2022-09-19 14:22:33.263000', '2QUWIOLWJD82')
解决方法:
删除表后重建就可以了,具体什么原因也没有排查出来
推荐阅读