1

SalesforceCaseオブジェクトとそのオブジェクトをプルするプログラムがCaseCommentありSolutionます。また、結果を減らすことができるフィルターのセットもあります (キーワード、fromDate、toDate など)。私が抱えている問題は、そのケースの新しいコメントを編集または作成するときに、Salesforce 機能がケースLastModifiedDateもフィールドも更新しないことです。SystemModstamp

Cases、Comments、Solution を個別に取得し、Comments と Solutions から ParentId (CaseId) を抽出し、Case または Solution の最大 lastModifiedDate を使用してこれらの CaseID を手動で変更し、その後すべての Case をマージする最も簡単なソリューションです。しかし、このプロセスは少し日常的であるため、Salesforce 側とクライアント側の両方で別のソリューションを探しています。

4

2 に答える 2

4

トリガーの使用を避けたい場合は、ワークフローを使用して「タッチ」を行うことができます。Spring '12 リリース以降、salesforce.com クロスオブジェクト ワークフローがサポートされています。そのため、親ケースの項目を更新するワークフロー ルールをケース コメントに作成できます。この感動的なプロセス専用のカスタム フィールドを作成するか、他のフィールドを再利用することができます。

たとえば、Case Description フィールドを touched フィールドとして使用するには、次のようにします。

  1. ケースコメントオブジェクトに対して新しいワークフロールールを作成し、レコードが作成または編集されるたびに起動します。
  2. 作成日が null 以外の場合のワークフロー ルールの条件を指定します。
  3. フィールド更新用の新しいワークフロー アクションを作成します。
  4. オブジェクトがケースであり、フィールドの説明であることを指定します
  5. 式に、Parent.Description を値として入力します。これにより、ケースの説明が独自の値に設定されます。事実上、レコードに変更を加えません。

LastModifiedDateAPI を介したまたはの変更に関してはSysetemModstamp、これが進行中のインターフェイスの一部として実行できるかどうかわかりません。Salesforce では、API を介してこれらの監査フィールドを更新できますが、機能を有効にするにはそれらに連絡する必要があります。

salesforce のオンライン ドキュメントでは、監査フィールドについて詳しく説明しています。それは言います:

データを Salesforce にインポートし、監査フィールドの値を設定する必要がある場合は、salesforce.com にお問い合わせください。salesforce.com が組織でこの機能を有効にすると、Account、CampaignMember、Case、CaseComment、Contact、FeedComment、FeedItem、Idea、IdeaComment、Lead、Opportunity、および Vote のオブジェクトの監査項目値を設定できます。値を設定できない唯一の監査フィールドは、systemModstamp です。

于 2012-05-21T20:50:03.700 に答える
3

私が考えることができる最も簡単な方法は、CaseComment が作成または編集されるたびに Case レコードを「タッチ」する (データを変更せずに更新する) ことです。これは、CaseComment のトリガーで実現できます。

trigger CaseCommentAIAU on CaseComment (after insert, after update) {
    Set<Id> caseIds = new Set<Id>();
    for ( CaseComment cc : Trigger.new ) {
        caseIds.add(cc.ParentId);
    }
    Case[] caseUpdates = [select id from Case where Id in :caseIds];
    update caseUpdates;
}
于 2012-05-21T16:43:43.303 に答える