Downloading Notes in MS CRM
We can download the attachments of Notes by framing the Following URL.
window.open("/MicrosoftCRM/Activities/Attachment/download.aspx?AttachmentType=1001&AttachmentId=4108f5f9-63f7-dd11-b2e0-0003ff2d0264");
But this approach works only when we don't have roll-up 7 on the system.
After installing the roll-up above 6 , this approach won't works,because security tokens will be added to this link.So it gives error as "INVALID_WRPC_TOKEN"
so one of the best approach i know to solve this issue is as follows,
public byte[] DownloadAttachment(string AnnotationId)
{
Guid annotationId = new Guid( AnnotationId );
// Define the columns to retrieve from the annotation record.
ColumnSet cols1 = new ColumnSet();
cols1.Attributes = new string[] { "filename", "documentbody" };
// Retrieve the annotation record.
annotation annotationAttachment = (annotation)crmService.Retrieve(EntityName.annotation.ToString(), annotationId, cols1);
using (FileStream fileStream = new FileStream(annotationAttachment.filename, FileMode.OpenOrCreate))
{
byte[] fileContent = new UTF8Encoding(true).GetBytes(annotationAttachment.documentbody);
// fileStream.Write(fileContent, 0, fileContent.Length);
return fileContent;
}
}
In the Download Button Click Event,
byte[] fileData = DownloadAttachment(annotationID);
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
BinaryWriter bw = new BinaryWriter(Response.OutputStream);
bw.Write(fileData);
bw.Close();
Response.ContentType = mimetype;
Response.End();
Tuesday, March 16, 2010
Monday, March 1, 2010
Retrieving appsettings keys & display in drop down list
//Retrieving appsettings keys & display in drop down list
ArrayList entitylist=new ArrayList();
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
// Get the appSettings.
KeyValueConfigurationCollection appSettings = config.AppSettings.Settings;
foreach (string key in appSettings.AllKeys)
{
entitylist.Add(appSettings[key].Value);
}
ddl_entitylist.DataSource = entitylist;
ddl_entitylist.DataBind();
ArrayList entitylist=new ArrayList();
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
// Get the appSettings.
KeyValueConfigurationCollection appSettings = config.AppSettings.Settings;
foreach (string key in appSettings.AllKeys)
{
entitylist.Add(appSettings[key].Value);
}
ddl_entitylist.DataSource = entitylist;
ddl_entitylist.DataBind();
Placing a report in the IFrame with GUID as parameter
//Placing a report in the IFrame without asking for credentials
//get guid of form
var guid= crmFormSubmit.crmFormSubmitId.value;
guid = guid.substring(1, guid.length -1)
var url = "http://server/ReportServer?/Myreport&rs:Command=Render&rc:Toolbar=false&Guid="+ guid;
document.getElementById('IFRAME_Report').src = url;
//get guid of form
var guid= crmFormSubmit.crmFormSubmitId.value;
guid = guid.substring(1, guid.length -1)
var url = "http://server/ReportServer?/Myreport&rs:Command=Render&rc:Toolbar=false&Guid="+ guid;
document.getElementById('IFRAME_Report').src = url;
Calling custom webservice using java script
//Calling custom web service using java script
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
var soapXml = "<?xml version='1.0' encoding='utf-8'?>";
soapXml += "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>";
soapXml += "<soap:Body>";
soapXml += "<GetObjectTypeCode xmlns='http://tempuri.org/'>";
soapXml += " <Entity>" + entityname + "</Entity>";
soapXml += " </GetObjectTypeCode>";
soapXml += " </soap:Body>";
soapXml += "</soap:Envelope>";
xmlhttp.open("POST", "/customwebserviceurl.asmx", false);
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("Content-Length", soapXml.length);
xmlhttp.setRequestHeader("SOAPAction", "http://tempuri.org/GetObjectTypeCode");
xmlhttp.send(soapXml);
var resultValue = xmlhttp.responseXML.childNodes[1].nodeTypedValue;
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
var soapXml = "<?xml version='1.0' encoding='utf-8'?>";
soapXml += "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>";
soapXml += "<soap:Body>";
soapXml += "<GetObjectTypeCode xmlns='http://tempuri.org/'>";
soapXml += " <Entity>" + entityname + "</Entity>";
soapXml += " </GetObjectTypeCode>";
soapXml += " </soap:Body>";
soapXml += "</soap:Envelope>";
xmlhttp.open("POST", "/customwebserviceurl.asmx", false);
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("Content-Length", soapXml.length);
xmlhttp.setRequestHeader("SOAPAction", "http://tempuri.org/GetObjectTypeCode");
xmlhttp.send(soapXml);
var resultValue = xmlhttp.responseXML.childNodes[1].nodeTypedValue;
Subscribe to:
Posts (Atom)