Custom Entity One Click: Difference between revisions
Crmtogether (talk | contribs) No edit summary |
Crmtogether (talk | contribs) No edit summary |
||
| Line 36: | Line 36: | ||
cell1.innerHTML='<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD><A id="'+name+'1" | cell1.innerHTML='<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD><A id="'+name+'1" | ||
CLASS=ButtonItem HREF="" ><IMG SRC="/'+ | CLASS=ButtonItem HREF="" ><IMG SRC="/'+CRMName+'/Themes/img/color/Buttons/'+imgname+'" BORDER=0 ALIGN=MIDDLE></A></TD><TD> </TD><TD><A id="'+ name+'2" CLASS=ButtonItem HREF="" >'+caption+'</A></TD></TR></TABLE>'; | ||
ALIGN=MIDDLE></A></TD><TD> </TD><TD><A id="'+ | |||
var item1=document.getElementById(name+"1"); | var item1=document.getElementById(name+"1"); | ||
| Line 73: | Line 69: | ||
} | } | ||
//get the params sent in to the page | //get the params sent in to the page | ||
var qsParm = new Array(); | var qsParm = new Array(); | ||
function qs( | function qs() | ||
{ | { | ||
var | var query = window.location.search.substring(1); | ||
var parms = query.split('&'); | |||
for (var i=0; i<parms.length; i++) | |||
{ | { | ||
var key = parms[i].substring(0,pos); | var pos = parms[i].indexOf('='); | ||
if (pos > 0) | |||
{ | |||
var key = parms[i].substring(0,pos); | |||
var val = parms[i].substring(pos+1); | |||
qsParm[key] = val; | |||
} | |||
} | } | ||
} | } | ||
qs(); | |||
qs(); | |||
function getButtonGroup() | function getButtonGroup() | ||
Revision as of 18:38, 24 April 2012
coming soon...
There is some manual work to create a one click button into a custom entity in CRM.
We provide the details here as well as sample code.
The button is created by adding in some code to the custom content which creates a button when the page is loaded.
Create a folder within the CRM "CustomPages" folder. In our example we will call this folder "CRMTogether".
Create a file there called "CRViewer.js".
Select a CRM screen that exists on the page you wish to create the button.
Within the "custom content" of that screen enter a path to the script
<script src="../../custompages/CRMTogether/CRViewer.js" type="text/javascript" language="JavaScript"></script>
Enter the following script code into the page
var ButtonGroup;
//set the name of your CRM
var CRMName="CRM";
function addButton(name, caption, imgname, reportname, pdfformat, createcomm, CE, CE_ID, LE, backupKey)
{
getButtonGroup();
var rowCount = ButtonGroup.rows.length;
var row = ButtonGroup.insertRow(rowCount);
var cell1 = row.insertCell(0);
cell1.innerHTML='
| <A id="'+name+'1" CLASS=ButtonItem HREF="" ><IMG SRC="/'+CRMName+'/Themes/img/color/Buttons/'+imgname+'" BORDER=0 ALIGN=MIDDLE></A> | <A id="'+ name+'2" CLASS=ButtonItem HREF="" >'+caption+'</A> |
';
var item1=document.getElementById(name+"1");
var item2=document.getElementById(name+"2");
item1.href=buildURL("CRViewer/NewWindow.aspx")+"rptname="+reportname;
if (item1.href.indexOf(CE_ID)<1) //use the backup key
{
item1.href+="&"+CE+"="+qsParm["backupKey"];
}
if (CE!="")
item1.href+="&CE="+CE;
if (CE_ID!="")
item1.href+="&CE_ID="+CE_ID;
if (LE!="")
item1.href+="&LE="+LE;
if (pdfformat==true)
{
item1.href+="&pdfformat=Y";
}
if (createcomm==true)
{
item1.href+="&createcomm=Y";
}
item2.href=item1.href;
}
//get the params sent in to the page
var qsParm = new Array();
function qs()
{
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i=0; i<parms.length; i++)
{
var pos = parms[i].indexOf('=');
if (pos > 0)
{
var key = parms[i].substring(0,pos);
var val = parms[i].substring(pos+1);
qsParm[key] = val;
}
}
}
qs();
function getButtonGroup()
{
var ButtonGroup_col=document.getElementsByTagName("TABLE");
for(var i=0;i<ButtonGroup_col.length;i++)
{
ButtonGroup=ButtonGroup_col[i];
if (ButtonGroup.className=="ButtonGroup")
{
break;
}
}
}
function buildURL(PagePath)
{
var strFileName = PagePath;
var strPath = document.URL;
if (strPath.indexOf("eware.dll")!=-1)
{
var arrayApp = strPath.split("eware.dll");
PagePath="CustomPages/"+PagePath;
}else{
var arrayApp = strPath.split("CustomPages");
arrayApp[0]+="CustomPages/";
}
var arrayContext = strPath.split("?");
var strAppPath = arrayApp[0];
var strContextInfo = arrayContext[1];
strAddr= strAppPath + PagePath+"?"+strContextInfo+"&";
return strAddr;
}
function CRMTogether_Onload()
{
//here we add in the button
addButton("Report", "Report", "edit.gif","testerrpt.rpt", true, true,"comm_testerid", "test_testerid","libr_testerid");
}
window.onload=CRMTogether_Onload;
The "addButton" function adds in the button
addButton parameters
- name - name of the button
- caption - Caption of the button
- imgname - name of the image to display
- reportname - name of the report to use
- pdfformat - flag to show the report as a PDF
- createcomm - flag to create a communication
- CE - name of the communication id field
- CE_ID - - query string name value of the field that holds the main entity value
- LE - name of the library id field
Note: CE_ID is used as the querystring value picked up by the system as a parameter.