我正在研究 CRM 2015 中的“注册采用”表格,特别是三个字段;产品、组件和社论。“产品”是引用产品实体的查找字段。“组件”和“社论”是使用 javascript 填充的简单文本字段。Product Entity中的每个产品都有对应的组件和编辑,它们是产品表单中的OptionSet。
目标:我想要一个函数用“产品”触发 OnChange,该函数查看该特定产品记录,获取其相应的组件和编辑信息,并自动填充“注册采用”中的“组件”和“编辑”字段。
问题:我似乎无法弄清楚如何从“产品”查找字段中获取值并使用它来获取我需要的信息。
这是我一直在测试的一些代码:
function populateProduct(blank)
{
if (blank != null || blank != undefined)
{
var productName;
var product = Xrm.Page.getAttribute(blank);
if (product.getValue != null || product.getValue != undefined)
{
productName = product.getValue()[0].name;
console.log("the product name is " + productName);
var componentXml = "<fetch mapping='logical'>"+"<entity name='product'>"+"<attribute name='new_component'/>"+"<filter>"+"<condition attribute = 'name' operator='eq' value='"+productName+"' />"+"</filter>"+"</entity>"+"</fetch>";
var fetchComponent = XrmServiceToolkit.Soap.Fetch(componentXml);
console.log("the respective component is " + fetchComponent);
}
}
}
日志语句只是为了测试我是否在测试时获得了我需要的信息。
日志语句显示我肯定得到了产品名称,但没有得到相应的组件。
我研究了使用 Fetch 构建查询,但我认为我没有正确理解它们,因为它没有得到我希望的信息。显然,这是一个非常不完整的功能,但我想确保在写出其余信息之前获得所需的信息。
有什么建议吗?