【发布时间】:2018-08-09 02:17:31
【问题描述】:
我有一个 JS 项目,我想从中提取 CRM 活动类型,让用户选择然后使用所选活动类型执行另一个 fetchxml 查询。
我可以使用简单的 FetchXML 获得不同的活动类型代码列表
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="activitypointer" >
<attribute name="activitytypecode" />
</entity>
</fetch>
result.attributes["activitytypecode"].formattedValue; //Returns name - 'Phone Call'
result.attributes["activitytypecode"].value; //Returns string - phonecall
我想要的是枚举的 Int32 值(例如:电话呼叫的 4210),例如,当我再次使用 FetchXML 进行查询时,我需要 int32 值。
我似乎无法从 JavaScript 中的 FetchXML 结果中获取它,但如果我使用 XrmToolbox - 我可以看到 int32 值.. 我错过了什么?
formattedValue 似乎 = 名称 而 value 是文本表示而不是 int32
这里是函数的完整代码:
function GetActivityTypes()
{
var fetchXML = '<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">';
fetchXML += '<entity name="activitypointer" >';
fetchXML += '<attribute name="activitytypecode" />';
fetchXML += '</entity>';
fetchXML += '</fetch>';
var results = XrmServiceToolkit.Soap.Fetch(fetchXML);
if (results != null)
{
for (index = 0; index < results.length; index++)
{
var a = results[index].attributes["activitytypecode"].formattedValue; //returns activity type name - Phone Call
var b = results[index].attributes["activitytypecode"].value; //returns string - phonecall
}
}
}
我想要的是活动类型的数值 - 即:电话 = 4120
我正在使用 XrmServiceToolKit 的最新 2.2.1 版本。我也在那里四处寻找,并注意到在“获取”方法中,随着结果的建立,它们会被“反序列化”。
从 Fetch 方法的 doRequest 内部
var entity = new businessEntity();
entity.deserialize(fetchResult.childNodes[ii]);
fetchResults.push(entity);
我想知道在 XrmServiceToolkit 中是否还有另一种方法可以使用...我什至尝试在我自己的 FetchRAW 方法中进行黑客攻击以不“反序列化”结果但我对 JS 真的不够强大..我肯定在做出了点问题.. 我已经成功地将 Fetch 方法用于其他实体数据,
【问题讨论】:
-
result.attributes["activitytypecode"]的值和类型是什么? -
它似乎是一个字符串。我正在使用 XrmServiceToolkit 在 JS 函数中检索结果。我刚刚查看了 XrmToolbox(我设计提取查询的地方)。如果我将结果设置为“原始提取结果”,我可以看到实际值 -
4210 但如果我将其保留为默认值(序列化 - 显式XML),我得到一个字符串结果 -phonecall - 我想我需要看看如何让 XrmServiceToolkit 以某种方式返回原始结果? -
我很困惑,如果它具有
formattedValue和value之类的属性,我不明白它怎么会是string。如果您发布您正在使用的代码可能会有所帮助 - stackoverflow.com/help/mcve -
干杯詹姆斯,我已经编辑了原始解决方案并粘贴了函数和响应示例。
标签: javascript dynamics-crm dynamics-crm-2011 crm