You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PMD Salesforce代码分析器报自定义对象invalid type错误求助

Salesforce Code Analyzer无法识别自定义对象BC_Atenci_n__c的原因及解决办法

问题场景

我正尝试遵循Salesforce Code Analyzer规范重构触发器逻辑,把原触发器内的代码移到BC_ClaseCierraAtencion类中(触发器仅调用此类),类内的DML操作已避免循环执行。类代码如下:

public without sharing class BC_ClaseCierraAtencion {
    public static void cierra(List<BC_Atenci_n__c> atenciones){
        // do stuff...        
    }
}

该类功能完全正常,但Code Analyzer在List<BC_Atenci_n__c> atenciones参数处报错:Invalid type: BC_Atenci_n__c,无法识别这个自定义对象类型。

可能的原因及解决方法

  • 自定义对象API名称拼写或编码问题
    去Salesforce Setup里确认该自定义对象的API名称是否确实是BC_Atenci_n__c,注意API名称区分大小写,且特殊字符(比如ñ)可能因复制粘贴的编码问题导致工具识别失败。建议直接从Setup中复制API名称替换到代码里。

  • 扫描项目未包含对象元数据
    Code Analyzer需要依赖项目中的元数据文件识别自定义对象。如果本地项目没拉取BC_Atenci_n__c对应的元数据文件(比如objects/BC_Atenci_n__c.object-meta.xml),工具就认不出这个类型。确保本地项目同步了完整的Org元数据,或者扫描时指定包含该对象的元数据目录。

  • Code Analyzer版本或配置问题
    旧版本的Code Analyzer对特殊字符的支持可能有缺陷,先更新到最新版本试试。另外检查扫描配置文件(如sfdx-scanner-config.json),看是否有排除该对象的规则,或者是否开启了过度严格的类型检查导致误判。

  • 命名空间或环境不匹配
    如果该自定义对象属于某个命名空间,代码里需要加上命名空间前缀(比如命名空间__BC_Atenci_n__c)。同时确认运行Code Analyzer的环境(沙盒/生产)和对象所在Org一致,避免环境差异导致的识别失败。

内容的提问来源于stack exchange,提问作者user15586562

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 07:12:11