Plugins Dynamics CRM 2011 online:如何从插件中的对话框获取用户响应

Plugins Dynamics CRM 2011 online:如何从插件中的对话框获取用户响应,plugins,dynamics-crm-2011,dynamics-crm,dynamics-crm-online,Plugins,Dynamics Crm 2011,Dynamics Crm,Dynamics Crm Online,我创建了一个对话框,用于从用户处获取数据。我想通过插件访问用户的响应。我在插件中获得了processsession实体,但似乎只有元数据附加到它 如何从插件中获取用户的响应?请注意,我正在使用CRM online 这描述了如何在本地版本中获取响应。如果我理解正确,我就不能使用它 这显示了如何访问对话框中的注释,而不是实际的响应 以下是我到目前为止所做的。以下代码导致以下输出: // we are in the plugin's execute method here if (context.Po

我创建了一个对话框,用于从用户处获取数据。我想通过插件访问用户的响应。我在插件中获得了processsession实体,但似乎只有元数据附加到它

如何从插件中获取用户的响应?请注意,我正在使用CRM online

这描述了如何在本地版本中获取响应。如果我理解正确,我就不能使用它

这显示了如何访问对话框中的注释,而不是实际的响应

以下是我到目前为止所做的。以下代码导致以下输出:

// 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 online中查询数据库。我也可以用它来查询视图,还是只用于查询实体

提前感谢,干杯,

Arne

以下是我在最近的项目中使用的方法:

  • 创建一个新实体,您将在其中写入对话框中的所有响应(创建适当的字段,例如“名称”、“姓氏”)
  • 创建用于交互的对话框。收集所有数据并将其写入在上一步中创建的新实体中
  • 在第1页的createon实体上注册新插件。在此插件中执行所有处理

  • 您可以在该实体中写入所有数据,包括启动对话框的记录上的引用(例如,如果对话框用于联系人:在“查找:”中选择第一个字段中的联系人和第二个字段中的联系人-这将在查找字段中写入实体引用)。

    感谢您的回答。好吧,这不是我梦想的,但它应该起作用。我会用这种方式实现它。是的,有点混乱,但事实证明它没有什么优点。例如,我在这些记录中写了一些插件日志。对我来说,它扮演着历史的角色。