Dynamics 365 Schedule board : Change default view mode

Recently, I had a requirement from customer to change the default schedule board view mode from Hours to Days.

sb3.png

Here are the steps to achieve it.

  1. Open ‘Schedule Board Setting’ preferably from Advance Findsb1
  2. Open the record named ‘Default’ and scroll down to ‘Settings’ field which contains JSON values under Others tab.
  3. Locate “ViewMode” and replace “hourAndDay” with “dayAndWeek” sb2
Advertisements

Dynamics CRM : Find entity name from object type code

Hey folks, Just found a quick way to find the name of the entity from its object type code by querying entitydefinitions through Dynamics 365 Web API.

Need for it comes when system throws insufficient privileges error with object type code.

<Message>SecLib::AccessCheckEx failed. Returned hr = -2147187962, 
ObjectID: 1dedbae1-2568-e511-80c3-000c298a923d, 
OwnerId: 00000000-0000-0000-0000-000000000000, 
OwnerIdType: 8 and CallingUser: abac721d-856a-e511-80c3-000c298a923d. 
ObjectTypeCode: 8, 
objectBusinessUnitId: a202a668-3be7-e511-80c7-000c298a923d, 
AccessRights: AppendToAccess </Message>

Here, difficulty comes only when the entity we are trying to find is custom entity or the entities from add-on solutions like Field Service, Portal etc. Otherwise, it can be find easily by google search.

Below the API query which you can run directly from browser. Make sure you logged into the CRM instance and try this in new tab.

https://demo.crm.dynamics.com/api/data/v8.2/EntityDefinitions?$select=DisplayName&$filter=ObjectTypeCode eq 10097

Here we go:

objecttypecode

Thanks for reading!!

Debug any third party library(.Net DLL) without source code

Debug/Step into any .Net DLL (including third party libraries) to see its internals with ease using JetBrains dotPeek – a Free .Net Decompiler

 

Introduction

Have ever imagined about stepping into(F11) the third party libraries to check out how that works? That is absolutely possible. Continue reading!!

Pre-requisite

JetBrains dotPeek – a free .Net decompiler. Just download and install it.

Steps

I will walkthrough with steps to debug/step into a method JsonConvert.SerializeOject() in the famous third part library – Newtonsoft.Json from a console application.

1. Create a console application in VS and then install ‘Newtonsoft.Json’ library either from Nuget or from local system if already exists.

2. Copy paste below code in the Console app. Refer ‘Newtonsoft.Json’ library at using section.

    public class Employee
    {
        public string Name { get; set; }
        public int Id { get; set; }
        public string Location { get; set; }
    }
    class Program
    {
        private static void Main(string[] args)
        {
            var emp =new Employee() { Id = 1,Location = "Blr",Name = "Kani"};
            var serialized = JsonConvert.SerializeObject(emp);
            Console.ReadLine();
        }
    }

2. Now open dotPeek. Click on File->Open to locate the library ‘Newtonsoft.Json’ and open it. If installed through Nuget, then it can be found uder packages folder in your console app solution folder.

3. Once loaded in the Assembly explorer, right click the library and click on ‘Generate Pdb’.

3. Specify a folder to save the PDB file generated for the library. PDB file contains the symbols for the dll which is used by VS Debugger to debug code in the dll. In this case, select only Newtonsoft.Json as we are not stepping into its dependent assemblies.

4. All set now. Lets set a breakpoint on line JsonConvert.SerializeOject() and press F5. Pressing F11 at the breakpoint hit wont do anything at this point of time. Stop the debugger. We need to do one final critical step.

5. Copy the pdb file saved earlier from the folder mentioned in dotPeek and paste it over under bin/debug folder in your project solution folder.

6. Now, You should be able to step into the method.

Happy debugging!! Play around it and do share your thoughts.