Thursday, July 23, 2015

HowTo: Make CRM Developer Toolkit & ILMerge work together

Just a quick note. Following post-build script automates merging of custom assemblies you’ve references in your code and the same time allows CRM Developer Toolkit to pick-up merged assembly for deployment:
mkdir "$(TargetDir)Merged" 
"$(SolutionDir)ILMerge/ilmerge.exe" /keyfile:"$(ProjectDir)key.snk" /target:library 
    /copyattrs /targetplatform:v4,"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0" 
    /out:"$(TargetDir)Merged\$(TargetFileName)" "$(TargetDir)$(TargetFileName)" 
    "$(TargetDir)Microsoft.Web.Services2.dll" /lib:"$(ProjectDir)bin\debug"
del "$(TargetDir)$(TargetFileName)" /Q
move "$(TargetDir)Merged\*.*" "$(TargetDir)"


Of course to use it you have to point script to ILMerge executable, your strong name file and add assemblies you’ve used.

Wednesday, July 22, 2015

HowTo: Avoid simultaneous execution of 2 instances of same workflow for a record

Let’s imagine that you (as a consultant) use waiting workflows (booo, I know that waiting workflows are evil). But let’s imagine and you have a field on a record that is responsible for datetime till when workflow has to wait to proceed. Obviously that change of a datetime field should lead to change of workflow “waiting to proceed” time. But you can’t apply this change to workflow that is triggered already. So to complete the task you have to kill existing instance of a workflow and run new. This article describes custom workflow activity that does the trick.

Wednesday, March 11, 2015

Business Process Flow and Bulk Update of Process and Stage

Let’s imagine following situation – customer decided to use Business Process Flow for one of entities that already existed in CRM. You designed required BPF and everything looks great for new records. But what to do with existing records? Obvious answer is that you need somehow to update existing records. This article will show how to do it in easy and almost no-code way.

Sunday, March 01, 2015

HowTo: HTML/JS WebResources

We (developers) have got great feature with CRM 2011 release. If you want to give your CRM application new client side features or controls that are not available OOB on one hand and you want your solution remain supported you have to use HTML/JS webresources. This article will describe approaches, tricks and code snippets I’ve fount or developed during my usage of HTML/JS webresources.

Wednesday, January 07, 2015

HowTo: Open standard lookup window and get selected record(s)

If you are apologist of 100% supported solutions for Dynamics CRM this is a good place to close this article because it describes approach that will allow to open standard lookup dialog window of CRM and get selected values from it. Of course that customization is unsupported.

Saturday, January 03, 2015

MVP Renewed – 5

Sixth year in a row I have got MVP award. Congratulations to all MVP's who has got award first time or was re-awarded.

Thursday, December 25, 2014

Microsoft CRM 2015 and OData queries builders

Since OData endpoint was released with CRM 2011 I used CRM OData Query Designer developed by MVP fellow Rhett Clinton. Today I was working on brand new online instance of CRM 2015 and… I was not able to import lovely tool into CRM with message that solutions developed for CRM 2011 could not be imported into CRM 2015. I started to look for alternatives and found brilliant solution developed by other MVP fellow – Jason Lattimer. The great advantage of CRM REST Builder is that you can get complete code of calls using different frameworks developed for Dynamics CRM. So try, use and love this tool – CRM REST Builder.