5

.Net から CRM 2011 ワークフローを実行する必要があります。ExecuteWorkflowRequest メッセージを使用する CRM 2011 SDK の例を見てきました。この例はうまく機能しますが、サンプルは CRM ワークフロー アイテムも作成し、それを実行します。

既に存在するワークフロー アイテムを実行しようとしています。しかし、「ワークフローは公開済みの状態でなければなりません」というエラーが表示され続けます。ワークフローを有効にしましたが。

CRM 4.0 SDK で同じワークフロー アイテムを実行しようとしましたが、正常に実行されました。しかし、カスタム コード ワークフロー アクティビティからワークフロー アイテムを実行する必要があるため、システムの動作方法でこの SDK を使用することはできません。

前もって感謝します

4

3 に答える 3

15

作成されたワークフローごとに、CRM 2011 データベースに保存された 2 つのワークフロー エンティティがあります。ワークフロー エンティティには、「タイプ」というタイトルの属性があります。タイプ == 1 が公開されています。タイプ == 2 は下書きです。ワークフローのクエリを実行するときは、必ず where 句で Type 値を指定してください。

var workflow = context.CreateQuery("workflow").FirstOrDefault(w =>
w.GetAttributeValue<int>("type") == 1 &&
w.GetAttributeValue<string>("name") == workflowName &&
w.GetAttributeValue<bool>("ondemand") == true &&
w.GetAttributeValue<string>("primaryentity") == targetEntityName);

組織サービスへの接続方法の例については、 CRM 2011 SDKサンプル コードを参照してください。

于 2011-05-10T23:18:09.013 に答える
0

ワークフローを作成せずに、「ワークフローは公開済みの状態でなければなりません」というエラーが表示される場合は、「すべてのカスタマイズを公開」して、それが役立つかどうかを確認しましたか?

これを行うには、[設定] -> [ソリューション] -> [すべてのカスタマイズを公開] をクリックします。

于 2011-04-21T00:02:01.987 に答える