本机调试后台任务报nc.vo.pub.BusinessException cannot instiate plugin错误

博主在调试后台任务时遇到nc.vo.pub.BusinessException,通过在测试服务器打补丁并修正SQL错误解决了该问题。然而,补丁后本机调试时出现任务无法执行的状况,怀疑与home配置有关,目前问题尚未解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                  本机调试后台任务报nc.vo.pub.BusinessException cannot instiate plugin错误

一、报错信息

请添加图片描述

二、解决方法

        哈哈哈,我是直接去测试服务器打了补丁,然后在测试服务上测试,虽然麻烦,不过,导致这个错误变成了另外的错误。
        修改后可以发现后台任务报了sql的错误,是我写错了。
请添加图片描述
        修改后重新上补丁,没有任何问题,一切OK
请添加图片描述

三、解决后出现问题

        打完补丁后,我在重新在本机调试,发现出现了特殊情况,我在后台任务部署那里执行任务,任务在队列中,但是没有执行,没有报错,反而卡在这里,我估计是我的home有问题,目前还没解决,下次解决了再贴出来。
请添加图片描述

<think>好的,我现在需要帮助用户解决用友NC凭证保存时出现的nc.vo.pub.BusinessException: 不正确的用户类型的问题。首先,我需要了解用户的问题背景。用户在使用用友NC进行凭证保存时,系统抛出了业务异常,提示“不正确的用户类型”。这可能涉及到用户权限、配置或数据校验的问题。 根据提供的引用信息,特别是引用[1],nc.vo.pub.BusinessException属于应用级异常,通常由违反业务逻辑的操作引起。这类异常需要操作员处理,而不是在BO类中捕获。因此,用户需要检查与用户类型相关的业务逻辑是否正确。 接下来,我需要考虑可能的原因和解决方案: 1. **用户权限配置问题**:用户的角色或权限可能未正确配置,导致系统认为用户类型不符合要求。需要检查用户权限设置,特别是与凭证操作相关的权限。引用[1]提到这类异常应由操作员判断处理,所以可能需要管理员调整用户权限。 2. **用户类型与操作不匹配**:例如,某些操作可能仅限特定类型的用户(如财务人员)执行,而当前用户类型可能被系统识别为不符合。需要确认用户账户类型是否正确设置,是否有误分配的情况。 3. **自定义元数据或编码规则问题**:引用[2]和[3]提到自定义属性和编码规则可能导致异常。如果凭证保存涉及自定义字段或编码规则,可能因元数据配置错误或缺失触发异常。需要检查相关的自定义配置是否符合要求。 4. **数据校验逻辑错误**:系统可能在保存凭证时进行了用户类型的校验,而当前用户的数据不符合校验规则。需要检查后台的业务逻辑或数据库中的用户类型数据是否正确。 针对这些可能的原因,用户需要逐步排查。首先检查用户权限和类型配置,然后查看是否有自定义元数据的问题,最后验证数据是否符合业务规则。同时,参考引用[2]的解决方案,可能需要检查元数据配置或联系技术支持。 此外,用户可能需要查看日志文件中的详细堆栈信息,以确定异常的具体触发点,这有助于更精准地定位问题。如果问题依然存在,联系用友NC的技术支持会是必要的步骤,特别是涉及系统底层逻辑时。</think>针对用友NC凭证保存时出现$nc.vo.pub.BusinessException: \text{不正确的用户类型}$的异常,以下是分步解决方案: ### 一、问题定位 1. **确认异常触发场景** - 检查操作凭证保存的用户角色是否为**财务人员/会计主管**等允许制单的岗位 - 验证用户是否被分配到正确的**功能权限节点**(如GL206凭证保存)[^1] 2. **排查用户类型配置** ```sql -- 查询用户类型配置示例 SELECT user_code, user_type, rolecode FROM sm_user WHERE user_code='当前用户编码' ``` - 需确保`user_type`字段值与**权限模型**匹配(如0-超级用户/1-普通用户) ### 二、核心解决方案 1. **权限配置修正** 通过【系统管理】→【权限管理】→【功能权限分配】: - 检查是否授予了`GL206凭证处理`权限 - 确认权限分配对象是否为**人员/角色/岗位**的正确组合[^3] 2. **用户类型数据修复** 若数据库中存在异常数据: ```sql -- 示例:修正用户类型SQL(需根据实际表结构调整) UPDATE sm_user SET user_type=1 WHERE user_code='异常用户编码' ``` 3. **元数据校验** 通过【客户化配置】→【基本档案】→【人员档案】: - 检查用户是否关联了**业务单元/公司**等必要属性 - 验证人员编码规则是否包含非法字符(如中文符号) ### 三、深度排查方向 1. **检查凭证模板校验公式** 在【会计平台】→【凭证模板】中: - 确认`保存前校验公式`是否包含用户类型判断逻辑 - 示例公式检查点: ```text # 典型校验公式片段 if(getColValue(bd_user,user_type,userid)=="2",true,false) ``` 2. **跟踪服务端日志** 查看`nchome/log`目录下的`server.log`,定位异常堆栈: ``` [ERROR] 凭证保存服务校验异常: nc.vo.pub.CValidationException: 用户类型校验失败 at com.yonyou.gl.voucher.validate.UserTypeValidator.validate() ``` ### 四、特殊场景处理 1. **多账套环境** 若存在多账套,需检查: - 用户是否在目标账套的**权限容器**中被激活 - 用户类型是否与账套的**安全策略**匹配 2. **二次开发影响** 若系统存在自定义开发: - 检查是否重写了`VoucherSaveAction`类 - 确认自定义校验器是否添加了额外的用户类型判断
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头的阿光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值