1

私はCRMの初心者です。 CRMのプロセスを自動化しようとしています。しかし、CRMエンティティの行の値を常にチェックして、いくつかのポスト操作を実行する方法を確認することはできません。CRMエンティティの値を常にチェックしていくつかのアクションを実行するにはどうすればいいですか?

たとえば、CRMエンティティの「アカウント」があり、アカウントエンティティのすべてのレコードの有効期限を確認する方法と、日付が過去または今日の日付である場合は「有効期限」というフィールドがあるとします条件を満たすレコードの「アカウント」フィールドのステータスを無効に変更します。どんな洞察も役に立つでしょう。 CRMプラグインを使用してこれを行う方法はありますか?はいの場合、有効期限のアカウントエンティティのすべての行をチェックする方法。

ご協力いただければ幸いです。

ありがとうございます。

答えて

3

あなたは可能性があり、セットアップ、このトリガするワークフロー:あなたはまた、中にセットアップに独自のスケジューラを一括削除処理を使用することができますAzure Service Bus Topic subscribe from CRM plugin

:あなたはまた、アズールまたはWindowsマシンからのスケジュールされたタスクを実行することができSet custom Workflow to run daily in CRM 2013

をCRM:http://www.crmsoftwareblog.com/2012/08/using-the-bulk-deletion-process-to-schedule-recurring-workflows/

0

カスタムワークフローアクティビティステップを実行し、24時間タイムアウトするオンデマンドワークフローを作成できます。 24時間が経過すると、ワークフローは子ワークフローとして呼び出すことができます(毎日カスタムステップを実行します)。

カスタムワークフローアクティビティは、次のようになります

var query = new QueryExpression { EntityName = "account", ColumnSet = new ColumnSet(false) }; 

query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0); 
query.Criteria.AddCondition("expiryDate", ConditionOperator.OnOrBefore, DateTime.Now); 

var expiredAccounts = service.Retrieve(query); 

foreach (var account in expiredAccounts.Entities) { 
    var stateRequest = new SetStateRequest { 
     EntityMoniker = account.ToEntityReference(), 
     State = new OptionSetValue(1), 
     Status = new OptionSetValue(1) 
    }; 

    service.Execute(stateRequest); 
} 

はまた、アカウントの作成時に実行されるワークフローを作成することができます。ワークフローは、アカウントの有効期限まで待ってからアカウントを無効にします。このオプションは簡単ですが、CRMアプリケーションの非同期サービスに対するパフォーマンスオーバーヘッドが大きくなります。

関連する問題