Showing posts with label #crmnovice. Show all posts
Showing posts with label #crmnovice. Show all posts

Sunday, September 15, 2024

D365CE | Alternative to Input Mask PCF control

It's been quite a while since the input mask PCF control has been retired in Dynamics 365 CE.

I recently had to implement a mask on phone number fields and was disappointed to learn that Microsoft had retired the control and hasn't offered any alternatives.

So I had to look for other options and I came across this Check Phone Number PCF control which I found it to be very comprehensive. You can read the full documentation on github.

Steps and options to configure

  • Once you download and import the solution, you can select the field on which you want to enable the component.
  • The Output format helps you transform to the following:
    • International: +91 87855 85545
    • National: 87855 85545
    • E164: +918785585545
Note: I prefer the E164 format. Sure it isn't readable, but it is easier during search because it is impossible to remember the correct format for all the country codes. Having said that, it depends if you're implementing this for only a particular country, then an International or National format could work better for you.
  • You can setup the default country code. When you enter the number without any code, a default country code is automatically setup.
  • You can also setup a list of allowed and excluded country codes. To setup the allowed country codes, you can follow the list here or check the screenshot for an example: ISO 3166 (alpha 2) country codes needs to be used.
  • You can also specify whether you want to phone call button to be shown and which app must be the default calling app.

Here are some sample numbers I have entered for UAE, Italy and India.



Hope this helps!

Wednesday, June 19, 2024

All about Addresses in Dynamics 365

We had a requirement regarding addresses that had to be addressed in Dynamics 365 CE. I thought to share it.

Requirements

  • To be able to select the following fields as a dropdown, preferably a lookup. Fields: District, City and Country because the District and City list may continue to expand in the future.
  • To be able to add multiple addresses against the Account. 2 or more.
  • In case we need to update an address, there must be a provision in the Address table to select the District, City and Country as well. i.e., these fields must be available in the Address table as lookup fields.
These requirements sound simple to implement, however the address entity lacks flexibility due to which we had to think of a workaround.

Things I have learnt about Addresses

  1. On the Account we can add maximum 2 addresses. Address 1 and Address 2. Let's call this embedded address. If we need to add a 3rd address related to an account, we need to create a new address record (in the related system Address table).
  2. While the Country and State fields are available, these are text fields in the embedded address and related system address table.
  3. The related address table is non-customizable. We cannot add additional lookup fields in that entity.
  4. When an Account or Contact record is created, blank Address records are automatically created and linked to the Account (or Contact). These are associated with the embedded address records and are numbered as "addressnumber" 1 and 2. addressnumber 1 represents invoice address and 2 represents delivery address by default.
  5. The system Address tables don't have lookup to Account or Contact. The relationship is identified by 2 fields namely, "objecttypecode" and "parentid". objecttypecode recoginzes if this related address is linked to "Account" or "Contact" and parentid is the actual GUID value of the Account or Contact.

Workaround to address the limitations

Since the system Address entity is linked and tightly integrated in Dynamics 365 CE, we couldn't replace the system Address table with new custom Address table. I am saying this because, system Address primarily linked to Account and Contact, but when we update the address on Lead and qualify it, the embedded Address and correspondingly the system Address records are also updated. Also, indirectly linked with Opportunities, Quotes and beyond. If you're considering dual write integration with Dynamics 365 F&O, these are again tightly integrated there.

Having analyzed this, we went ahead with a custom Address entity but ensured we are keeping the system Address entity records in sync as well.

What did we do?
  1. We created 3 custom lookup fields called District, City and Country on the Lead, Account and Contact tables for easy data entry from users perspective. When the user selects these fields, we populate the OOB District, State and Country text fields and those are automatically updated in the related system address records.
  2. We introduced a custom address entity and ensured the user uses this for their data entry and viewing. When the user updates the embedded address, we also need to create custom address records related to Account.
  3. When the custom address records are updated, we need to update the related system address entity records.
  4. When a new custom address is created, we create a related system address entity record and link it with the respect Account by updating the objecttypecode and parentid.
  5. When the custom address is deleted, we need to also delete the related system address record and update the embedded addresses if the addressnumber matches. By update I mean we had to clear the values in the embedded address fields on the Account record.
  6. For the most part we can treat system Addresses as a target only, as they are a copy of the custom Address entity data. We can set up a business process and data entry process in such a way that system addresses are not updated, however, if some process we don’t know about updates a system Address, it needs to get reflected up to the custom Address as well.
Hope that helps!

Saturday, March 30, 2024

D365 CE | Identify and clean up storage space

Accumulation of data over time can lead to storage issues that in turn impacts system performance in Dynamics 365 Customer Engagement (CE). If you're receiving constant notifications, it means you are reaching the capacity limits or already over capacity.

Here's how you can analyze the database capacity usage and steps you can follow to clean up the data using Power Platform, Bulk Record Deletion and Advanced Find.

Check Database Capacity

Here are the steps:

  • To check database capacity navigate to Power Platform Admin Center.
  • Click on Resources > Capacity. This takes you to the summary page that shows you the overall database usage and percentage available / over. In this case you can see that the Log is much over capacity. So let's see what do these Logs contain.


  • If you click on Dataverse located across  the page as a tab next to Summary, you can see all the Environments and usage based on area like Database, File or Log storage.
  • Click on the chart icon to see the details.


  • Here you can see based on the area and tables that are occupying the most storage. In the below image you can see how the Log usage for table AuditBase has been growing exponentially.
So let's delete the Audit Logs and follow other methods to delete data from specific tables.



Free up storage capacity

  • To do so, navigate to Power Platform Admin Center and click on the Environments.
  • Select the Environment for which we need to delete the audit logs.


  • Select Delete Audit Logs. You can also setup how long you want to retain the logs for for automatic ongoing maintenance.


  • A window will pop-up from the right where one can select appropriate action.


Note: The system can take up to 24 hours to update storage information. It is recommended to wait up to 24 hours and monitor your storage.

This is one of the methods you can use to free up storage space.
  • Similarly you can delete PluginTraceLogs (Advanced Settings > Settings > PlugIn Trace Logs).
  • WorkflowBase


  • Notes with attachments.


Hope this helps!

Tuesday, October 17, 2023

Troubleshoot Dual-Write Issues in Dataverse and F&O Apps

I have written couple of articles on Dual-Write lately. Mostly on issues that we've been facing lately and how we have come to fix them. These post is where I bring them all together. You can think of this blog post as a summary of all the issues and fixes until now and will continue to update the same in the future.

Also certain topics don't need a separate post. Will write about them here directly. Starting below with the posts that I have written previously.

Previous Posts


Unable to create a Quote in Dynamics 365 Sales App

This was because we were receiving an error

"Write failed for entity CDS sales quotation header with unknown exception - BOX API can't be used from non-interactive sessions."

 Click here to read the post.


Privileges required for dual-write initial sync

There are certain security roles and privileges required to perform initial sync of tables via dual-write.

Click here to read the post.


Unable to delete postal addresses in Dynamics 365 Sales

This happened because there were related records, and I wasn't able to delete them too.

Click here to read the post.


Unable to create an order from a quote in Dynamics 365 Sales App

Here is the precise error that I was receiving.

"Write failed for entity CDS sales order lines V2 with unknown exception - Inventory dimension Site is mandatory and must consequently be specified.\nUpdate has been canceled."

Click here to read the post.


Other Issues


Unable to load the dual-write module in a Finance and Operations App

If you're unable to open Dual-write page by selecting the Dual Write tile in the Data management workspace, most likely data integration service is probably down.

For this you would need to create a MS support ticket and request a restart of the data integration service.

Wednesday, September 27, 2023

Unable to update Order Product using Workflows in D365 CE

Here is a note for y'all, something to keep in mind when working with workflows in Dynamics 365 Customer Engagement (D365 CE).

You can create a workflow (i.e., initiate a workflow) on the following tables:
  • Opportunity Product
  • Quote Product
  • Order Product
But when you add a step to Update record within the workflow, you'll notice that you cannot update the above mentioned tables (entities). You can however update any of the related tables linked with these tables.

Add Price List Items too into the above mix. Can create a workflow based on this table, but cannot update Price List Item record using a workflow step.

I believe the workaround would be to use Power Automate flows instead of Workflows. I haven't tried this as yet, but I believe it is possible.

Hope it helps!

Thursday, August 17, 2023

Dual-Write | Unable to create Order from Quote in D365 CE Sales

While converting a Quote into an Order in D365 CE Sales, I was receiving an error message that went like:

Dual Write core application error-Dual Write core application error-Unable to write to Finance and Operations apps due to following error(s): {"Write failed for entity CDS sales order lines V2 with unknown exception - Inventory dimension Site is mandatory and must consequently be specified.\nUpdate has been canceled."} Please rectify your data and try again. If issue persists after multiple retries, please contact your system administrator.

Since dual write is seamless integration and data synchronization across D365CE and D365FO and as the default shipping site and warehouse is required while creating the Order in F&O, we need to ensure that the value is populated prior to creating the Sakes Order. 

Solution

While encountering an error can be frustrating, the good news is that there is a solution.

In this case, the remedy involves performing relationship mapping between the Quote and Order entities. Relationship mapping essentially defines how data is transferred between related entities.

Steps:

  • Open the solution in D365 Sales App. Ensure you've added the following components:
    • Quote and Order tables
    • 1:N relationship between Quote and Order
  • Open the relationship and click on Relationship Mapping
  • Add a new Map and select Default Shipping Site and Default Shipping Warehouse.
  • Now try to convert the Quote into an Order.
It should be smooth sailing now.

Hope that helps!

Friday, August 11, 2023

Error when qualifying Lead into Opportunity | D365 Sales

There could be many reasons and most of it could be found when you perform an online search, but none of those suggestions fixed my issue. When I was qualifying the Lead into an Opportunity, it is showing the following error:

OrganizationServiceFault

And that is it. No other details about the error. No error log, not description of the error, no error code. Nothing!

Resolution

My user didn't have system administrator, but a custom role was assigned to the user. I took some help from my technical team who did a little bit of digging and came across this below message.

Entered Microsoft.Dynamics.SCMExtended.Plugins.Plugins.LeadPrimaryContactPostCreate.Execute(), Correlation Id: 021c0dc2-3e1e-46e5-81c0-b1524ae09ed2, Initiating User: e7925424-1da4-ed11-aad1-002248a13b63

Exception: System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Principal user (Id=xxxx5424-xxxx-ed11-xxxx-002248a1xxxx, type=8, roleCount=4, privilegeCount=1064, accessMode=0, MetadataCachePrivilegesCount=9751, businessUnitId=0b2c4b59-0e31-ee11-bdf4-000d3aba3d29), is missing prvReadSolution privilege (Id=b64e92c8-5d2a-4052-a026-1b73eff9cebf) on OTC=7100 for entity 'solution' (LocalizedName='Solution').

I provided a Read privilege to Solution table under; relevant Security Role > Customization > Solution, and it worked.

Hope it helps!

Friday, August 4, 2023

Dual-Write | Unable to delete Postal Address Collections in D365 Sales

If you're unable to delete Postal Address Collection records in Dynamics 365 Customer Engagement Sales App, most likely the reason is there is related Postal Address records under that.

When I try to delete Postal Address records using Advanced find, I couldn't find the Delete button on it. If I open the record (for Postal Address), still couldn't see the delete button.

I used Bulk Record Deletion job to delete Postal Addresses and then I could go ahead and delete Postal Address Collections.

What are these tables you ask? These are added when you implement dual-write and install GAB solution in the dataverse. If the 2 environments are in sync, it is best to delete these records in F&O and let dual-write handle the deletion in D365 CE Sales.

We were in a situation where the F&O environment wasn't in sync with CE and we had to remove these records manually in CE only.

Hope it helps!

Dual-Write | Privileges required for Initial Sync and other considerations

Recently we were doing an initial sync for tables between Dynamics 365 Finance & Operations apps and Dataverse (Dynamics 365 Customer Engagement), and we received an error that read:

Reason: Bad Request, Header x-ms-client-request-id 8aef8aa3-2a01-493e-a0d7-347ce560e50d, Principal team (Id=b7e1929e-xxxx-xxxx-aad0-xxxx489fxxxx, type=9, teamType=0, privilegeCount=0, MetadataCachePrivilegesCount=9751, businessUnitId=b5e1929e-xxxx-xxxx-aad0-xxxx489fxxxx), is missing prvReadmsdyn_globalproduct privilege (Id=539cf392-xxxx-xxxx-b258-xxxx719b7d93) on OTC=10835 for entity 'msdyn_globalproduct' (LocalizedName='Global Product') in Business Unit: unqxxxx (Id=b5e1929e-xxxx-xxxx-aad0-xxxx489fxxxx). context.Caller=691e1af2-xxxx-xxxx-aad1-xxxx489axxxx

Sometimes when you're excited and hurrying into the action, you miss the fine details and here are the fine details.

Security role that is required

Every user in a customer engagement organization with dual-write must be given Dual-Write Runtime User role. Without this role, users will be unable to create any rows in tables in customer engagement organization.

Company and currency exchange tables are global in nature and all dual-write users require read access to these 2 tables. To provide access, all dual-write users must be given Dual-Write App User security role. If a user does not have this security role assigned to them, they will not be able to read tables that contain Company and Currency.

Also access is required to entities (tables in dataverse) that are in scope of dual-write. However which privilege is required is not very clear. What you can do is to create a custom role and provide the relevant privilege to the tables in scope of your dual-write integration. We had provided Create, Read and Write which worked for us.

PS: I do believe Read privilege should be enough. Comment down below if you have an experience regarding the exact privilege required.

Here is the link to other considerations before performing initial sync & setup dual-write security roles and permissions.

Hope this helps!

Tuesday, March 28, 2023

How to register for ClickDimensions (D365 CE)

ClickDimenions is a marketing automation tool for Dynamics 365 Customer Engagement (CRM). Tool wouldn't be the right terminology as it is a very comprehensive application to address all your marketing needs.

While the online help and guides provided by ClickDimensions are very detailed, I thought to summarize this in below few steps to register and install the app in your environment.

Step 1

Select the data center region and deployment type. The data center region must be the same or closest to your D365 CE data center region.


Step 2

Select the authentication method. You can check out the various authentication methods in this article from ClickDimensions (Register for ClickDimensions).

The contact email that you enter here is the email where the installation files / solution will be sent to.


Step 3

You will be asked to login and authenticate the app to access in the environment.

Step 4

Once the app access is provided, a notification is sent to ClickDimensions and they will generate the solution file and share it with the person mentioned in the Contact Email of the registration.

Step 5

Download the solution and import into D365 using the Power Apps Maker at https://make.powerapps.com.

Monday, March 13, 2023

D365 CE Preview Feature (Collaboration and Co-authoring)

One of the most common ask from our customers is, does the app block one user from accessing or making changes to a record if another user has opened the record on their screen?

While this is not quite like restraining a user from updating a record because of multiple users accessing it, this feature does allow you to see the other folks that are collaborating on the same record.

You’ll need to enable this in your environment to take advantage of this feature.

  • Open https://admin.powerplatform.microsoft.com
  • Select the environment where you want to enable the functionality.
  • Click on Settings on the command bar (located on the top of the screen).
  • Expand the Product section and select Features.



  • Scroll down to Collaboration section on the left side of the screen.
  • Turn on 'Show other people when they're using the same form'.
  • Now when 2 or more users access the same form, you'll see the co-presence indicator showing all the users. It is very similar to what we see on Microsoft 365 Apps (Word, Excel, etc.).
  • This is only enabled for Account, Contact, Opportunity and Case forms during preview.



Here I would also highlight 2 other features that you can enable.
  • You can also see you can initiate a Teams meeting directly from appointments. For that flip the switch 'End users can add and join Teams meetings from appointments in model-driven app' under the Collaboration section.
  • There is also co-authoring for model-driven apps where you can see the users making changes to forms, views or dashboards using the power apps maker portal. With coauthoring you can see who is working on the same app at the same time, and you can see their applied changes in real-time.
Interesting!

Friday, March 3, 2023

2 Lesser known facts about Dynamics 365 CE (CRM Sales)

 While exploring the default forms and views for Dynamics 365 Sales I understood few facts. It is strange how even after years of experience on the product there are still some things that you have never explored.

I guess the main reason is that these don't impact any implementation in a major way, hence you tend to ignore them, and only find out by accident, like I did. So here are the facts.


1. Discount List forms and views cannot be customized


That's right. When you try to add form and view components for the Discount List table, you'll see that there are no components to be found here. 😲




2. Cannot add some fields on Price List Item views 


When I was expanding the default price list item view to show certain columns like Created By, Created On, Price List (Lookup), Modified By, Modified On. These fields are not available to add on the view, or even on the form.

Did you know?

Comment down below if there is something you discovered that was strange to you.

Monday, May 23, 2022

D365 CE: How long does a CRM implementation take or what are the various project stages

dynamics 365 crm project implementation

This is a very common question you're asked by your prospective customers, the answer to which is usually never straight forward. This is true if you're implementing Dynamics 365 CE/CRM or any other enterprise application.

Also remember that your client also isn't expecting a short answer like, 6 months, or 11 months. If they are, then that's a clue to leave that premise immediately (just joking). In this case the client needs to be educated on what to expect during the course of the project and prior to go-live.

According to my experience here is what you can say to your customer:
  • CRM implementation happens in various stages.
  • Before we go any further we first need to discuss the scope of the project and it's objectives. This is a very high level scope, something that management envisions and aspires to achieve by implementing a CRM solution.
  • This is further detailed into business requirements. These requirements are specific to departments or various teams that will be using CRM. Each may have broad understanding of the requirements or some may even be very specific. It is also important to understand at this level, what is currently being followed in terms of your internal processes and what part of the process is required to be implemented on CRM.
  • Once the above is clear, there are various project stages:
    • Requirements Phase
      • The requirements (we just spoke about in the previous point) is to be documented into a Business Requirement Document (BRD).
      • This is converted to a Functional Requirement Document (FRD).
    • Solutioning and Design Phase
      • Gap/Fit document: One of the documents to produce during this phase is the gap/fit document. This will outline any gaps in the solution being implemented and it is also good to identify the efforts that will go into delivering it.
      • This is then further detailed into the Functional Design Document (FDD).
      • and Technical Design Document (TDD).
    • Development and Environment Preparation
      • The above documents are handed over to the technical team to start working on the solution.
      • In parallel the infra team can also work on setting up various environments required like Development, SAT and Production Environments. Install / provision the Application.
      • Configure the application and workflows and if it is bespoke then there is a level of customization too.
    • Internal Testing
      • Data cleansing and data formatting.
      • Importing the data.
      • Testing the system.
    • CRP stage or Conference Room Pilot / Class Room Pilot
      • This is when the client will be demo'ed the application with the customized requirements. In most cases this must be a 70-80 % fit based on customer requirements. Expect some changes, few more insights and specific requirements during this stage of the project.
      • Once those gaps are also filled, the product is demo'ed again with the fixes and we move into user acceptance.
    • User Acceptance Test
      • This is when the key users will test the product.
      • If all went well, the we move into training.
      • In parallel a user guide documentation will also be worked upon before the training.
    • Training and Go Live
      • Administrator training
      • User Training
      • The training is usually provided by the key users to all the other users. We insist customer's key users to takes this up which will give them a better grip over the product. 
      • And finally go-live
Having mentioned the above, these are steps on a high-level, and all may or may not be required based on the size of the project and resource availability. By resource availability I mean human resource at both end, the client as we as the implementation partner.

From my personal experience it is very important to understand the requirements and documenting them. This is the most time consuming stage of the project. The other time consuming stage is the data cleansing and preparation. If the customer is using an existing system, it becomes much easier. If you're tasked to upgrade a customer from Excel into a system, this can become a nightmare. I can write another blog to explain how to plan data migration for a project.

Training and user acceptance can also take up time as users must get used to a new way of working and that can take some time. It is important as an implementation partner to hand hold them and repeat processes again and again until each user on the team gets it. This is also the most important step of the project because if they don't understand how to use the system, the adoption will be low and the whole project might fail.

Let me know what your experiences have been in the comments below.

Hope this helps!

                    Tuesday, May 17, 2022

                    Auto number sequence number skipped in Dynamics 365 CE / CRM

                     


                    While testing auto-number functionality in one of our project, we noticed that the auto-number sequence skips, in case of an exception or error while creating the record.

                    For example: If the previous record sequence number was 1001, the next record sequence number must be 1002. However, if there was an exception while creating the record, the record isn't created in this case. Now if the user creates another record (without exception), the record sequence number would show 1003 (instead of 1002), as that number would have been skipped.

                    After going through Microsoft's documentation we understood why this happens, as it is clearly mentioned that the number is incremented before the record creation is started and not after the record has been created.


                    You can access Microsoft's documentation by clicking here.

                    Hope that helps!

                    Monday, May 9, 2022

                    How to enable modern advanced find in model-driven apps: Dynamics 365 CE (CRM)

                    I recently came across this new feature to enable modern advanced find in model-driven apps. Thought to share with you all.

                    Note: When you enable the feature, the advanced find button that you usually see on the bar top right will be gone. There will be changes in the way you access and modify personal views. If you're ready to enable this for your organization, keep reading forward.

                    Old Experience:

                    New Experience (No advanced find icon):

                     

                    Steps to enable modern advanced find in Dynamics 365 CE (CRM)

                    Following are the steps:

                    • Expand Product and click on Features.
                    • Scroll down to Advanced find options and toggle the button to On. It will take a few minutes and enable the modern advanced find in your environment.

                    Now the question is how to access modern advanced find?


                    Access modern advanced find in Dynamics 365 CE (CRM)

                    To access, you need to click on the global search box and below you will find this option "Search for rows in a table using advanced filters".


                    Click this and you will see a flyout option from the right where you can select the entity (table). Click Continue and you'll have the option to edit filters.


                    Now you ask, how to manage personal views? Click on the View chevron icon. This will dropdown a list of views (both system and personal) configured. Personal views are shown with a person icon. To create, set default or delete personal views, click on Manage and share views.


                    Hope that helps!

                    Wednesday, September 8, 2021

                    D365 CE: How to send email without using Send Email step in workflows

                    Use Create Email step instead.

                    Here are the steps with screenshots below.

                    1. Add Step > Create Record > Select Email record.
                    2. Edit your email content / body.
                    3. Add another step, Change Record Status > Pending Send.
                    4. Add another step, Update Email > Set No. of Delivery Attempts to 0.






                    Now that you know how to do it, here are a few reasons why you might want to go this way instead of using Send Email.

                    • You might want to attach documents to the email prior to sending.
                    • You might want to update the email content based on some logic.
                    These cannot be done directly on Send Email step. This is another option.

                    Wednesday, August 19, 2020

                    D365 CE: Unable to load plugin assembly when saving a record

                    Issue Statement

                    After setting up a new on-premise D365 CE v9.0 environment, when I tried creating the first record (Contact record), I received the below error message. I wasn't able to save the Contact record. 


                    Assembly Plugin Error


                    Resolution 1

                    On the app server the C:\Program Files\Dynamics 365\Server\bin\assembly folder is not inheriting security permissions from C:\Program Files\Dynamics 365\Server\bin.  Enable inheritance and you'll be able to save the record successfully.  Inheritance added the following users to ntfs security: all application packages, all restricted application packages, creator owner, system, trusted installer.  Those were not there when inheritance was disabled.

                    Also ensure that the deployment administrator has full permissions on the bin folder C:\Program Files\Dynamics 365\Server\bin.


                    Resolution 2

                    Ensure the deployment administrator has full permissions on the bin folder C:\Program Files\Dynamics 365\Server\bin.


                    Resolution 3

                    Ensure CRMAppPool account has full access on bin folder C:\Program Files\Dynamics 365\Server\bin. Reset IIS.


                    Thursday, February 23, 2017

                    Field Services for Dynamics 365 On-premise

                    Lately I've been searching for an on-premise solution of Field Services for Dynamics 365 / CRM and this is what I found.

                    Download Field Services for Dynamics 365 On Premise

                    Customers can download the solution binaries here for Field Services for Dynamics 365 on-premise.

                    Install Field Services for Dynamics 365 On Premise

                    Follow these instructions here to install field services.

                    Thursday, February 16, 2017

                    How to fix security role issue in Dynamics CRM 365 Online: Access Denied

                    End users sometimes receive error message regarding permissions like the one shown in the below screenshot. Access is denied error.


                    The quickest way to identify the error is to ask the user to Download Log File and forward you the file. You can easily identify the error log file and rectify the issue.

                    This is the log file that you see:

                    Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 62ccfada-fefa-e511-810b-1458d0431690, OwnerId: 00000000-0000-0000-0000-000000000000,  OwnerIdType: 8 and CallingUser: 1e09c053-3cb8-e511-8105-1458d0431690. ObjectTypeCode: 8, objectBusinessUnitId: 6661ae5f-f0e2-e411-80fb-c4346bac6e74, AccessRights: AppendToAccess Detail:

                    xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
                    1e2012e6-9057-4a0f-bae1-a5b940828e24
                    -2147187962
                    xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
                    SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 62ccfada-fefa-e511-810b-1458d0431690, OwnerId: 00000000-0000-0000-0000-000000000000,  OwnerIdType: 8 and CallingUser: 1e09c053-3cb8-e511-8105-1458d0431690. ObjectTypeCode: 8, objectBusinessUnitId: 6661ae5f-f0e2-e411-80fb-c4346bac6e74, AccessRights: AppendToAccess
                    2017-02-16T11:14:35.7151013Z


                    ObjectTypeCode and AccessRights are the 2 items you need to focus on. ObjectTypeCode is the numerical representation of an entity or item. Microsoft provides you a list of ObjectType Code mapping for CRM.

                    In this case the code is 8 which states its a SystemUser. Which means the User entity doesn't has Access Rights of AppendTo. Enabling that would solve the issue.

                    But how about for custom entities, you ask?

                    Here is what you should be doing. For custom entities, open your browser and browse to this URL.
                    https://mycrmorg.crm4.dynamics.com/main.aspx?etc=11068&pagetype=entityrecord

                    Where etc=11068 is taken from the error log file which is the ObjectTypeCode. When you browse to this URL, the entity record page opens, which points you to the direction that this custom entity needs the AccessRight as mentioned in the error log.

                    I hope this helps!

                    Thursday, October 13, 2016

                    How to enable interactive experience in Dynamics CRM

                    Microsoft Dynamics CRM 2016 and CRM Online has an interactive experience to offer. You can notice this on the notification bar at top of CRM.

                    To enable the interactive experience in Dynamics CRM, you can either click on Experience it now from the notification bar as shown here:


                    Or you can input the URL directly in your browser. The URL would be different for CRM Online or CRM (on premise).

                    Microsoft Dynamics CRM (on-premises) : In your browser, type //engagementhub.aspx, and then press Enter. For an Internet-facing deployment (IFD) use https://< hostname[:port]>/engagementhub.apsx.

                    If more than one organization is available, and you don’t specify one, the default organization will be used.

                    Microsoft Dynamics CRM Online : Type https://. crm#.dynamics.com/engagementhub.aspx, and press Enter.

                    You can always go back to the original main experience by replacing https://..../engagementhub.aspx to https://..../main.aspx