【问题标题】:Dynamics CRM 2011 online: How to obtain user responses from a dialog in a PluginDynamics CRM 2011 在线:如何从插件中的对话框获取用户响应
【发布时间】:2013-09-10 11:34:58
【问题描述】:

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

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

link 描述了如何在本地版本中获取响应。如果我理解正确,我将无法使用它。

这个article 展示了如何从对话框访问 cmets,而不是实际的响应。

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

// 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

我在这里没有看到任何可以访问用户回复的字段。如何访问它们?

编辑:我读到here 可以使用 FetchXML 在线查询 CRM 中的数据库。我也可以使用它来查询视图,还是仅用于查询实体?

在此先感谢您,干杯,
阿恩

【问题讨论】:

    标签: plugins dynamics-crm-2011 dynamics-crm dynamics-crm-online


    【解决方案1】:

    这是我在最近的项目中使用的方式:

    1. 创建新实体,您将在其中写入对话框中的所有回复(创建适当的字段,例如“姓名”、“姓氏”)。
    2. 创建交互对话框。收集所有数据并将其写入您在上一步中创建的新实体中。
    3. 从第 1 页开始在实体上创建新插件时注册。在这个插件中进行所有处理。

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

    【讨论】:

    • 感谢您的回答。好吧,这不是我梦寐以求的,但它应该会奏效。我会这样实现的。
    • 是的,有点乱,但事实证明它几乎没有优点。例如,我在这些记录中写了一些来自插件的日志。它对我来说扮演着历史的角色。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多