错误:编译错误:不支持 sObject 类型"知识文章版本"。



我在一个看起来不再存在的对象上得到一个错误。当试图将不相关的Apex触发器部署到生产中时,由于这个错误,它不会让我使用。有人看到这个吗?你有什么建议吗?

代码

public with sharing class KnowledgeArticleViewerController {
    public KnowledgeArticleVersion article {get; set;}
    private Id articleId;
    public KnowledgeArticleViewerController(ApexPages.standardController stdController) {
        articleId = ApexPages.currentPage().getParameters().get('id');
        List<KnowledgeArticleVersion> articles = [SELECT Id,Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'Online'];
        ApexPages.addMessage( new ApexPages.Message(ApexPages.Severity.ERROR, 'Got article ids: ' + articles.get(0).Id 
         + ' ' + articles.get(1).Id + ' ' + articles.get(2).Id) );
        article = articles.get(0);
    }
}

结束代码

错误:编译错误:不支持对象类型"KnowledgeArticleVersion"。如果您试图使用自定义对象,请确保在实体名称后附加'__c'。请参考您的WSDL或描述调用以获取适当的名称。在第8行第44列

没有KnowledgeArticleVersion对象,这个代码是在我来到这里之前两年多实现的。

我也遇到过类似的问题(完全相同的错误),但这是针对运行Apex类的Bot。我会分享解决方案,以防其他人来这里处理同样的权限问题


您需要确保您的Bot(或应用程序)具有KnowledgeArticleVersion对象的权限。

设置权限集sfdc.chatbot.service.permset(如果是为您的应用程序更改此项)➡ 对象设置

然后:

  • 选择Knowledge

    KnowledgeArticleVersion对象在Knowledge下(对我来说是第一个选项。第二个Knowledge选项有0个总字段

  • 授予ReadView All权限

  • 保存
  • 请返回并重试

相关内容

最新更新