Showing Scrollbar for Custom Pages in CRM


Hi,

We wanted to add a default home page to CRM web application. So for that added the following SubArea element in the SiteMap.

<SubArea Id=”nav_home” ResourceId=”Homepage_Home” Title=”Glossary” Icon=”/_imgs/area/18_home.gif” Url=”http://localhost:5555/CRMGlossaryFramePage.htm&#8221; Client=”Web” Description=”CRM Glossary” />

However the problem we were facing was that the page being too long, but still the scrollbars were missing.

Finally found this post that solved the problem.

http://eastoceantechnical.blogspot.com/2008/08/show-scrollbar-on-mscrm-titan-for_24.html

The solution was to point to a page having an iframe and making that iframe to point to the original page !

Bye..

The Microsoft Dynamics CRM Developer Toolkit


Check out this wonderful tool

http://code.msdn.microsoft.com/E2DevTkt

Bye..

The ConditonOperator.Equal requires 1 value, not 0.


This error is recieved when for ConditionExpression, we would have set

AttributeName, Operator properties but haven’t set Values property.

The below code would result in the ConditonOperator.Equal requires 1 value, not 0 error.

ConditionExpression myCon = new ConditionExpression();
myCon.AttributeName = “createdbyname”;
myCon.Operator = ConditionOperator.Equal;
//line commented for reproducing error
//myCon.Values = new object[] { “username” };

Bye..

Understanding LookUp In CRM


Hi find out this nice post about LookUp by JimWang.

http://jianwang.blogspot.com/2008/05/mysterious-crm-lookup-i.html

Do Check it ..

Bye..

Error 0x80041110 QueryByAttribute must specify a non-empty attribute array in CRM


This error occurs when using the QueryByAttribute class we are not setting the Attributes and Values Property.

 

Just like the below code

 

Say we want to have the names of all the accounts,

 

ColumnSet myCols=new ColumnSet();

            myCols.Attributes=new string[] {“name”};

   QueryByAttribute myQA = new QueryByAttribute();

            myQA.EntityName = EntityName.account.ToString();

            myQA.ColumnSet = myCols ;           

            BusinessEntityCollection myBCColl2= myService.RetrieveMultiple(myQA);

 

However we will get error in this case because we haven’t specified Attributes and Values property. So we need to specify those properties.

 

            myQA.Attributes = new String[] { “statuscode” };

            myQA.Values=new object[] {“1”};

 

Otherwise we could use QueryByExpression class for that

 

            ColumnSet myCols=new ColumnSet();

            myCols.Attributes=new string[] {“name”};

 

            QueryExpression myQE = new QueryExpression();

            myQE.EntityName = EntityName.account.ToString();

            myQE.ColumnSet = myCols;

 

            BusinessEntityCollection myBCColl1 = myService.RetrieveMultiple(myQE);

 

 

Bye ..

Logging off from Oracle\Siebel CRM On Demand Web Service within a .NET application


There are two ways of logging off from an active session within CRM On Demand

 

// pass the url in that case no need to set the header

// only set sessionid           

string logoffUrlString = “servername/Services/Integration;jsessionid=” + SessionID + “?command=logoff”;

HttpWebRequest req = HttpWebRequest)WebRequest.Create(logoffUrlString);         

// make the HTTP call

HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 

 

Or else

 

string logoffUrlString = “servername/Services/Integration?command=logoff”;

HttpWebRequest req = HttpWebRequest)WebRequest.Create(logoffUrlString);         

// set the session id in header

req.Headers[“JSESSIONID”] = SessionID;

// make the HTTP call

HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 

 

Within Web Services Utilization List of Admin Tab in the CRM On Demand application we can see the login and logout info.

 

That’s it ..