我创建了一个用于从用户获取数据的对话框。我想从插件中访问用户的响应。我在我的插件中获得了processsession实体,但似乎只附加了元数据。
如何从插件中获取用户的回复?请注意我在线使用CRM。
此link描述了如何在内部部署版本中获取响应。如果我理解正确,我就不能使用它。
这个article显示了如何从对话框中访问注释,而不是实际的响应。
这是我到目前为止所做的。以下代码导致以下输出:
// 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中的数据库。我也可以使用它来查询视图,还是仅用于查询实体?
提前致谢和干杯,
·阿尔
答案 0 :(得分:2)
这是我在最近的项目中使用的方式:
您可以在此实体中写入所有数据,包括启动对话框的记录引用(例如,如果对话框用于联系人:在“查找:”中选择第一个字段中的联系人和第二个字段中的联系人 - 这将在外观中写入EntityReference上场)。