KnowledgeArticleVersion
- 複数の記事のタイプの一般的なクエリまたは検索を行う。
- 特定のバージョンで絞り込む。
- ドラフトバージョンの更新可能な標準項目を更新する。
Knowledge__kav は、このオブジェクトから派生します。
サポートされているコール
describeLayout()、describeSObjects()、query()、retrieve()、search()
特別なアクセスルール
組織でナレッジが有効になっている必要があります。ユーザの「記事の参照」権限が有効化されている必要があります。Salesforce ナレッジユーザには、カスタマーユーザやパートナーユーザと異なり、ナレッジユーザ機能ライセンスが付与されている必要があります。
項目
使用方法
このオブジェクトを使用して、バージョンに応じてすべてのタイプの記事から記事をクエリ、取得、または検索します。ドラフトマスター記事を更新できます。また、ドラフトでない記事を削除できます。クライアントアプリケーションは、describeDataCategoryGroups() および describeDataCategoryGroupStructures() と共に KnowledgeArticleVersion を使用して、Salesforce ナレッジに関連するカテゴリグループとカテゴリ構造を返すことができます。
記事のバージョンに関係なく記事にアクセスするには、KnowledgeArticle オブジェクトを使用します。
Lightning Knowledge では、記事のタイプは具象派生オブジェクト (Knowledge__kav など) の RecordType 項目によって決定されます。Salesforce Classic のナレッジの場合、記事のタイプは ArticleType 項目によって決定されます。さらに、具象派生オブジェクトでは、記事タイプ名に接頭辞が使用されます (たとえば、FAQ 記事タイプの場合は FAQ__kav)。
SOQL の例
1SELECT Title, Summary
2FROM KnowledgeArticleVersion
3WHERE PublishStatus='Online'
4AND Language = 'en_US'
5WITH DATA CATEGORY Geography__c ABOVE_OR_BELOW europe__c AND Product__c BELOW All__c1SELECT Id, Title
2FROM Knowledge__kav
3WHERE PublishStatus='Draft'
4AND Language = 'en_US'
5AND RecordTypeId = '<specify RecordTypeId for Offer here>'
6WITH DATA CATEGORY Geography__c AT (france__c,usa__c) AND Product__c ABOVE dsl__c1SELECT Id, Title
2FROM Offer__kav
3WHERE PublishStatus='Draft'
4AND Language = 'en_US'
5WITH DATA CATEGORY Geography__c AT (france__c,usa__c) AND Product__c ABOVE dsl__c1SELECT Id
2FROM KnowledgeArticleVersion
3WHERE PublishStatus='Archived'
4AND IsLatestVersion=false
5AND KnowledgeArticleId='kA1D00000001PQ6KAM'KnowledgeArticleVersion での SOQL および SOSL
- 最良の結果を得るには、PublishStatus の 1 つの値で絞り込みます。各記事のすべてのバージョンを検索するには、PublishStatus フィルタを省略し、1 つ以上のプライマリキー ID で絞り込みます。特定の記事のすべてのアーカイブバージョンを取得するには、SOQL フィルタで IsLatestVersion を false に設定します。
- API バージョン 46.0 以前の場合、デフォルトでは、クエリの実行時に PublishStatus で絞り込まないと、公開記事が返されます。API バージョン 47.0 以降の場合、Lightning Knowledge が有効のときは、ドラフト記事、公開記事、およびアーカイブ済み記事が返されます。
- セキュリティをサポートするために、PublishStatus 値が Draft の記事は「ドラフト記事の表示」権限を持つユーザにのみ表示されます。同様に、PublishStatus 値が Archived の記事は「アーカイブ済み記事の表示」権限を持つユーザにのみ表示されます。
- アーカイブ済み記事のバージョンは、Knowledge__kav オブジェクトに保存されます。アーカイブ済み記事のバージョンを照会するには、記事の Id を指定し、IsLatestVersion='0' を設定します。
- KnowledgeArticleVersion オブジェクトでは、Apex SOQL ステートメントでバインド変数を使用できません。たとえば、次の SOQL ステートメントでは、コンパイルエラーが発生します。
1final String PUBLISH_STATUS_ONLINE = 'Online'; 2List<Knowledge__kav> articles = [ 3SELECT Id FROM Knowledge__kav 4WHERE PublishStatus = :PUBLISH_STATUS_ONLINE 5];代わりに、次の動的 SOQL を使用します。『Apex 開発者ガイド』の「動的 SOQL」を参照してください。
1final String PUBLISH_STATUS_ONLINE = 'Online'; 2final String q = 'SELECT Id, PublishStatus FROM Knowledge__kav 3WHERE PublishStatus = :PUBLISH_STATUS_ONLINE'; 4List<Knowledge__kav> articles = Database.query(q);
KnowledgeArticleVersion での SOQL および SOSL のその他の使用方法
KnowledgeArticle と KnowledgeArticleVersion で migrated_to_from_id を sObject API に公開するには、KnowledgeArticleVersion の MigratedToFromArticleVersion を公開します。
- SOQL では、次の点に留意してください。
- MigratedToFromArticleVersion で絞り込むには、その他の検索条件を削除します。
- MigratedToFromArticleVersion で絞り込む場合、「=」または「IN」演算子を使用します。
- MigratedToFromArticleVersion で絞り込む場合、値を null または空にすることはできません。
- SOSL では MigratedToFromArticleVersion はサポートされません。
関連付けられたオブジェクト
このオブジェクトには次の関連するオブジェクトがあります。特に記載がない限り、これらはこのオブジェクトと同じ API バージョンで使用できます。
- KnowledgeArticleVersionHistory
- オブジェクトの追跡項目について履歴を利用できます。