2017-10-25 5 views
0

私はCRMが新しく、カスタムアクティビティを作成しました。アクティビティはグローバルであり、エンティティにバインドされていません。CRMカスタムアクティビティでRecordIdとOwnerIdを取得する

活性は、CRMのフォーム(エンティティ)上に配置されたボタンによってトリガされます。

今私は文脈でレコードIDとレコードのOwnerIdにを取得する必要があります。クライアント側で

これは簡単でも、プラグインです。しかし、私は今までカスタムアクティビティでこれらのGUIDを取得する方法を理解することができませんでした。

EDIT:

IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>(); 
Guid recordId = context.PrimaryEntityId; 

は多分これが私のCodeActivityがあることに起因している「.... 000-00-000-000」私はこれを試してみたが、GUIDは常に グローバルで、私は "PrimaryEntity"を持っていませんか?

本当にありがとうございます!

答えて

0

あなたの行動は、あなたが任意の「コンテキスト」情報を持っていますので、それは、任意のエンティティにバインドされていない、定義により、グローバルである場合 - あなたもCRMの外からこのアクションを呼び出すことができ、システムは任意の内部情報を渡しませんあなたが現在いるフォームに基づいています。

あなたの世界的なアクションは、いくつかの入力パラメータを有するべきであり、アクションの呼び出し中に(私が正しく理解されるように、JavaScriptから)あなたはそれらを渡す必要があります。これは、エンティティID、エンティティタイプ、その他必要なものにすることができます。次に、カスタムアクティビティの入力パラメータを使用して、カスタムワークフローアクティビティ内にそれらを渡す必要があります。または、このアクションをバウンドアクションとして再作成することもできます(ただし、アクションを呼び出すときにバインドされたエンティティを渡す必要があります)。

+0

こんにちはPawel ありがとうあなたのフィードバック。はい、それは絶対に意味があります。 私はプロジェクトのリーダーと話をする必要があります。これらの情報はコードアクティビティに渡す必要があります(彼らはアクティビティ自体にこれを持っていたがっていました)。上記のコードは、エンティティにバインドされている場合にのみ機能します。 について サンドロ –

関連する問題