Jason,
Thanks for your response.
I thought as much. I placed the id field as you described and got everything working with one little problem:
The form comes up and populates, but the data in my web resource "flashes" once. It displays the data then in clears and reappears in less that a second. It's very quick, but very annoying. Any ideas on why that's happening? I've included my code below.
Thanks,
Glen
<!DOCTYPE html>
<html xmlns="www.w3.org/.../xhtml">
<head>
<title>Display Name Resolution</title>
<script src="/WebResources/ClientGlobalContext.js.aspx"></script>
<script type="text/javascript" src="mm_jquery1.4.1.min.js"></script>
<script type="text/javascript" src="mm_json2.js"></script>
<meta charset="utf-8" />
</head>
<body style="MARGIN: 0px;" contenteditable="true" onload="onload()">
<div id="CMDisplay"></div>
<script>
var ODataPath;
var serverUrl;
var background = "transparent";
var labelFont = "Arial";
var dataFont = "Arial";
var labelFontSize = "11px";
var dataFontSize = "11px";
var labelBold = "no";
var dataBold = "no";
var matterEntity;
var clientEntity;
function onload() {
init();
}
function init() {
serverUrl = parent.Xrm.Page.context.getServerUrl();
ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";
GetParameters();
var sourceMatterField = parent.Xrm.Page.ui.controls.get("mm_matterid").getAttribute().getValue();
if (sourceMatterField != null) {
sourceMatterId = sourceMatterField[0].id.replace('{', '').replace('}', '');
if (sourceMatterField[0].entityType.toLowerCase() == "cpdc_matter")
retrieveMatter(sourceMatterId);
}
}
function DisplayResults() {
// Set formatting
CMDisplay.style.padding = "2px";
CMDisplay.style.verticalAlign = "middle";
CMDisplay.style.height = "100%";
//background
if (background != null)
CMDisplay.style.backgroundColor = background;
// Client Label
var html = '<table><tr><td id="clientLabel" style="font-Family: ' + labelFont + '; font-Size: ' + labelFontSize + '; font-Weight: ' + labelBold + ';">';
html += 'Client:</td>';
// Client Data
html += '<td id="clientInfo" style="font-Family: ' + dataFont + '; font-Size: ' + dataFontSize + '; font-Weight: ' + dataBold + ';">';
html += clientEntity["cpdc_name"] + " - " + clientEntity["cpdc_clientname"];
html += '</td></tr>'
// Matter Label
html += '<tr><td id="matterLabel" style="font-Family: ' + labelFont + '; font-Size: ' + labelFontSize + '; font-Weight: ' + labelBold + ';">';
html += 'Matter:</td>';
// Client Data
html += '<td id="matterInfo" style="font-Family: ' + dataFont + '; font-Size: ' + dataFontSize + '; font-Weight: ' + dataBold + ';">';
html += matterEntity["cpdc_matternum"] + " - " + matterEntity["cpdc_name"];
html += '</td></tr></table>'
CMDisplay.innerHTML = html;
}
function retrieveMatter(sourceMatterId) {
var retrieveMatterReq = new XMLHttpRequest();
retrieveMatterReq.open("GET", ODataPath + "/cpdc_matterSet(guid'" + sourceMatterId + "')", true);
retrieveMatterReq.setRequestHeader("Accept", "application/json");
retrieveMatterReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
retrieveMatterReq.onreadystatechange = function () {
retrieveMatterReqCallBack(this);
};
retrieveMatterReq.send();
}
function retrieveMatterReqCallBack(retrieveMatterReq) {
if (retrieveMatterReq.readyState == 4 /* complete */) {
if (retrieveMatterReq.status == 200) {
//Success
matterEntity = JSON.parse(retrieveMatterReq.responseText).d;
retrieveClient(matterEntity["cpdc_clientnumberid"].Id);
}
else {
throw new Error("Error retrieving Record");
}
}
}
function retrieveClient(sourceClientId) {
var retrieveClientReq = new XMLHttpRequest();
retrieveClientReq.open("GET", ODataPath + "/cpdc_clientinfoSet(guid'" + sourceClientId + "')", true);
retrieveClientReq.setRequestHeader("Accept", "application/json");
retrieveClientReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
retrieveClientReq.onreadystatechange = function () {
retrieveClientReqCallBack(this);
};
retrieveClientReq.send();
}
function retrieveClientReqCallBack(retrieveClientReq) {
if (retrieveClientReq.readyState == 4 /* complete */) {
if (retrieveClientReq.status == 200) {
//Success
clientEntity = JSON.parse(retrieveClientReq.responseText).d;
DisplayResults();
}
else {
throw new Error("Error retrieving Record");
}
}
}
function GetParameters() {
var querystring = unescape(window.location.search.replace('?', '').replace('data=', ''));
var params = querystring.split('&');
for (var i = 0; i < params.length; i++) {
var param = params[i].split('=');
switch (param[0]) {
case "background":
background = param[1];
break;
case "labelFont":
labelFont = param[1];
break;
case "dataFont":
dataFont = param[1];
break;
case "labelFontSize":
labelFontSize = param[1];
break;
case "dataFontSize":
dataFontSize = param[1];
break;
case "labelBold":
switch (param[1]) {
case "1":
case "true":
case "True":
case "yes":
case "Yes":
labelBold = "bold";
break;
default:
labelBold = "normal";
break;
}
case "dataBold":
switch (param[1]) {
case "1":
case "true":
case "True":
case "yes":
case "Yes":
dataBold = "bold";
break;
default:
dataBold = "normal";
break;
}
}
}
}
</script>
<script type="text/javascript" src="/MillerMartin/_common/global.ashx?ver=-1332998345"></script>
<script type="text/javascript" src="/MillerMartin/_common/windowinformation/windowinformation.js.aspx?lcid=1033&ver=-1332998345"></script>
<script type="text/javascript" src="/MillerMartin/_common/entityproperties/entitypropertiesutil.js.aspx?tstamp=453040634&ver=-1332998345"></script>
</body>
</html>