First create three text fields in Opportunity as new_sguid, new_stype, new_sname
Add the below code in the Web Resource
function onchange() {
var originatingLeadValue = Xrm.Page.getAttribute("originatingleadid").getValue();
if (IsNull(originatingLeadValue) ||
originatingLeadValue[0].type == "4") {
//
Lookup is null or there is a Lead, need to clear hidden fields. To clear one of
them will be enough, we will be check this field during onload.
Xrm.Page.getAttribute("new_sguid").setValue(null);
}
else {
//
Lookup contains Contact or User, so need to store lookup properties to our
hidden fields.
Xrm.Page.getAttribute("new_stype").setValue(originatingLeadValue[0].type);
Xrm.Page.getAttribute("new_sguid").setValue(originatingLeadValue[0].id);
Xrm.Page.getAttribute("new_sname").setValue(originatingLeadValue[0].name);
}
}
function onsave() {
var originatingLeadValue = Xrm.Page.getAttribute("originatingleadid").getValue();
if (!IsNull(originatingLeadValue) &&
originatingLeadValue[0].type != '4') {
Xrm.Page.getAttribute("originatingleadid").setValue(null);
}
}
function onload() {
debugger;
lookuptypeIcons = '/_imgs/ico_16_1.gif:/_imgs/ico_16_2.gif:/_imgs/ico_16_4.gif:/_imgs/ico_16_8.gif:/_imgs/ico_16_9.gif';//add the custom entity type gif image
lookuptypenames = 'account:1:Account,contact:2:Contact,lead:4:Lead,systemuser:8:User,team:3:Team';
lookuptypes = '1,2,4,8,9';// Here first one
is entity name, the second one we can get by opening any record for our custom
entity and check out the etc value in the url and the third one is the display
name for your entity. And i used /_imgs/ico_16_customEntity.gif for the icons
to work with.
var savedId = Xrm.Page.getAttribute("new_sguid").getValue();
var savedType = Xrm.Page.getAttribute("new_stype").getValue();
var savedName = Xrm.Page.getAttribute("new_sname").getValue();
var savedEntityName = savedType == "8" ? "systemuser" : "contact";
document.getElementById("originatingleadid").setAttribute("lookuptypes", lookuptypes);
document.getElementById("originatingleadid").setAttribute("lookuptypenames", lookuptypenames);
document.getElementById("originatingleadid").setAttribute("lookuptypeIcons", lookuptypeIcons);
document.getElementById("originatingleadid").setAttribute("defaulttype", "4"); // default type - Lead entity
var originatingLeadValue = Xrm.Page.getAttribute("originatingleadid").getValue();
if (IsNull(originatingLeadValue) &&
!IsNull(savedId)) {
var value = new Array();
value[0] = new Object();
value[0].displayClass = "ms-crm-Lookup-Item";
value[0].keyValues = new Object();
value[0].values = new Object();
value[0].onclick = "openlui()";
value[0].id = savedId;
value[0].entityType = savedEntityName;
value[0].typename = savedEntityName;
value[0].name = savedName;
value[0].type = savedType;
Xrm.Page.getAttribute("originatingleadid").setValue(value);
}
}
call the onload function on Opportunity onload, onsave function on Opportunity onsave, onchange on Opportunity originating lead change :)
No comments:
Post a Comment