Mitch Milam's Dynamics CRM Discussions
Knowledge found and lost while working with Microsoft Dynamics CRM-
Verifying CRM 4.0 Installation File Dates the Easy Way
This morning I was verifying the version of a CRM 4.0 installation when I realized that instead of opening individual files and checking their properties, I could just ask the Windows Explorer to show me the information.
Perform the following steps:
1) Navigate to your CRM 4.0 installation folder, ( c:\program files\Microsoft Dynamics CRM ).
2) Open the Setup folder.
3) Set the View of the folder to be Details.
4) Right click on the file list grid to display the pop-up menu:
5) Click the More… menu.
6) Scroll down the Details list until you find File Version and check the box beside it:
7) Click OK and your file list will update to show something like this:
Fairly simply, I know, but it just occurred to me that this feature was available and it is surely easier than checking files individually.
Administration, Dynamics CRM 250 views -
The Visual Studio 2010 Build Configuration Dropdown Missing
I have been noticing lately that the Build Configuration dropdown list that is normally found the the Standard Toolbar is missing from my Visual Studio 2010 installation.
After a bit of digging around the Internet, I found a solution, which I’ll document further here.
The Procedure
1) Select Tools, Customize…
2) Click the Commands tab
3) Select the Toolbar radio button.
4) Select Standard from the dropdown list. The dialog should now look like this:
5) Scroll down to the bottom of the list and select the last item in the list. In my case, unmodified, the last item is Error List.
6) Click the Add Command button.
7), Under Categories, select Build. Under Commands, select Solution Configurations. You should see this:
8) Click OK, the Close
9) The Visual Studio 2010 main menu should now look something like this:
I hope that saves you a bit of searching and hand-wringing.
Development 340 views -
CRM JavaScript Export Tool Updated
I have updated the CRM JavaScript Export Tool to include the following major enhancements:
1) Added support for CRM Online.
2) Added support for the generation of a Visual Studio 2010 project.
3) Changed the naming convention of the export folder so that it also contains the date and time of the export.
Here is how the new user interface looks:
You can find it on the Free Utilities page.
Customization, Development, Dynamics CRM 389 views -
Top Search Terms that Brought People to My Blog
I was performing some maintenance this morning so I thought I’d review the search terms that brought people to my site.
It’s actually rather interesting data as it is spread across a large variety of technologies but since my blog covers a wide variety of technologies, I guess I shouldn’t be surprised.
Search Views javascript close browser 198 crm 4.0 workflow 156 crmform.formtype 141 823287 141 mitch milam ** This is my Mom trying to keep up with me.
128 sql disconnect all users 120 close browser javascript 119 javascript close window without warning 111 javascript close browser window 101 visual studio icons 80 sharepoint terminology 78 an error occurred promoting this item to 75 disconnect sql users 75 window.close without warning 74 sql disconnect users 72 sqlsmo 71 marketing list member view 70 dynamic entity crm 4.0 67 fireonchange 67 fn_utctolocaltime 57 sql 2008 disconnect users 49 locaddrelatedto 48 disconnect users from database 45 disconnect user from sql database 44 sql disconnect users from database 44 principalobjectaccess 44 cisco vpn client netscreen 43 disconnect users from sql database 43 skinning sharepoint 43 crm workflow examples 42 sql disconnect user 41 an error occurred promoting this item to 41 close window without warning 41 sharepoint custom templates 41 crm knowledge base 41 disconnect all users from sql database 40 crm sdk plugin send email 40 crm 4.0 workflows 40 launchondemandworkflowform 39 crm fireonchange 38 article 823287 38 disconnect all users from database 37 javascript close browser without warning 37 a currency is required if a value exists 36 crm dynamic entity 36 crm 4 workflows 34 workflow crm 4.0 34 deletionstatecode crm 4.0 33 crm workflows 31 close window javascript without warning 31 Misc 335 views -
Things I found interesting on the Internet: Saturday, July 10, 2010
Here are some things I found interesting while surfing the web this week:
( In no particular order )
Development
Random
SQL
- Meditation on sys.dm_exec_connections – Joe Sack's SQL Server Blog – Site Home – MSDN Blogs
- Get server-level information about the connections to SQL Server
Misc 211 views -
Sales Centric is back in action
Well, it looks like Sales Centric and their Relationship Charts product is back on the market after having taken quite a long “vacation:”
http://www.salescentric.com/relationship_charts.asp
Dynamics CRM 207 views -
Marketing List Manager Add-On Updated
I’ve updated my Add To Marketing list add-on with additional functionality and a new Name.
New Name
The new name is Marketing List Manager for Dynamics CRM
New Functionality
Marketing List Manager is an plug-in that allows you to both add and remove members from a marketing list – a feature that is not currently available in Microsoft Dynamics CRM 4.0.
Read more about it here.
Dynamics CRM, Workflow 286 views -
Learning how to query for Marketing List Members
This morning I was adding some functionality to my Dynamics Tutorials site and needed to determine if a user was a member of a specific marketing list.
No problem, I thought. I opened up the most excellent Stunnware Tools to create the query.
The only problem is that the Marketing List Member entity, listmember, does not support the RetreiveMultiple message, which means I can’t use QueryExpression to perform the query.
After digging around a while, I found that I could use QueryExpression but I would have to use the LinkEntity property to properly assemble the query. Here is what I came up with:
bool retVar = false; QueryExpression query = new QueryExpression { EntityName = EntityName.list.ToString()}; LinkEntity linkEntity1 = new LinkEntity { JoinOperator = JoinOperator.Natural, LinkFromEntityName = "list", LinkFromAttributeName = "listid", LinkToEntityName = "listmember", LinkToAttributeName = "listid", LinkCriteria = new FilterExpression() }; linkEntity1.LinkCriteria.FilterOperator = LogicalOperator.And; linkEntity1.LinkCriteria.AddCondition(new ConditionExpression { AttributeName = "listid", Operator = ConditionOperator.Equal, Values = new Object[] { marketingListId } }); linkEntity1.LinkCriteria.AddCondition(new ConditionExpression { AttributeName = "entityid", Operator = ConditionOperator.Equal, Values = new Object[] { userId } }); query.LinkEntities.Add(linkEntity1); RetrieveMultipleRequest request = new RetrieveMultipleRequest { ReturnDynamicEntities = true, Query = query }; RetrieveMultipleResponse response = (RetrieveMultipleResponse)crmService.Execute(request); retVar = (response.BusinessEntityCollection.BusinessEntities.Count > 0);
How It Works
1) We start by querying the Marketing List Entity ( list ).
2) We create a link entity that joins the Marketing List Member Entity to the Marketing List Entity.
3) The search criteria is actually specified on the linked, Marketing List Member Entity. We’re asking for a specific userId and a specific marketingListId.
4) Next we add the linked entity to the query.
5) Finally we prepare and execute the request.
Since I am only interested if the contact exists within the marketing list, I simple set a boolean variable to true or false depending if the number of records returned ( found in the BusinessEntityCollection ) is greater than zero.
References
Customization, Development, Dynamics CRM 292 views -
CRM Add-Ons Updated
Last year I created an add-on for Dynamics CRM 4.0 that I called Data Validation. It had two functions:
- User interface validation
- Email management.
This week I decided to split those functions into two separate products.
I also change the licensing from a per-organization fee to a simple flat-fee.
You may read more about these products by visiting their respective product pages:
Dynamics CRM 221 views -
Issue found while upgrading reports from SQL 2005 to SQL 2008
One of my local customers recently moved from Small Business Server 2003 to Small Business Server 2008. Among other things, this required a move from SQL Server 2005 to SQL Server 2008 as well.
The movement of the databases went pretty much without issue, but we ran into some strange behavior with some of the custom CRM reports they had created. The error looked something like this:
Not very helpful at all.
After reviewing the report in Visual Studio and still not finding any issues, I finally started looking at the system itself. That’s when I found this in the SQL Server’s Event Log:
Report data set execution failure. Error: Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
Incorrect syntax near ','.Hmm. It keeps getting better and better. Now what exactly does that mean?
Background
It turns out that when the SQL commands they had written to populate the report were sent to the SQL server, they were combined with other SQL commands.
Unfortunately, SQL didn’t like the way the commands were combined. It wanted you to use a semi-colon ( ; ) to separate the commands so it could determine how the commands should be run.
Which is exactly what the error message states.
The Solution
To fix the issue, all I did was to add a semi-colon ( ; ) to the beginning of the custom SQL statement, which looked something like this:
;WITH FilteredAccount ASAnd that solved the problem and the reports ran successfully.
Dynamics CRM, Reporting 255 views





