We have shifted our blog to our website http://himbap.com/blog. Follow & subscribe our new blog to get latest updates.
We have a demo virtual machine for CRM 2015. Today, when I tried to create new organization in our demo virtual machine, I got below strange error message saying “The specified SQL Server instance must run on 64-bit Windows Server 2008 or Windows Server 2008 R2” which does not make any sense to me.
Then I tried to troubleshoot this error by checking SQL server services, and found SQL Server Browser service in stopped state under SQL Server Configuration Manager.
Then when I tried to start it using right click on the SQL Server Browser, I found all the options disabled, so now way to start it. Finally I was able to start this service from Control Panel->Administrative Tools->Services and it worked. After that I was able to create my organization.
Hope it will help someone !!
Requirement : While deactivating account record, we need to get deactivation comments from user before deactivating account.
Solution: We can implement this requirement using different ways, in this post we are going to provide out of the box solution for this requirement. We can achieve this using dialog, if you are new to dialogs I suggest you to refer https://msdn.microsoft.com/en-us/library/gg509010.aspx first, where you can learn about dialogs and their component.
Idea here is hide the out of the box deactivate button for account entity and then design a dialog with prompt and response, we can ask user to enter comments and then we can update account entity description field (or you can setup your own custom field) with the comments, after that we can deactivate account record. Using following steps to design our dialog:
- Navigate to Settings -> Processes and select New button through process command bar
- Enter process name for example “Deactivate Account”
- Select category as “Dialog” and select Account under entity drop down
- Click on Add Step and select Page from drop down to add a page in dialog
- Select line under page and again click on Add Step and add a Prompt and Response.
- Click on Set Properties button and set properties like below :
- Click on Save and Close and select Page area and then add Update from Add Step dropdown, now we will update account record.
- Click on Set Properties, Select description field in account form and select Look For like below and first click on Add and then on Ok, so that comment will store in description field.
- Now finally add Change Status step from Add Step dropdown and set status to Inactive
- Our dialog steps should look like below:
- Activate our dialog using Activate button on dialog command bar
To test our dialog, now simply navigate to Sales->Accounts and select and account and click on Start Dialog button under more commands (…), it will display our dialog name, select our dialog and click on Add, it will ask for comment like below:
Click on Next button after entering comments and finish it, it will store out comment in account record and will activate account, and you check your account record under Inactive view.
We can simply hide our of the box deactivate button using RibbonWorkbench tool, you can refer our post, for how to hide system buttons.
We can change display name of the entity fields easily by editing field display name property. But we can’t change fields label used in address composite controls. In this post we are demonstrating how to relabel composite control fields.
Requirement:Relabel city field in address composite control in account entity.
Note: You can’t change field logical name once it is created.
Solution: We can implement this requirement using Java Script. We have option to access composite control using Java Script, we can refer them using following way:
<composite control name>_compositionLinkControl_<constituent attribute name>
So if we want to refer any field which is used in the composite control, We can do like following, we are accessing city field here:
<composite control name>_compositionLinkControl_address1_city
To relabel the normal fields, we can use setLabel method. so we can use the same method to relabel city as well. let’s say we want to rename city field to “Distric”. We can use following code for that:
Similarly we can refer other fields as well.You can refer composite control name from the respective entity form or you can also refer it here.
Using Code: To use this code we need to create Java Script web resource, where we can have below method. We need to call this method on Onload of the account entity form.
Now after publishing our changes, when we will open any account record we will see changes like below:
How many times have you heard “This grid is great, but I hate double clicking and going into the record to edit it, then going back to my record.” I certainly have heard it many times from many clients. In fact I feel the same way sometimes. It gets really annoying that you have to go into each record and change one attribute. Why can’t MSFT build this into the system? It’s not hard…well maybe it is.
At BusiPlanIT labs, we have done the hard work for you and come up with a solution that leverages JQuery js, JQuery UI js, and SlickGrids js. We have created a full HTML5 solution for you that works in CRM 2013 and 2015. Oh and let’s not forget the different browsers! It works on Chrome, Internet Explorer, and Firefox.
We are offering one free grid for any use in the CRM. You…
View original post 1,820 more words
There was one question today in Microsoft Dynamics CRM Community Forum, where user was looking for the information about what is the use of Entity input parameter in Actions, so thought of writing a post, so that it can help others.
About Actions: Microsoft Dynamics CRM actions allows us to define our own custom events/messages, similar to existing standard events like Create,update,delete. Actions are designed using CRM process editor or using SDK and we can define parameters both (input and output) for these actions just like we have parameters for standard messages, for example if you want to use Create message, it takes Entity object as parameter and returns record GUID as output. Once activated we can also register plugin on the same.
You can get more details about action here: https://technet.microsoft.com/en-us/library/dn531060.aspx
Action Example: We are going to demonstrate how we can create and call actions. Actions provide us option to define different type of input and output parameters, but here we are going to demonstrate use of Entity and EntityReference Parameter. So let’s take an example that we want to create Contact from Account, very simple example for the demo. While creating contact we want to use information like name, email, telephone from account entity. Now to pass this information we have two option either we can pass all these fields from account to contact one by one or we can simply pass account entity object so that required field can be collected from there. So let’s create a action where we will use two input type of parameter, Entity and EntityReference, from entity we will use above fields and using entityreference we will get it of the sales person (we have created a custom lookup field on contact entity), using following steps to design action:
- Navigate to Settings->Process->New.
- Use following details and click on OK :
- Process name: ActionDemo
- Category: Action
- Entity: None(global)
- Type: New blank process
- Add a Input parameter of Entity type for ParentAccount record like below:
- Add another input parameter of type EntityReference to get Salesperson
Now let’s say we want to use these parameters to create our contact record, so follow below steps to create contact record using these parameters:
- Click on Add Step and select Create Record step under drop down
- Select Contact under Create drop down like below and click on Set Properties.
- Now we will be using our Entity object input parameter to fetching different property and will be setting in contact record
- Select the field that you want to set, for example we want to set Account Name, so click on Account Name field and click on OK after setting following options from Form Assistant like below:
- Similar we can select other fields like Email, Mobile, Firstname, Last name from account entity object like below
- Now select the Sales person field and select out second parameter from Form assistant like below (Note: We have created a custom lookup for Sales Person field in Contact entity) and click on Save and Close
Now we need to activate our action and we can call it using server side code, client side code and using other Workflow and dialogs as well (new feature in CRM 2015). We ca use following code call our action:
//we have written method to get CRM service object
IOrganizationService service = connection.GetCRMService();
//retrieve account record using that we want to create contact
Entity accountObj = service.Retrieve(“account”, new Guid(“699D9F32-9B10-E511-80FD-C4346BAD3138”), new ColumnSet(true));
//Create organization Request object and pass action name as parameter
OrganizationRequest Req = new OrganizationRequest(“new_actiondemo”);
Req[“ParentAccount”] = accountObj; //passing our first parameter
Req[“Salesperson”] = new EntityReference(“systemuser”, new Guid(“90322292-C8EC-4A72-8B32-B79DEF7DD31C”));
//use execute method to call action
OrganizationResponse Respons = service.Execute(Req);
After execution of the code we can see in CRM contact record is created by action like below:
So in above example we show if we need to pass multiple parameter we can use Entity object instead of passing field value one by one and entity reference is used to for passing a single entity reference instance.