Tuesday, June 24, 2014

Some aspects of the composite address fields in CRM 2013

Dynamics CRM 2013 has brought many changes and some are great and some might still need some tweeking. I for one am still looking forward to be able to customized some of the new Composite fields with the fly-outs that can be seen for instance in the name of a Contact or the addresses.

There is much to be said about addresses in CRM by the way, I have previously written posts on this
and in CRM 2013 there is still interesting aspects on this as the address names are not set, in the Composite address fields why you need to make sure that these are properly set if you are going to use the address lookup functions that are available in for instance the quote, order or Invoice entity. My strong advice is also that the addresses of account and Contact be defined, for example, account address1 is visiting address and account address2 is postal address. The reason for this is it simplifies searching a lot when everyone knows what address1 is, and you can also have a workflow or Other logic that sets the addressname correspondlingly.

And just to say this again as I too often run into it, do not add fields to the account or Contact entities regarding address as the built in ones are linked by the platform to the Customer address entity and you need to fully understand how this linking is done and be able to mimic its behaviour for new fields before adding a new address field, otherwise you might be painting yourself into a corner, as the saying is in Sweden.

A nice new feature that I noticed when working with the Composite address fields is that they adapt the layout of the address to the country. See the following example:

Setting of the address in the fly-out
Postal address with Swedish format

Postal address with English format, by changing Country/Region to England.

Not sure if you can find any formatting information in CRM regarding this that can be used for Reporting or similar, that would be great though so if anyone knows anything about where this formatting is stored, please leave a comment.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB

Monday, June 23, 2014

Troubleshooting networking issues

I often run into people in the CRM field who are very good at one or two things, they might be great programmers or a fantastic trainer. However, one of the skills I believe my customers appreciate that I bring to them is not the extreme depth in a certain field but a very good knowledge of many areas all concerning CRM. This ranges from subject as varied as management Consulting to nitty gritty network fixing, or just troubleshooting why that Outlook client won't work as it should.

And it is in troubleshooting that I think that the breadth of knowledge often does you most value as it helps me to back off from the problem and view it from a different perspective. I also believe that despite the fact that you might have a fancy business card, you should get your hands really dirty to understand what is really going on and what the people are the programmers or technicians are talking about.

And the most important thing about troubleshooting, make sure you have friends, you can never know it all, but with enough friends, there are no limits to what you can know and fix! The best way to get a friend help you in troubleshooting is to help them of course.

I have recently been working a lot with networking and trying to configure RRAS which we use at our lab Environment and I struck a wall and used the Power of social media to ask if there was anyone around that could lend a hand. Thankfully there was, my friend Pete McCollough came back and we met up at a cafe and after some collaborative troubleshooting we found the error and Pete said a wise word that I will remember and would like to share, that being

- Networking is not very complex, but extremely specific

Which he had to explain to me of course as I am only a half-wit. What he meant was that compared to for instance programming Networking is not in its architecture very complex, however, not two systems are identical and usually every component has some part that has been manually configured which turns the troubleshooting hard by trying to find your way around an unknown maze.

In this case I had simply forgotten that our hosting partner had a firewall that blocked 443 and 80 why no traffic got through. I had check the other Three firewalls that the traffic passed about 15 times, but that didn't matter. I so wished I had a debugger that worked for network traffic.

I was also informed that the following blog ranks this blog among the top 50 CRM blogs in the World which of course is very honouring. Maybe I am not a half-wit after all or maybe just lucky.


Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB

Sunday, June 08, 2014

Unable to publish all in CRM 2013

I am working with a Customer now who is very savvy an wants to do a lot himself, which I generally encourage as this one of the inherent strengths of Dynamics CRM  and it would be sad to take it away. Of course we need a healthy discussion on where the line should be drawn on where he should stop configuring and I continue. In larger systems, you also need to take sandboxing/QA instancing into this perspective which of course makes it a bit trickier but this Customer is not so large so they can, at least for the time being, do their configuring directly in the system. It is always a matter of weighing the costs against the benifits.

However, we suddenly ran into a problem when we couldn't run "Publish All" any more. It just showed a dialog with a cryptic message mentioning object with id [1] missing.

My first thought was that this must be in relation to one specific entity so I started trying to publish one entity at a time (starting with the ones we have changed a lot) and I quite quickly noticed that I got an error when trying to publish Opportunity but not other entities.

I then created a new solution, added Opportunity to this and included all dependencies, and made sure to publish all dependencies Before trying to publish Opportunity, just to make sure that there wasn't some error in CRM:s causality of publishing. After doing this, I finally go an error message which said something useful, it said that a saved Query of a specifc GUID was missing. This probably meant that this Query was being used on a form in a subgrid and had been removed and when trying to publish, it would not, as the view did not exist.

I opened the form, went through all the subgrids and made sure that the selected view was an existing selection, saved and published the form and it worked. After this publish all also worked.

So the general conclusion is that you should be careful when deleting views as these might be used in subgrids, and the second conclusion is that Microsoft hopefuly will add a dependency blocker that disallows the deletion of a view that is being used in a subgrid.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB