Showing a custom aspx deployed in ISV in IFrame of CRM form (CRM 2011)


We had one of our web application deployed inside ISV folder in CRM 2011. We were showing one of the aspx pages in it inside an IFrame of a form.

First we specified the relative url like this for URL field in CRM form

/ISV/myWebApplication/Default.aspx

However on form we were getting page not found error.

Using developer tools, we found out that it was taking the url (src) for the iframe as

/contoso/isv/myWebApplication/Default.aspx

It was appending the organization name to it.

In CRM 4 this wasn’t the case.

Then we gave the absolute url for URL field in IFrame.

http://servername/isv/myWebApplication/Default.aspx.

However this time also we got page not found error. The url that it was using was

http://servername/contoso/isv/myWebApplication/Default.aspx i.e. again appending orgname to it.

The way we got it working was to define the src of the Iframe dynamically in the form onload event’s JavaScript.

function IframeSrc(){

crmForm.all.IFRAME_Map.src=”/ISV/ myWebApplication / Default.aspx”;

}

Hope it helps !

Wonderful tools to learn Linq and oData Query for CRM 2011


Check out these wonderful tools to lear Linq and oData Query

Bye.

Using Organization.svc in Silverlight Application


Hi,

While searching for how to use Organization.svc within a silverlight application, i found these 2 helpful posts

http://msdn.microsoft.com/en-us/library/gg594452.aspx#Y1145  

http://erikpool.blogspot.com/2010_12_01_archive.html

The other easier option that i can think of is creating a custom wcf service that uses Organization.svc and using this custom wcf service in the silverlight application.

Download the solution here 

http://www.box.net/shared/pgditixq1o

Bye.

The organization database version is not supported for upgrade – error while importing organization in CRM 2011


After restoring the database to the server, I got the following error while importing the organization using the Deployment Manager

The build version of the database that I was importing was different than the build version of the database of the organization that I already had there.

http://support.microsoft.com/kb/946594 ( to find the build version of the database)

The one we were importing had higher build version.

Than we installed the update for Microsoft Dynamics CRM 2011 Release Candidate

http://support.microsoft.com/kb/2461082

Restarted the server and was able to import the organization successfully.

Hope it helps.

Get value for OptionSet in CRM 2011


To get the value for OptionSet we can use the following function

private
string GetOptionsSetTextOnValue(IOrganizationService service, string entityName, string attributeName, int selectedValue)
{

RetrieveAttributeRequest retrieveAttributeRequest = new
RetrieveAttributeRequest
{

EntityLogicalName = entityName,

LogicalName = attributeName,

RetrieveAsIfPublished = true

};
// Execute the request.

RetrieveAttributeResponse retrieveAttributeResponse =(RetrieveAttributeResponse)
service.Execute(retrieveAttributeRequest);
// Access the retrieved attribute.

Microsoft.Xrm.Sdk.Metadata.PicklistAttributeMetadata retrievedPicklistAttributeMetadata =(Microsoft.Xrm.Sdk.Metadata.PicklistAttributeMetadata)

retrieveAttributeResponse.AttributeMetadata;// Get the current options list for the retrieved attribute.
OptionMetadata[] optionList =
retrievedPicklistAttributeMetadata.OptionSet.Options.ToArray();
string selectedOptionLabel = string.Empty;

foreach (OptionMetadata oMD in optionList)
{
if (oMD.Value == selectedValue)
{selectedOptionLabel = oMD.Label.UserLocalizedLabel.Label;

}

}
return selectedOptionLabel;

}

http://www.codeproject.com/Tips/553178/Get-the-OptionsetValue-and-OptionsetText-for-Dynam

 

Hope it helps !

Using OrganizationServiceClient in CRM 2011


 Add Service Reference to the Organization WCF service in the application.

URL àhttp://servername:port/OrganizationName/xrmServices/2011/organization.svc 

Use the following code to perform various functions using OrganizationServiceClient 


Entity myContact = new Entity();

myContact.LogicalName = “contact”; 

AttributeCollection myAttColl = new AttributeCollection();

myAttColl.Add(new KeyValuePair<string, object>(“lastname”, “Rana”));

myContact.Attributes = myAttColl;
ClientCredentials credentials = new ClientCredentials();

Uri organizationUri = new Uri(http://servername:port/organizationname/xrmServices/2011/organization.svc&#8221;);

try
{
OrganizationServiceClient orgClient = new OrganizationServiceClient();
 

orgClient.ClientCredentials.Windows.ClientCredential = new System.Net.NetworkCredential(“username”, “password”, “domain”); 

orgClient.Create(myContact);

}
catch (Exception ex)
{

throw ex;

} 

Hope it helps.