1

ユーザーからデータを取得するためのダイアログを作成しました。プラグインからユーザーの応答にアクセスしたい。プラグインでプロセス セッション エンティティを取得しましたが、メタデータしか添付されていないようです。

プラグイン内からユーザーの応答を取得するにはどうすればよいですか? CRMオンラインを使用していることに注意してください。

このリンクでは、オンプレミス バージョンで応答を取得する方法について説明します。それを正しく理解していれば、私はそれを使用できません。

この記事では、ダイアログからコメントにアクセスする方法を示しますが、実際の応答にはアクセスしません。

これが私がこれまでに行ったことです。次のコードは、次の出力につながります。

// we are in the plugin's execute method here
if (context.PostEntityImages.Contains("PostImage")
                        && context.PostEntityImages["PostImage"].Attributes.Contains("comments"))
                    {
                        var postImage = (Entity)context.PostEntityImages["PostImage"];
                        if (postImage.Attributes.Contains("regardingobjectid"))
                        {
                            EntityReference regardingEntity = (EntityReference)postImage.Attributes["regardingobjectid"];
                            if (regardingEntity.LogicalName.Equals("contact"))
                            {
                                var DialogComments = (string)postImage.Attributes["comments"];

                                foreach (object o in postImage.Attributes)
                                {
                                    trace(o.ToString());
                                }
}}}

出力は次のとおりです。

modifiedon, 9/10/2013 11:08:57 AM]
[statecode, Microsoft.Xrm.Sdk.OptionSetValue]
[regardingobjectid, Microsoft.Xrm.Sdk.EntityReference]
[startedby, Microsoft.Xrm.Sdk.EntityReference]
[createdon, 9/10/2013 11:08:47 AM]
[completedon, 9/10/2013 11:08:57 AM]
[completedby, Microsoft.Xrm.Sdk.EntityReference]
[processsessionid, ca15ec57-091a-e311-a88f-ac162dbe3218]
[ownerid, Microsoft.Xrm.Sdk.EntityReference]
[name, DialogSessionTest]
[statuscode, Microsoft.Xrm.Sdk.OptionSetValue]
[comments, eeeeeeeeeeeee]
[executedon, 9/10/2013 11:08:47 AM]
[modifiedby, Microsoft.Xrm.Sdk.EntityReference]
[owningbusinessunit, Microsoft.Xrm.Sdk.EntityReference]
[createdby, Microsoft.Xrm.Sdk.EntityReference]
[startedon, 9/10/2013 11:08:47 AM]
[processid, Microsoft.Xrm.Sdk.EntityReference]
[owninguser, Microsoft.Xrm.Sdk.EntityReference

ここには、ユーザーの応答にアクセスするためのフィールドがありません。どうすればそれらにアクセスできますか?

編集: ここで、FetchXML を使用して CRM オンラインのデータベースにクエリを実行できることを読みました。ビューもクエリできますか、それともエンティティのクエリ専用ですか?

前もって感謝し、乾杯、
アルネ

4

1 に答える 1

2

最近のプロジェクトで使用した方法は次のとおりです。

  1. ダイアログからのすべての応答を書き込む新しいエンティティを作成します (「名前」、「姓」などの適切なフィールドを作成します)。
  2. インタラクション用のダイアログを作成します。すべてのデータを収集し、前の手順で作成した新しいエンティティに書き込みます。
  3. p.1 からのエンティティの作成時に新しいプラグインを登録します。このプラグインですべての処理を行います。

このエンティティには、ダイアログを開始するレコードの参照を含むすべてのデータを書き込むことができます (たとえば、ダイアログが連絡先の場合: [検索] で、最初のフィールドで連絡先を選択し、2 番目のフィールドで連絡先を選択します。これにより、検索フィールドに EntityReference が書き込まれます)。 .

于 2013-09-10T14:13:42.443 に答える