当我从现有机会中打开潜在客户,然后只更改名字或姓氏的值时,更改也反映在机会实体中的潜在客户查询中,因此我在联系实体的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。获得( “名字”)的getValue())。而且这个工作完美但它在查找中没有用
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
查找对象将始终显示相关实体的主要属性。你不能改变它。因此,尝试设置该值不起作用我并不感到惊讶。它永远不会。
你想要实现的目标是什么?为什么要更改查找中的显示以不表示它链接到的记录?