Bloghttp://www.patrickverbeeten.com/Blogddc0b7ca-ff6e-446e-8f74-fd24102ec34ehttp://www.patrickverbeeten.com/Blog/2012/04/01/Accessing-other-resourceAccessing other resourceIn CRM 2011 Web Resources you can connect to other resources on the CRM server. This can be the CRM web services or you may want to redirect to another web resource. To do this you need the full URL which can differ depending on the deployment.Sun, 01 Apr 2012 11:40:00 +02002012-04-01T11:40:00+02:00da1fbdf8-3f91-4703-afd0-964fa6f068d9http://www.patrickverbeeten.com/Blog/2012/03/08/CRM-2011-Unmanaged-solutions-1-per-organizationCRM 2011 Unmanaged solutions: 1 per organizationIn CRM 2011 there are two approaches you can use to create solutions; Managed and unmanaged. There is lots of information available as to what the differences are, for example on channel 9. In general I would recommend using managed solutions every time you are exporting customizations from one environment to the next (in a dev, test, prod environment). But this article specifically addresses the development of applications/products using multiple solutions. I have seen various approached used and people running into problems caused by developing multiple unmanaged solutions in one organization.Thu, 08 Mar 2012 19:11:00 +01002012-03-08T19:11:00+01:001e844be6-3940-4fe8-a776-9f360ec7a0e7http://www.patrickverbeeten.com/Blog/2012/01/12/NuGet-Simple-sharing-of-Visual-studio-resourcesNuGet Simple sharing of Visual studio resourcesNuGet is an open source initiative that 'Makes it easy to install and update open source libraries in Visual Studio' or so it says on the website. Basically its a Visual Studio plugin that allows you to add packages to individual projects. These packages can contain different things such as assemblies, commonly source files etc. With support for both an online public repository as well as the ability to use local repositories it makes it a good way to save your libraries, even if it is only for your self or your team.Thu, 12 Jan 2012 21:05:00 +01002012-01-12T21:05:00+01:00f182f764-487e-4778-8fc6-0a01a14ad160http://www.patrickverbeeten.com/Blog/2011/06/03/Customization-AssistantCustomization AssistantConsider the following For most projects in CRM you have to build an entity model sometimes just a few entities but depending on your project this can be a very large number. Most consultants first create an inventory of what to create using excel, next this has to be transferred to CRM. This is a very time consuming process which requires a huge amounts of copy pasting and clicking. Then when you have it all setup the customer asks you to make some simple changes, “Could you change this decimal field to a money field?” Simple enough, no? You have to delete the field from the form and views delete the field create a new one, add it back to the forms and views again, now where was it exactly? Tough the CRM entity model provides you with rich abilities for the end user creating and modifying the entity model can be time consuming. All this time cannot be spend on providing the business logical and rules the entity model is built for.Fri, 03 Jun 2011 21:06:00 +02002011-06-03T21:06:00+02:00735e79b8-7b63-4d96-9c52-994f9f3c0985http://www.patrickverbeeten.com/Blog/2011/04/14/CRM-snippetsCRM snippetsWhen working with CRM you end up doing a lot of things over and over again.Thu, 14 Apr 2011 00:00:00 +02002011-04-14T00:00:00+02:0059e0868a-f12a-4b14-a2f1-4d985eca24a9http://www.patrickverbeeten.com/Blog/2011/01/15/CRM-2011-Solution-DevelopmentCRM 2011 Solution DevelopmentOne of the new features in CRM 2011 is called Solutions. This feature allows developers to group customizations into predefined packages and import/export these to different organizations. This basically is an improvement of the CRM 4.0 customization import/export. On top of simple grouped import/export solutions can be defined as managed, limiting the abilities to change the solution once import into a different organization. A managed solution can also be deleted.Sat, 15 Jan 2011 00:00:00 +01002011-01-15T00:00:00+01:00b5b13013-2c35-4104-8694-1f12448ef023http://www.patrickverbeeten.com/Blog/2010/11/25/Get-attribute-names-from-proxy-typesGet attribute names from proxy typesWhen coding with early bound entities you still need the attribute names in some cases, for instance when you are building a query expression. You can just add the name as a string but then you run the risk of mistyping the name. I have created a solution for this problem.Thu, 25 Nov 2010 00:00:00 +01002010-11-25T00:00:00+01:00eae7bf85-add4-4a49-96d5-dafdcfc058e2http://www.patrickverbeeten.com/Blog/2010/09/25/IntelliSense-for-XrmPageIntelliSense for Xrm.PageIn CRM 2011 Javascript is no longer embedded in forms but now has build in feature to use external resource files. You can edit these files using the web browser or in an external editor. Visual studio supports Intellisense for JavaScript, this explains how enable the support for the CRM provided objects such as the Xrm.Page object to be shown.Sat, 25 Sep 2010 00:00:00 +02002010-09-25T00:00:00+02:00bedaf095-50a7-43fd-bc65-68a578c0149chttp://www.patrickverbeeten.com/Blog/2010/06/03/Using-External-ScriptsUsing External ScriptsUsually when you are working with CRM and doing scripting you have to work in the small text box with no real coding support. Also you have the restrictions that you cannot create reusable functions etc. There allready are several examples and approaches to solve this problem but for completion I have added these examples. This contains two different approaches one using files location on the CRM server the other using resources files.Thu, 03 Jun 2010 00:00:00 +02002010-06-03T00:00:00+02:00465a87cf-c2e9-4a3a-a488-a85065ce6e45http://www.patrickverbeeten.com/Blog/2010/04/30/Copy-a-recordCopy a recordFor some records it can be very usefull to copy it. This avoids repetive entry of the same data. If you have a relation on the entity which references itself you can do this using a mapping. But if you do not have a relation and do not whish to create on you can copy the values using the following sample.Fri, 30 Apr 2010 00:00:00 +02002010-04-30T00:00:00+02:0024d9394f-d2c9-49f3-b9ea-5b7798b24f6chttp://www.patrickverbeeten.com/Blog/2008/09/12/Microsoft-CRM-Date-valuesMicrosoft CRM Date valuesCRM support user working in multiple time zones by storing alle date time values as UTC. This way the time can be easily adjusted to the users time zone setting. This article explains this in a bit more detail. This also applies to date values, some dates such as a birth date can be fixed regardless of time zone. CRM will still adjust these to the time zone, this may show as a full day difference in the user interface.Fri, 12 Sep 2008 00:00:00 +02002008-09-12T00:00:00+02:00460807a0-d26e-4f3f-b2c7-f907a66209c3http://www.patrickverbeeten.com/Blog/2008/06/24/Waiting-workflowsWaiting workflowsIn CRM 4 workflows can have the status waiting when an they are waiting for an event such as a timer or they will also have this status if an error has occured. To find out which take the following steps.Tue, 24 Jun 2008 00:00:00 +02002008-06-24T00:00:00+02:0080445a09-ebc8-4b81-9e0f-e36299b6bf5ahttp://www.patrickverbeeten.com/Blog/2008/04/29/Cross-domain-remote-debuggingCross domain remote debuggingWhen you are developing with a virtual PC which is running in its own domain or want to debug any other system which is in a different domain than you own user remote debuggin will normally fail on authentication errors.Tue, 29 Apr 2008 00:00:00 +02002008-04-29T00:00:00+02:00df0a936e-c151-47cd-8ece-b8a92d414033http://www.patrickverbeeten.com/Blog/2008/03/25/Plug-ins-and-Workflows-Extension-of-Microsoft-CRM-40Plug-ins and Workflows: Extension of Microsoft CRM 4.0Microsoft CRM 4.0 has several methods to add functionality, to create custom workflow in CRM you have two options plugins and workflows.Tue, 25 Mar 2008 00:00:00 +01002008-03-25T00:00:00+01:00ed224193-e647-494d-b8ba-211feebdf440http://www.patrickverbeeten.com/Blog/2008/03/05/Generating-an-Date-table-in-SQLGenerating an Date table in SQLIn reporting queries it happens often that you need a ruler of some sort for instance a table containing all days between a start and end date. You can generate such tables by using a looping construct but this isn't the strong point of SQL.Wed, 05 Mar 2008 00:00:00 +01002008-03-05T00:00:00+01:006c287b24-541a-4f98-b9c5-8f080baf4253http://www.patrickverbeeten.com/Blog/2008/01/25/CRM-40-Plug-in-message-input-parametersCRM 4.0 Plug-in message input parametersThe CRM 4.0 plug-in model offers great capabilities. But when working with the plug-in messages you would need to know which input and output parameters are available. Unfortunaly this is not (yet) in the supplied documentation, but here it is.Fri, 25 Jan 2008 00:00:00 +01002008-01-25T00:00:00+01:00b7ee65ea-072c-4792-a47c-a38dd9d64e3ehttp://www.patrickverbeeten.com/Blog/2007/08/16/Localhost-and-integrated-securityLocalhost and integrated securityOne thing I allways run across when installing a new server is that it won't allow connections over the loopback interface when using integrated security. I usually test the applications from the server console and everytime they give errors; 401.1 for most applications but the Microsoft Virtual server administration console for instance returns status 500 with a message parameter incorrect.Thu, 16 Aug 2007 00:00:00 +02002007-08-16T00:00:00+02:0069249081-90a9-495a-afa5-aae89423d022http://www.patrickverbeeten.com/Blog/2007/07/01/Generic-strong-Type-String-to-Any-ConverterGeneric strong Type String to Any ConverterThis class is written for conversion of xml node values to a .NET type but can also be used to with plain strings. Accepts an XML node an returns strong type value of any convertible typeSun, 01 Jul 2007 00:00:00 +02002007-07-01T00:00:00+02:00195c74ba-ca8c-41e4-be3d-459630ce4817http://www.patrickverbeeten.com/Blog/2007/07/01/The-CRM-webserviceThe CRM webserviceThe Crm 3.0 webservice is a great improvement on the 1.2 version but still due to the nature of webservices working with it can require some quite elaborate code. You need to instantiate the class, configure security, create a ColumnSet, add columns to the column set and finally execute the Retrieve method and cast its result. This results in about 10 lines of code for such a simple action. Using partial classes introduced in the .Net 2.0 framework you can extend the Webservice without lossing the easy of recreating the webproxy when you change or and a type. Using generics you can even enforce type safety at compiletime.Sun, 01 Jul 2007 00:00:00 +02002007-07-01T00:00:00+02:00