Feeds:
Posts
Comments

Archive for the ‘CRM 4.0’ Category

The Application Areas in Microsoft Dynamics CRM 4.0 include Workplace, Sales, Marketing, Customer Service, Settings and Resource Center. New areas can be added or existing Areas can be removed. However, removing the Settings area is not recommended. You should use privileges to control access to Settings instead.

The Navigation Pane will not display Area elements without visible SubArea elements. SubArea elements may be hidden from users based on security privileges. If all the SubArea elements in an Area are hidden, or none are defined, the Area will not display.

The following script can be used to add New area in Navigation pan under sit map.

<Area Id=”Custom_Area“>
<Titles>
  <Title LCID=”1033” Title=”English Area Title”/>
  <Title LCID=”1031″ Title=”German Area Title”/>
</Titles>
<Descriptions>
  <Description LCID=”1033″ Description=”English Description”/>
  <Description LCID=”1031″ Description=”German Description”/>
</Descriptions>
<Group Id=”Custom_Group”>
  <SubArea Id=”Custom_SubArea”
   Url=”http://my_app/my_page.aspx&#8221;
   AvailableOffline=”false” >
   <Titles>
    <Title LCID=”1033″ Title=”English SubArea Title”/>
    <Title LCID=”1031″ Title=”German SubArea Title”/>
   </Titles>
  </SubArea>
</Group>
</Area>

Read Full Post »

CRM Form Types

Is the user creating a new record?
crmForm.FormType == 1

Is the user updating an existing record
crmForm.FormType ==2

Is the user unable to update this record?
crmForm.FormType == 3

Is this record deactivated?
crmForm.FormType == 4

Is the user using the Quick Create form?
crmForm.FormType == 5

Is the user using the Bulk Edit form?
crmForm.FormType == 6

What is the unique ID for this record?
= crmForm.ObjectId

What type of record is this?
= crmForm.ObjectTypeCode

What type of record is this (Entity Name)?
= crmForm.ObjectTypeName

Is the user using the Outlook Client?
crmForm.IsForOutlookClient==true

Is the user using the Outlook Light Client?
crmForm.IsForOutlookLightClient == true

Is the user working On line?
crmForm.IsOnline==true

Have any fields in this form been changed?
crmForm.IsDirty==true

Read Full Post »

You might get a question when opening CRM in Internet Explorer. The question is:

The webpage you are viewing is trying to close the window.
Do you want to close this window?
yes no

This message does appear in CRM 4.0 only when you are using Internet Explorer 7.0 and you have enabled the application mode setting. Nevertheless, it is an anoying message which you can get away!

To get rid of this message open the default.aspx file which resides in the root of the CRM website. In this file there are these three lines of code:

var oMe = window.self;
oMe.opener = window.self;
oMe.close();

Modify the second line of this snippet and end up with these three lines:

var oMe = window.self;
oMe.open(”,’_self’,”);
oMe.close();

You now will not have the message anymore. Keep in mind that any update or migration might remove this change, but you should be able to reapply the change easily again.

Read Full Post »

How to rename area’s

Quite often I see the question “how do I rename an area in CRM v3.0?”.

I could write an own example, but Arne Janning already did so in the public community. Here’s his post:

In the CRM-web-client click –> Settings –> Customization –> Export Customizations –> mark Site Map –> More Actions –> Export Selected Customizations –> Hit OK on the dumb dialog.

You get a customizations.xml-file to download. In that file you’ll find five area-elements: Workplace, SFA, MA, CS, Settings. These areas define the top-level structure of the “Wunderbar” (the Outlook-style navigation).

This is an example for an area-element:
<area id=”SFA” shape=”RECT” coords=”0,0,0,0″ resourceid=”Area_Sales” icon=”/_imgs/sales_24x24.gif” descriptionresourceid=”Sales_Description”>
To customize this you could add the “Title”-attribute to overwrite the ResourceId:

<area id=”SFA” title=”Clients” shape=”RECT” coords=”0,0,0,0″ resourceid=”Area_Sales” icon=”/_imgs/sales_24x24.gif” descriptionresourceid=”Sales_Description”>The strucure of the sitemap is well documented in the SDK, which BTW has been updated and improved lately :o)

Microsoft CRM 3.0 SDK

Client Programming Guide –> Navigation Configuration: SiteMap

Once you have finished your customizations in the sitemap you can upload the again:

Settings –> Customization –> Import Customizations –> select your file –> upload, publish and hit F5 to reload the Wunderbar.

Hope that helps.

Read Full Post »

Set a lookup to NULL

when you’re working in server side code:

Entity.Lookup = new Lookup();
Entity.Lookup.IsNull = true;
Entity.Lookup.IsNullSpecified = true;

this also works for customers:

contact.parentcustomerid = new Customer();
contact.parentcustomerid.IsNull = true;
contact.parentcustomerid.IsNullSpecified = true;

If you’re working in a client side javascript, then use this approach:

crmForm.all.lookupschemaname.DataValue = null;

Read Full Post »

You can just open the Advanced find page and build the query as you like. Then run the query to see if it returns the data as you wish it should. If you are satisfied with the results and you want to know what query was sent into the CRM Framework, then press F11 to get the address bar and enter this script and press enter.

javascript:alert(resultRender.FetchXml.value);

If you get a warning about leaving the page, just press ‘ok’ and then the query which is sent to the framework opens up in a popup. Unfortunately you cannot select the text to copy and paste. But with Windows XP and Windows Server 2003 you can copy all text on the popup by clicking somewhere on the popup (not on the button “OK” ofcourse) and pressing ctrl+c. Now in notepad you can paste the text of the FetchXML.

Good luck!

Update: Thanks to Piotr in the comment section I have learned the javascript prompt command. Try this instead of the alert:

javascript:prompt(“my query:”, resultRender.FetchXml.value);

Read Full Post »

First off, I want to give a big thank you to Jeremy Winchell for writing up the post that got me started in the right direction for this solution.

For those of you that customize Microsoft Dynamics CRM 4.0, like I do, then likely one of the things you repeatedly run into is clients and users that need to have better names for their actions.  Changing these names on the main navigation page relatively simple, but what about on all the other pages, like Contacts, Accounts, etc.?  These, for whatever reason Microsoft had, aren’t removable or changeable.  It’s a really painful oversight to have to tell a client that even though you have renamed “Products” to “Hardware”, they’re going to have to remember that it’s still going to be “Products” in a few places.  Hopefully the next version of CRM will have the capability to alter and remove these natively, but until then, we’ll have to roll our own.

 Warning, the following actions are not supported or even documented by Microsoft.  Use at your own risk.

Now that the disclaimer is out of the way, let’s take a look at the meat of the solution.  First, go to the customization area of the Entity you want to change, and open its form view.  In there, click Form Properties and enable JavaScript for the OnLoad action.  The link above has pictures if you’re not sure how to get there.

Now you will need the JavaScript:
document.getElementById(“%variableName%”).style.display = “none”

So in this line, %variableName% is the variable related to the button on the left-hand nav.  “none” will hide this element entirely.  (Also, make sure if you copy and paste that you don’t end up with retarded Word-style quotes.  That happened to me and I spent 10 minutes trying to find a typo in my code)

If you want to change the display name of a button, then you have a bit more work to do.

Again, the JavaScript:
document.getElementById(“%variableName%”).innerHTML= “<img src=\”%imageLocation%\” /> %displayName%”;

Here, you will see that we’re using innerHTML to actually change the content of that button.  Now you don’t have to have the image code in here, but if you leave it out, then your link won’t have an image anymore, and will just be text.  If you want to keep the image, the best thing I have found is to use the IE Dev Toolbar and then look at that button’s properties (to get the IE Dev toolbar on a popup screen, hit Ctrl+N).  You will see the link to the default image there.  This is going to be different for every CRM install, so I have not included it on the table below. Then just change the Display Name with whatever you want the button to actually say, and you’re set!  Note that the quotes around the image location have to be escaped.

Below is a list of the links, their variable names, and their default Title.  From there, making changes to the left nav of any entity in CRM should be simple.   You will see repeats of some.  The reason for that is because MS was not 100% internally consistent in its naming scheme.  For example, Cases is IDed by both navService and navCases, depending on where you are.  For those, I would either try both, or check on the screen itself.

Link

Link ID Name

Default Title

Activities

navActivities

View Activities

Campaign Activities

navCampaignActivities

View Campaign Activities

Campaign Responses

navCampaignResponses

View Campaign Responses

Campaigns

navCampaignsInSFA

View Campaigns

Campaigns

navCampaignsInList

View Campaigns

Cases

navService

View Cases

Cases

navCases

View Cases

Competitors

navComp

View Competitors

Competitors

navComps

View Competitors

Contacts

navContacts

View Contacts

Contacts Excluded

navBulkOperationFailures

View Contacts Excluded

Contacts Selected

navTargetedMembers

View Contacts Selected

Contract Lines

navContractLines

View Contract Lines

Contracts

navContracts

View Contracts

Documents

navDoc

View Documents

E-mail Messages Created

navBulkOperationSuccesses

View E-mail Messages Created

Existing Products

navExistingProducts

View Existing Products

History

navActivityHistory

View History

Information

navInfo

View general information about this record

Invoices

navInvoices

View Invoices

Marketing List Members

navListMember

View Marketing List Members

Marketing Lists

navListsInSFA

View Marketing Lists

More Addresses

navAddresses

More Addresses

Opportunities

navOpps

View Opportunities

Orders

navOrders

View Orders

Other Contacts

navContacts

View Other Contacts

Planning Tasks

navTasks

View Planning Tasks

Price List Items

navPrices

View Price List Items

Products

navProducts

View Products

Quick Campaigns

navMiniCampaignsForList

View QuickCampaigns

Quotes

navQuotes

View Quotes

Related Campaigns

navCampaigns

View Related Campaigns

Relationships

navRelationship

View Relationships

Sales Literature

navCollaterals

View Sales Literature

Sales Literature

navSalesLit

View Sales Literature

Sub-Accounts

navSubAct

View Sub-Accounts

Sub-Contacts

navSubContacts

View Sub-Contacts

Substitutes

navSubs

View Substitutes

Target Marketing Lists

navTargetLists

View Target Marketing Lists

Target Products

navTargetProducts

View Target Products

Workflows

navAsyncOperations

View Workflows

Write-In Products

navWriteInProducts

View Write-In Products

 

So now you should have all the tools you need to customize the Entity Screens into something useful for your clients and users.  And don’t forget, if you break something, you can always just delete the JavaScript and start over.

Read Full Post »

Here’s a very quick overview of how to debug your OnLoad, OnSave and OnChange event scripts:

Open the Internet Explorer settings and select the Advanced tab. In the list of available options find the “Disable Script Debugging (Internet Explorer)” setting and make sure it’s unchecked.

Open any script you want to debug and place the following just before the statement where you want to start your debugging session:

debugger
That’s all, no semicolon, nothing else. To test it, run your form from the designer (preview mode) or publish it first. Once the script engine reaches the debugger statement, a list with all available debuggers is presented to you, including the Microsoft Script Debugger, Visual Studio 2003, Visual Studio 2005 or whatever is registered as a script debugger on your machine. You should try all debuggers to find the one you’re most comfortable with and mark it as the default.

Like any other statement, you can simply comment out the debugger statement, so
//debugger

will actually turn off debugging.

All users that have not unchecked the “Disable debugging” setting in IE will not be prompted to start a debugger. However, you should make sure that you remove these statements before publishing them to a production environment. The easiest way to ensure it is to export all customizations and search the export xml file for “debugger”.

 

Read Full Post »

Entity relationships of MS CRM 4.0

1. One-to-Many System-System (1:n)In CRM 4.0 you can link system entity to another system entity. The child system entity has a lookup field to associate it with a parent system entity.

 

2. Self-Referential

In CRM 4.0 you can link An entity to itself. For example a Case can be linked to a master Case.

3. Multiple Relationships Between Entities

Many of you know about mulitple lookups issues with same entity, now it can be achieved in MS CRM 4.0 e.g the Account entity might have two relationships with a Contact entity – a primary and secondary Contact.

4. Many-to-Many System-System, System-Custom & Custom-Custom (n:n)

In CRM 4.0 this is major requirement for many to many relationship, now it is possible . Not only will this remove the need to build a “joining” entity, but you have control over how the relationships show up in the UI.

Read Full Post »

You can increase size of attachment in MS CRM. by default it is 5mb.

1. Open the web.config of MS CRM

2. Locate httpRuntime the key within the element and change the values to the following:

httpRuntime executionTimeout=”9999″ maxRequestLength=”10240″

3. Locate httpRuntime the key within the element of the element, and change it to the following:

httpRuntime maxRequestLength=”10240″

save the web.config and restart IIS.

Regards,
Siva

Read Full Post »

Older Posts »