0

当我从现有机会中打开潜在客户,然后仅更改名字或姓氏的值时,更改也会反映在机会实体中的潜在客户查找中,因此我在联系实体的 onsave 中编写了一个脚本。

function getname()
{
    var lookupValue = new Array();
    lookupValue[0] = new Object();
    lookupValue[0].id = Xrm.Page.data.entity.getId();
    lookupValue[0].name = Xrm.Page.data.entity.attributes.get("firstname").getValue()+" " +Xrm.Page.data.entity.attributes.get("lastname").getValue();
    alert(Xrm.Page.data.entity.attributes.get("firstname").getValue()+" " +Xrm.Page.data.entity.attributes.get("lastname").getValue());
    lookupValue[0].entityType = "Contact";
    window.top.opener.Xrm.Page.data.entity.attributes.get("customerid").setValue(lookupValue);
            window.top.opener.Xrm.Page.data.entity.attributes.get("name").setValue(Xrm.Page.data.entity.attributes.get("firstname").getValue());

}

如果您查看上面的代码,那么您会发现我已经设置了父查找的值,但是它没有用我已经更改了机会的文本框主题(名称)的值,所以它对我有用,但我不知道为什么在查找中没有工作。

如果您查看我上面的代码,您会发现一行 window.top.opener.Xrm.Page.data.entity.attributes.get("name").setValue(Xrm.Page.data.entity.attributes.get("名字").getValue()); 这个工作完美,但在查找时不起作用

4

2 回答 2

2

序言:不支持这种代码。

如果你想让它工作,你只需要改变name属性,因为id并且entityType不会改变(至少你描述的行为)

最好还添加一个检查开瓶器内是否有字段:

function getname()
{
if (window.top.opener.Xrm.Page.getAttribute("customerid") != null)
{
    var previous = window.top.opener.Xrm.Page.getAttribute("customerid").getValue();
    previous[0].name = Xrm.Page.getAttribute("firstname").getValue() + " " + Xrm.Page.getAttribute("lastname").getValue();
    window.top.opener.Xrm.Page.getAttribute("customerid").setValue(previous);
}
}
于 2013-04-24T14:53:26.793 回答
0

查找对象将始终显示相关实体的主要属性。你无法改变这一点。因此,尝试设置该值不起作用我并不感到惊讶。它永远不会。

你想达到什么目的?为什么要更改查找中的显示以不代表它链接到的记录?

于 2013-04-24T14:04:38.193 回答