Quantcast
Channel: Microsoft Dynamics CRM
Viewing all articles
Browse latest Browse all 137182

Forum Post: RE: How to open existing record which is same phone number using javascript?

$
0
0

var strFrameName = "OpeningScript";

self.frames.name = strFrameName;

var strParameterValue;

var strFetchFor;

var strstate, strcompanyname, strcontact, strzip, strcity, strphoneo;

var strPhone, booMultiCompany, CaseID, strCDN;

var booMultiCompany = false;

var intRecCount, intCompId;

var intPrevCompId, intCurCompId, intPrevProsId, intCurProsId;

var strCompName, strProsId, strEmail, strContactName, strAddress;

var strCallType, strCBSource, strCBDT, strPhoneNo;

var StrCustPer;

var phonenum;

var data = querySt("data");

function OpenWindow(strCompID) {

   window.parent.opener.parent.PutCompID('masterpageTabPage', strCompID, 0);

   window.close();

}

function OpenRecord(phonenum) {

   var _oService;

   var _sOrgName = "";

   var _sServerUrl = Xrm.Page.context.getServerUrl();

   alert(_sServerUrl);

   var sFetch = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +

 "<entity name='contact'>" +

   "<attribute name='fullname' />" +

   "<attribute name='parentcustomerid' />" +

   "<attribute name='telephone1' />" +

   "<attribute name='address1_city' />" +

   "<attribute name='emailaddress1' />" +

   "<attribute name='adx_username' />" +

   "<attribute name='createdon' />" +

   "<attribute name='contactid' />" +

   "<order attribute='createdon' descending='true' />" +

   "<filter type='and'>" +

     "<condition attribute='statecode' operator='eq' value='0' />" +

     "<condition attribute='telephone1' operator='eq' value='"+phonenum+"'/>" +

   "</filter>" +

 "</entity>" +

"</fetch>";

   _oService = new FetchUtil(_sOrgName, _sServerUrl);

   var res = _oService.Fetch(sFetch);

   var oTable = document.createElement("table");

   var oTHead = document.createElement("thead");

   var oTHeadTR = document.createElement("tr");

   var oTHeadTRTH1 = document.createElement("th");

   oTHeadTRTH1.innerText = "Contact Name";

   var oTHeadTRTH2 = document.createElement("th");

   oTHeadTRTH2.innerText = "Email";

   var oTHeadTRTH3 = document.createElement("th");

   oTHeadTRTH3.innerText = "Address";

   oTHeadTR.appendChild(oTHeadTRTH1);

   oTHeadTR.appendChild(oTHeadTRTH2);

   oTHeadTR.appendChild(oTHeadTRTH3);

   oTHead.appendChild(oTHeadTR);

   oTable.appendChild(oTHead);

   var oTBody = document.createElement("tbody");

   var oTRow = document.createElement("tr");

   var oTRowTD1 = document.createElement("td");

   oTRowTD1.innerText = res[0].attributes["fullname"].value;

   var oTRowTD2 = document.createElement("td");

   oTRowTD2.innerText = res[0].attributes["emailaddress1"].value;

   var oTRowTD3 = document.createElement("td");

   oTRowTD3.innerText = res[0].attributes["address1_city"].value;

   oTRow.appendChild(oTRowTD1);

   oTRow.appendChild(oTRowTD2);

   oTRow.appendChild(oTRowTD3);

   oTBody.appendChild(oTRow);

   oTable.appendChild(oTBody);

   document.body.appendChild(oTable);

}

function fnLoadDetails() {

   strPhone = queryString("phone");

   strPhone = "123456";

   if (!strPhone || strPhone == "")

       strPhone = "null"

   else {

       OpenRecord(strPhone);

   }

   CaseID = queryString("case");

   /*strCDN = queryString("CDN");*/

   strCallType = 2; //queryString("CallType");

   strCBSource = queryString("CBSource");

   strCBDT = queryString("CBDT");

   document.getElementById("lblIncomingPhone").innerText = strPhone;

   if (CaseID && CaseID != "") {

       strParameterValue = CaseID;

       strFetchFor = "BY_CASEID";

   }

   else {

       strParameterValue = strPhone;

       strFetchFor = "BY_PHONE";

   }

   //invokeEvent('btnLoadData','click');

}

function fnGetInputParameter(strArg) {

   if (strArg == 'Parameter')

       return strParameterValue;

   else if (strArg == 'FetchFor')

       return strFetchFor;

}

function CompanyDetails_CallBack(r, res) {

   //alert(res.xml);

   fnFillCompanyDetails(res.getElementsByTagName("NewDataSet")[0]);

}

function fnFillCompanyDetails(dsCompanyList) {

   var objHeaderRow, objHeaderClone;

   //objHeaderClone = document.getElementById("trCustomerDetailsRowData").cloneNode(true);

   if (dsCompanyList && dsCompanyList.getElementsByTagName("Table").length > 1) {

       document.getElementById("lblRecordCount").innerText = dsCompanyList.getElementsByTagName("Table").length;

       document.getElementById("tblMoreRecords").style.display = "inline";

       document.getElementById("tblNoRecords").style.display = "none";

       return;

   }

   intPrevCompId = -1;

   intCurCompId = -1;

   /* var strTableRows="";

   //strTableRows = document.getElementById("tblCustomerDetails1").innerHTML;

   strTableRows += "<Table id='tblCustomerDetails' align='Center' border='0' cellPadding='0' cellSpacing='1' width='100%' style='border-bottom:1px groove #6699cc;border-right:1px groove #6699cc;border-left:1px groove #6699cc;border-left-color:#6699cc'>";

   strTableRows += "<TR id='TR561' class='header_case'><TD id='TD562' align='Center' colSpan='7'>Customer Details</TD></TR>";

   strTableRows += "<TR id='trCustomerDetailsRowHeader' class='normaltext'>";

   //strTableRows += "<TD>CDN</TD>";

   strTableRows += "<TD><B>Account Number</B></TD>";

   strTableRows += "<TD><B>Customer Name</B></TD>";

   strTableRows += "<TD><B>Ticket Number</B></TD>";

   strTableRows += "<TD><B>Email Address</B></TD>";

   strTableRows += "<TD><B>Address</B></TD>";

   strTableRows += "<TD style='display:none'>Customer Name</TD>";

   strTableRows += "<TD style='display:none'>";

   strTableRows += "</TR>";

   if(dsCompanyList&&dsCompanyList.getElementsByTagName("Table").length>0)

   {

   for(var intCnt=0; intCnt < dsCompanyList.getElementsByTagName("Table").length;intCnt++)

   {

   objRecord =  dsCompanyList.getElementsByTagName("Table")[intCnt];

   strTableRows +="<TR class='normaltext'>";

   strTableRows +="<TD>"+"<a href=javascript:OpenWindow('" + getNodeValueOfGivenNodeName(objRecord,"CUSTID") + "')>" + getNodeValueOfGivenNodeName(objRecord,"CUSTID") + "</a>"+"</TD>";        

   strTableRows +="<TD>"+"<a href=javascript:OpenWindow('" + getNodeValueOfGivenNodeName(objRecord,"CUSTID") + "')>" + getNodeValueOfGivenNodeName(objRecord,"CONTACTNAME") + "</a>"+"</TD>";

   strTableRows += "<TD>" + getNodeValueOfGivenNodeName(objRecord, "TICKETID"); +"</TD>";    

   strTableRows +="<TD>"+getNodeValueOfGivenNodeName(objRecord,"EMAIL"); +"</TD>";    

   strTableRows +="<TD>"+getNodeValueOfGivenNodeName(objRecord,"ADDRESS"); +"</TD>";    

   strTableRows +="</TR>"

   }

   //alert(strTableRows);

   document.getElementById("divShow").innerHTML =strTableRows +"</Table>";

   document.getElementById("tblNoRecords").style.display="none";

   if(CaseID!="")

   {

   //document.getElementById("tdCustomerPerceptionData").innerText=StrCustPer;

   }

   else

   {

   //document.getElementById("tblCustomerPerrception").style="display:none";

   }

   }

   else

   {

   document.getElementById("tblCustomerDetails").style.display="none";

   document.getElementById("tblCustomerPerrception").style.display="none";

   }*/

   var strTableRows = "";

   //strTableRows = document.getElementById("tblCustomerDetails1").innerHTML;

   strTableRows += "<br/>"

   strTableRows += "<Table id='tblCustomerDetails' align='Center' border='0' cellPadding='0' cellSpacing='1' width='70%'style='border-bottom:1px groove #6699cc;border-right:1px groove #6699cc;border-left:1px groove #6699cc;border-left-color:#6699cc'>";

   strTableRows += "<TR id='TR561' class='header_case' ><TD id='TD562' align='Center' colSpan='7'>Customer Details</TD></TR>";

   //strTableRows += "<TR id='TR561' class='header_case1' ><TD id='TD562'  style='font-family: Arial, Helvetica, sans-serif;font-size: 14px;font-weight: bold;color: # #FFFFFF;' align='Center' colSpan='7'>Customer Details</TD></TR>";

   strTableRows += "<TR id='trCustomerDetailsRowHeader' class='normaltext'></TR>";

   strTableRows += "<TR><TD><B></B><TD></TR>";

   strTableRows += "<TR><TD><B></B><TD></TR>";

   /*strTableRows += "<TR><TD><B>Customer Name</B></TD></TR>";

   strTableRows += "<TR><TD><B>Ticket Number</B></TD></TR>";

   strTableRows += "<TR><TD><B>Email Address</B></TD></TR>";

   strTableRows += "<TR><TD><B>Address</B></TD></TR>";

   strTableRows += "<TR style='display:none'><TD>Customer Namem</TD></TR>";

   strTableRows += "<TR style='display:none'>";

   strTableRows += "</TR>";*/

   if (dsCompanyList && dsCompanyList.getElementsByTagName("Table").length > 0) {

       for (var intCnt = 0; intCnt < dsCompanyList.getElementsByTagName("Table").length; intCnt++) {

           objRecord = dsCompanyList.getElementsByTagName("Table")[intCnt];

           strTableRows += "<TR class='normaltext'></TR>";

           strTableRows += "<TR> <TD width=" + "25%" + "></TD><TD width=" + "25%" + " class=" + "normaltext" + " ><B>Account Number </B></TD> <TD width=" + "2%" + "><B>:</B></TD><TD class=" + "normaltext" + ">"+"Test"+ "</TD></TR>";

           strTableRows += "<TR> <TD width=" + "25%" + "></TD><TD width=" + "25%" + " class=" + "normaltext" + " ><B>Customer Name   </B></TD> <TD width=" + "2%" + "><B>:</B></TD><TD class=" + "normaltext" + ">" + "<a href=javascript:OpenWindow('" + getNodeValueOfGivenNodeName(objRecord, "CUSTID") + "')>" + getNodeValueOfGivenNodeName(objRecord, "CONTACTNAME") + "</a>" + "</TD></TR>";

           strTableRows += "<TR> <TD width=" + "25%" + "></TD><TD width=" + "25%" + " class=" + "normaltext" + " ><B>Ticket Number   </B></TD> <TD width=" + "2%" + "><B>:</B></TD><TD class=" + "normaltext" + ">" + getNodeValueOfGivenNodeName(objRecord, "TICKETID"); +"</a>" + "</TD></TR>";

           strTableRows += "<TR> <TD width=" + "25%" + "></TD><TD width=" + "25%" + " class=" + "normaltext" + " > <B>Email Address   </B></TD> <TD width=" + "2%" + "><B>:</B></TD><TD class=" + "normaltext" + ">" + "<a href='mailto:" + getNodeValueOfGivenNodeName(objRecord, "EMAIL") + "'>" + getNodeValueOfGivenNodeName(objRecord, "EMAIL") + "</a>" + "</TD></TR>";

           strTableRows += "<TR> <TD width=" + "25%" + "></TD><TD width=" + "25%" + " class=" + "normaltext" + " ><B>Address         </B></TD> <TD width=" + "2%" + "><B>:</B></TD><TD class=" + "normaltext" + ">" + getNodeValueOfGivenNodeName(objRecord, "ADDRESS"); +"</TD></TR>";

           //strTableRows +="</TR>"

       }

       //alert(strTableRows);

       document.getElementById("divShow").innerHTML = strTableRows + "</Table>";

       document.getElementById("tblNoRecords").style.display = "none";

       if (CaseID != "") {

           //document.getElementById("tdCustomerPerceptionData").innerText=StrCustPer;

       }

       else {

           //document.getElementById("tblCustomerPerrception").style="display:none";

       }

   }

   else {

       document.getElementById("tblCustomerDetails").style.display = "none";

       document.getElementById("tblCustomerPerrception").style.display = "none";

   }

   /*  if(strCallType==2)

   {

   if (strCBSource==1)

   strCBSource = "IVR";

   else if (strCBSource==20)

   strCBSource = "Customer using web connect";

   document.getElementById("tdQPhone").innerHTML = "<b>Callback made on: " + strPhone + "</b>";

   document.getElementById("tdCBSource").innerHTML = "<b>Callback Scheduled by: " + strCBSource + "</b>";

   document.getElementById("tdCBDT").innerHTML = "<b>Callback Datetime: " + strCBDT + "</b>";

   }

   else

   {

   //document.getElementById("tblCallBackIVR").style.display="none";

   }

   //alert(document.getElementById("tblCustomerDetails1").getElementsByTagName("TR").length);*/

}

function querySt(ji) {

   hu = window.location.search.substring(1);

   gy = hu.split("&");

   for (i = 0; i < gy.length; i++) {

       ft = gy[i].split("=");

       if (ft[0].toUpperCase() == ji.toUpperCase()) {

           {

               if (ft[1] && ft[1] != 'undefined')

                   return ft[1];

               else

                   return "";

           }

       }

   }

   return "";

}

function queryString(key) {

   data = decodeURIComponent(data);

   gy = data.split("&");

   for (i = 0; i < gy.length; i++) {

       ft = gy[i].split("=");

       if (ft[0].toUpperCase() == key.toUpperCase()) {

           {

               if (ft[1] && ft[1] != 'undefined')

                   return ft[1];

               else

                   return "";

           }

       }

   }

   return "";

}


Viewing all articles
Browse latest Browse all 137182

Trending Articles