Managing JavaScript Code in CRM


Hi,

Most of the time while writing JavaScript in CRM, we end up writing duplicate code i.e.

For e.g. if there are two fields say field1 and field2  and on selection of a particular value in field1,  we would like to make field2 mandatory.

Here we would first write the code for that in the onSave event of the field1.

Than again we would have to put the same code in the onload event also to reflect the same condition.

After some time it becomes really difficult to maintain it!

However there is a solution to that, just browsing through stunnware site, got this particular article on reusing Javascript.

Please go through that !!

Reusing code in OnLoad and OnChange event handlers

Just thought of sharing it ….


Cancelling OnSave event CRM JavaScript.


Hi,

To cancel save event we need to use this line of code

event.returnValue=false;

followed by

return false;

To know more about it

http://msdn.microsoft.com/en-us/library/cc150868.aspx

To understand difference between event.returnValue=false and return false, check out this informative article

http://webdevelopersjournal.com/articles/jsevents2/jsevents2.html

Bye..

JavaScript on click of Finish Button in Survey – SharePoint


Hi,

We had created a survey and wanted some message to appear when user clicks on finish button.

Through one of my colleague i came to know about this function — PreSaveAction

function PreSaveAction()
{
alert(“Thanks for the participating in the survey!”);
return true;
}

Placing the above function in the newform.aspx using SharePoint designer  did the trick.

We could use the PreSaveAction function for custom validation as well !

http://edinkapic.blogspot.com/2007/10/add-javascript-date-validation-into.html

Bye..

CrmSecurityException: Could not find GUID for server — servername


Hi,

I was getting the following error “Invalid domain name. Domain name is either invalid or unreachable” while trying to register a plugin.

Found this kb article

http://support.microsoft.com/kb/948593/EN-US/

So installed update rollup 4.0

http://www.microsoft.com/downloads/details.aspx?FamilyID=0ddf8e83-5d9c-4fe7-9ae6-f2713a024071&displaylang=en

After that on trying to open CRM started getting the could not find GUID error.

Not very sure, but it has something to do with ActiveDirectory i guess.

Anyways uninstalled the Rollup 4 and to my surprise everything started working normally, even i was able to register plugin without any issues!!

Just thought of sharing the same !!

Failed move data for entity during action , countRows error while going offline CRM 4.0


Hi,

Found out two good article to solve the above problem

http://blog.customereffective.com/blog/2009/03/troubleshooting-offline-synchronization-with-microsoft-dynamics-crm-40-for-outlook.html

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

Bye..

Configuration file for CRM 3.0 Callouts


Hi,

In callouts in CRM 3.0, for providing configuration information we used to create our own config file.

The naming convention that we used to follow was

AssemblyName.dll.Config

And we used to deploy it at the same location as callout i.e. server/bin/assembly

The structure of the config file used to be

<?xml version=”1.0″ encoding=”utf-8″ ?>
<config>
<crmurl>http://servername:5555/mscrmservices/2006/crmservice.asmx</crmurl&gt;
<loglocation>C:\CrmLog\PluginLog.txt</loglocation>
</config>

To read the config values in the callout we used to have this following code

string assemblyLocation=System.Reflection.Assembly.GetExecutingAssembly().Location;
string crmUrl=GetConfigValue(assemblyLocation,”crmurl”);

The GetConfigValue function

private static string GetConfigValue(string AssemblyName,string KeyValue)
{
string Filename=AssemblyName+”.config”;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Filename);
XmlNode crmNode = xmlDoc.SelectSingleNode(“//”+KeyValue);
string tagValue=crmNode.InnerText.ToString();
return tagValue;

}

Actually I was working with callouts after so many months, so thought i should save the above information for future reference!!

Bye…