Archives

Archives / 2016 / June
  • FetchXML in Dynamics CRM

    Hello everybody,

    today I want to write few words about Quering CRM data. I discovered as started FetchXML. 

    Initially I was ver sceptical about xml for quering data. First of all because of debugging xml is something that I dislike, also I prefer SQL or Linq, and was quite puzzled, why we can need FetchXML.

    But with time I realized that with FetchXML you can easily do grouping operations on Dynamics CRM data. And that is something that can make life of developer easier.

    Consider following xml for FetchXML:

    <fetch distinct='false' mapping='logical' aggregate='true'>

        <entity name='opportunity'>

          <attribute name='statecode' groupby='true' alias='state' />

          <attribute name= … more

  • API for woring with Business Process Flows in Dynamics CRM

    Hello everybody,

    so I continue to familiarize myself with Dynamics CRM and for now my eyes were caught by Business Process Flows. 

    And of course, what can be interesting for programmer in any environment? Of course programming features. 

    And for client side Microsoft introduced Xrm.Page.process api.

    Below will go list of methods, which are available there.

    1. var activeProcess = Xrm.Page.data.process.getActiveProcess();

     With this method you can check is there any active process which is somehow binded to current record. It gives you process object, from which you can discover id of the process, name of process, etc. Very important part it has method getStages which will give you a … more

  • Working with option sets in Dynamics CRM

    Hello everybody,

    for now I continue to work in my learnings of Dynamics CRM.

    Here is short glimpse of working with option sets via Xrm.Page api.

    1. Get options for and option set control:

    var options = optionsetControl.getAttribute().getOptions();

    2. Clear all options currently configured for the display control:

    optionsetControl.clearOptions();

    3. Add only specific option back to the control list

    optionsetControl.addOption(option);

    // o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o

    more

  • Events for client scripts in Dynamics CRM

    Hello everybody,

    today I want to share few details about form events in Dynamics CRM.

    Here they are:

    1. OnLoad

    2. OnSave

    3. OnChange

    4. TabStateChange

    5. OnReadyStateChange

    One important aspect is to keep in mind that for each event other ISVs can join, and process form data with you. So keep in mind, that it's good idea not to make javascript killing all application. 

    Notes about each of them: 

    1. OnLoad is something, that you can't affect in any way. 

    2. OnSave gives you opportunity to validate user input and cancel saving if it not corresponds to some business logic. Also you can understand what button was initiator of save.

    3. OnChange is filed level event. It happens when … more

  • Managed and Unmanaged solutions in Dynamics CRM

    Hello everybody,

    today I want to write few words about managed and unmanaged solutions in Dynamics CRM.

    So if to put simply, each solution starts it's life as Unmanaged, which means you can modify. Sounds strange, but you can modify unmanaged solution. 

    But with managed solutions you can do nothing except publishing them. Another important detail, you can't export managed solution.

    // o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o

    more

  • Creating new Entity in Dynamics CRM

    Hello everybody,

    today I want to write a bit of information, which is related to creating entities in Dynamics CRM.

    So, let's say that you want to create some kind of new Entity. 

    For example in your Dynamics CRM you want to create entity Programmer.

    For this purpose you first of all you'll need to create some custom solution in trial edition of Dynamics CRM.

    Last time when I tried to do this trial was available here.

    After that you can follow way which is displayed at screenshot:

    Then choose solution created by you. 

    And then navigate to Components -> Entities.

    Actually you'll need to click on Entities and then button New will be available for you. 

    At screenshot you can see … more