Category Archives: Dynamics CRM
How to Fix the error ‘’isGlobal information provided True doesn’t match the value stored in DB False.” in D365 CRM.
Each time I attempt to export a solution from the source environment to another environment, I receive the following notification “isGlobal information provided True doesn’t match the value stored in DB False.” As a result, importing the solution into the destination environment becomes challenging for the individual. Whenever this kind of error appears, it has to do something with the fields on the form. This happens when you mistakenly make changes in the Production environment instead of making changes in the Developer environment or Vica Versa. Normally, the procedure is to make changes (e.g., Adding fields or any other customizations) in the Developer Environment and then export those changes to the Production Environment. Once those changes are imported into the Production environment, after cross-checking you realize many more fields are to be added. So we started to create and add fields in the Production environment instead of the Dev environment and that is how a mismatch of errors occurs with Fields and thus it gets difficult to export/import a solution in other environments. To avoid this error, below is the blog you can refer to. Step 1: Log in to Power Apps using your credentials. Try to check both your source environment as well as Destination Environment. Step 2: In order to check the same, Go to Solutions and click on Default Solutions. Step 3: Go onto the table/Entity in which you are currently working. In my case, My table/Entity is Students. Step 4: Try to check the latest field which you have added. In my case, the name of the field is Courses Offered. Step 5: Click on Edit table column. Step 6: As you can see, my Destination environment (Production Environment) consists of the below field (Courses Offered), which is a Global option set Field. Step 7: Whereas my Source Environment (Developer Environment) has the same field name called “Courses Offered” which is an ‘Option Set field’. So, Delete the old option set field from this environment and try again to import this solution to the other environment. Step 8: The Difference between a Global option Set and a normal Option Set is that a global option set can be used globally for all entities/tables. But an option set field can only be used for that specific table. For eg If my entity/table name is “Students”. I can only use my option set for that specific entity. Step 9: In order to avoid the error, download that error log and try to open it via Excel and try to rectify all the fields from that Excel sheet via both environments. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
How to create and add/attach a custom activity-type entity to an existing entity in Dynamics 365 CRM
Introduction Activities are tasks or sorts of homework that we as a team perform when contacting a customer for example making a phone call, making an appointment or calls, and so on. You can set the status of this activity to complete pending or in progress. For more details, please follow the link: Activity entities (Developer Guide for Dynamics 365 Customer Engagement … Steps to create and add/attach a custom activity entity in D365 CRM Step 1: Log in to the required D365 CRM environment using the URL https://home.dynamics.com. by providing a username and password and selecting your environment accordingly. Step 2: Once logging into your Dynamics 365 CRM, select the model-driven app you are currently working on. In my case, it’s Sales Team Member. Step 3: Once you are in your app, Click on the Settings icon and select [Advanced Settings]. Step 4: Click on Solutions. Create a solution or go to an existing solution. Click on Entities once inside the solution and Click on New. Once you name your entity don’t forget to tick on the [Define as an activity entity] checkbox. You can also check boxes on other options according to your need. Step 5: You can also notice the other checkboxes in Communication & Collaboration column, most of the options are non-editable.It’s because we are enabling it as an activity entity. Hence, all the checkboxes related to the Custom Activity Entity get non-editable. Step 6: Now we have to add the custom activity which we created. Click on the entity with which you are working. Then go onto the Forms inside that Entity in which you are working. Step 7: In Forms, once you have done your customizations, Add the activity timeline by enabling it during the entity creation on which you are currently working (checkbox those 2 columns and that’s how you can view the activities timeline in Form). Step 8: Once done with the above step, click on Activities & Notes and you can view the Activities & Notes Timeline. Step 9: Double tap on the Notes timeline and go to Activities. Step 10: Select the custom activity which you created. In my case, it was Order Review. Step 11: Click Ok. Save and Close and don’t forget to Publish the Customizations. Once this is done navigate to the Dynamics 365 CRM Main Form. As you Can the custom entity which we created has been added. Step 12: Click on ‘Order Review’ and add the details. Also, remember you can add many fields to this custom entity as per your requirements. How to do that is by going back to the Solution and navigating to this entity(Order Review). Create or add a new field and then add the Field to the Form. Save and Publish the Customizations. Hope this Helps.!!!
Share Story :
How to add an Entity and fields in Global Search On Dynamics 365 CRM
Introduction Global Search for Microsoft Dynamics 365 is a custom module, which allows you to search across all CRM entities at the same time, providing results in a single-view convenient layout. For more details please follow the link: Global Search for Microsoft Dynamics CRM Online User Manual Adding an Entity and fields in Global Search On Dynamics 365 CRM Step 1: Log in to the required Power Apps environment using the URL https://home.dynamics.com. by providing a username and password and select your environment accordingly. Step 2: Once you have logged into your environment, click on the Settings Icon and select Advanced Settings. Step 3: Drop down Settings and then click on Administration. Step 4: After clicking on Administration, select System Settings. Step 5: Go onto the option Set up Search and then click on Select. Step 6: For FYI, you can select 10 Entities at a time for Global Search. So Select the 10 Entities according to your requirements. We can even sort the Entities using the options Move up and Move down. Step 7: As I have said in Step 5, the maximum number of entities that can be added is 10. Step 8: Once the above steps are done, Return to the below page and click on [Solutions]. Create a solution and add the required table which you wanted to show in Global Search. In my case, the table name is Order Fulfillment. So accordingly add your Entity/Tables. Step 9: Click on the Entity in which you are working inside the solution and click on Views. Step 10: Typically, the global search option in D365 CRM is associated with Quick Find View. Select the Quick Find Active Order Fulfilments view. Step 11: Add the Fields which are needed for View and Find Columns. FYI, in the main D365 CRM Form, the global search has the feature of displaying only the first 3 fields of that view. So insert the important 3 fields in the view first. Step 12: Once all the customizations are done, Save and publish the solution. Step 13: Return to the D365 CRM Main page of our Model Driven App and as highlighted below, click on that icon and try searching for the value of the field. For example, If you have added a field named ‘Order Number’, Try searching the value of that field. Step 14: Once I type the value, the entity in which the value has been present has shown up. For your information, only three fields will be visible once you do the global search and 10 Entities can be visible during the global search. Hope this Helps!!!
Share Story :
How to create a SharePoint site and enable Server-Based SharePoint Integration for Document Management System in D365 CRM
What is a SharePoint site? Sharepoint site is an application which is provided by Microsoft which can be used to store information and content. This may include documents, images videos, tasks, and so many things. For more details please follow the link Steps to create a site and integrate your SharePoint with D365 CRM Step 1: Log in to Office 365 login and open SharePoint. Step 2: Once you click on Sharepoint, go onto the Home icon and click on +Create site. Step 3: Click on Team site. My requirement is to track my project status and to share team resources and co-author content. So that’s why I select the Team site. Step 4: Enter your details for your new site and once done, click on Next. Step 5: You can also add specific members for your site(not necessary). Once done click on Finish. Step 6: Once you click on Finish, it will redirect it to your site which you created. Just copy the above link of your site which I highlighted. Just copy the link to your site. It will be used later. Step 7: Go into Dynamics 365 CRM and login in with your credentials OR mention your URL for e.g. abcde.crm.dynamics.com and then login. Once done, click on the ellipses(3 dots) and select Advanced Settings. Step 8: Drop down the Settings icon and click on Document Management. Step 9: Click on Enable Server-Based Sharepoint Integration. Step 10: In simple terms, what we are doing is integrating and validating the configuration of SharePoint. Click on Next. Step 11: Select Online and then click on Next. Step 12: Enter the URL I previously asked to copy and paste(In Step 6). Paste that link here and click on Next. In the Next Step, it will validate that site. After that click on Finish and wait for 3-4 mins. Step 13: After Refreshing you will observe that Enable Server-Based Sharepoint Integration section has changed to One Note Integration. This means that your SharePoint has been enabled and what’s remaining is to add the entities which need to be stored in Sharepoint. Step 14: In Order to do that, click on Document Management Settings. Step 15: Select the entities which you want to enable for the Document Management System. Step 16: If you want a folder structure based on a certain entity you can check the option Based on entity and select the entity you want. Step 17: Click OK to continue. Step 18: FYI the status is showing me cancelled since I have already created the document management system for these selected entities previously. In your case, the status will show completed if you are doing it for the first time. Step 19: Go onto your SharePoint site and click on Site contents Step 20: Here you can view all the entities which were selected for the Document Management System. Hope this Helps!!!
Share Story :
Trigger Power Automate Flow using JavaScript – Uni-Directional
Hi All, Did you know you can use JavaScript to trigger Power Automate flows and pass input data? So, I’ll show you how to do that, as well as how to pass strict structured data and dynamic schema in Power Automate. In the next blog, I’ll talk about Trigger Power Automate Flow using JavaScript – Bi-Directional Steps to follow for Initial Setup Step 1: Let’s create a Power Automate Flow and define the input JSON schema.Go to: Power Automate Create an Instant Flow with the trigger ‘When a HTTP request is received‘ Step 2: Let’s outline the input schema and then focus on the output in a ‘Compose’ block. I’ll describe two types of inputs. (Strict and Dynamic).Our strict schema will be identified by a specific pattern indicating how the input should be given.Our dynamic schema will be recognised by an unknown pattern, and input will not always be fixed. Click on ‘Use sample payload to generate schema’. Apply the following code, click on Done and you will see the schema in ‘Request Body JSON Schema’. Add a Compose Block to check the output of the request and save the Flow. URL will be generated and is ready to be used. Let’s now proceed to create JavaScript to trigger this flow Steps to follow for calling Flow using JavaScript Since I’ll show the code snippet, adjust it as per your use case. Note: Copy your HTTP Post URL from the trigger as it will be used in the JavaScript Step 1: Type the following code Step 2: Execute the JS with ‘TriggerFlow.Main()‘. Note: Make sure you pass Execution Context to the JS Step 3: Check your Power Automate Flow History and open the Run. That’s how Power Automate is triggered using JavaScript. Hope this has helped you 🙂 Next blog – Trigger Power Automate Flow using JavaScript – Bi-Directional
Share Story :
How to Use Solution Checker to identify usage of the OrganisationData.svc endpoint (Odata Deprecation for Web resources)
The Organization Data Service is an OData v2.0 endpoint introduced with Dynamics CRM 2011. The Organization Data Service was deprecated with Dynamics 365 Customer Engagement v8.0 in favor of the Web API, an OData v4.0 service. For more details please follow the link https://powerapps.microsoft.com/en-gb/blog/odata-v2-0-service-removal-date-announcement/ OData v2.0 Service removal date announcement | Microsoft Power Apps To determine the deprecation in your old javascripts below is the blog you can refer to. Step 1: Log in to the required Power Apps environment using the URL make.powerapps.com by providing a username and password and select your environment accordingly. Step 2: Go onto Solutions and click on [+ New solution] from the menu bar Step 3: Name your Solution and fill in all the details which include the Publisher as well as the Version details. Step 4: Go inside your solution and select Add existing option. Click on More and select Web resource. Step 5: Search for your web resources using your custom publisher. For example, your publisher might be new_ or abc_ and so on.It depends on how you name your publisher. Step 6: Select all the web resources you required and once done, go back to the solution and click on the ellipses(3 dots) of your solution. Click on the option Solution checker and select Run. Step 7: We can also view the Run Status of the solution. Step 8: Click on Ellipses(3 dots) again of the solution you have worked on and click on Solution checker and then you can view the option Download results. Click on that option and once you download it, it will be downloaded in the form of xlsv(excel). Try searching the issue for web-avoid-crm2011-service-data on that excel sheet. Hope this helps!!!
Share Story :
Button missing from ribbon Dynamics CRM (Field Service Work Orders)
Recently I faced issues with some of our custom and Out of the Box ribbon buttons disappearing for example look at the snapshot below. For any selected service order I was not able to see the Run Flow button which runs on-demand workflows and Power Automate Flow (and a few custom ribbon buttons as well). I investigated and found out that this happens because of a field service setting called “Show Simplified Work Order Command”. As per the document – https://learn.microsoft.com/en-us/dynamics365/field-service/configure-default-settings This setting influences the command bar on work order records and lists. By default, this field is set to Yes, which shows only the most relevant commands for work orders. The following commands will be hidden from the form: deactivate, check access, process, add to queue, queue item details, assign, share, email a link, flow, Word templates. The following commands will be hidden from the list view when no records are selected: email a link, flow, import from Excel. The following commands will be hidden from the list view when a record is selected: activate, deactivate, email a link, add to queue, flow, Word templates, Excel templates. When set to No, all commands are shown. To turn it off in your field service app go to settings from the change area and select Field Service Settings, under field service setting turn off Show Simplified Work Order Commands to No. Now we can see our run flow button along with a couple of other buttons. I hope this helps!
Share Story :
Exploring XRM Toolbox Part 1
In this blog, we will explore the use of the XrmToolBox and different tools present in the store. XrmToolBox is free to use tool that connects with the Dataverse environment and provide you with various tools that allow performing heavy management task very easily. Many developers have contributed to XrmToolBox Store by creating a tool/library which is beneficial in the regular development and management work of Dynamics 365 CRM Consultants/Developers. You can find the Installation and setup guidance from a website that you can follow as we directly going to start exploring different types of tools available. Home Page: https://www.xrmtoolbox.com/ Connection Setup with Dataverse Environment: https://www.xrmtoolbox.com/documentation/for-users/manage-connections/ Tool #1: “Security Role Sync” created by Bharath Sheelam The tool is created to sync the security roles between two users. I have two users present in the dataverse environment and I have a requirement to sync roles from one user to another. If we need to sync the roles from “Amit Prajapati” to “CRM Admin” we need to select “Amit Prajapati” in Source and “CRM Admin” in Destination. Once you select the user, you need to click on Sync Security roles it will start syncing and notify you once it is completed. Result: Amit Prajapati has below roles: Before Sync Roles on CRM Developer Account After Sync Roles on CRM Developer Account Use Case and Benefits: Developer work can be minimized using this tool as they might be having multiple users to sync the roles and debug the security permission. Remove the manual efforts to check for the reference user’s security permission and apply it to the required user. Let’s say you have to replicate the security permission from User 1 to User 2 and without this tool you need to open the security permission of User 1 and note it down then only replicate the same permission to User 2 If you have a scenario where functionality is working for one user and not working for another user due and you are getting a security permission error. You can use this tool and sync the security roles considering they should be belonging to the same security based on business requirements. Tool #2 “Security Debugger” created by Mark Carrington This tool is very useful, and it helps you to find the solution to all permission-related issues. It will provide you with the details of which security roles are missing considering you have a security permission error log with you which is required for this tool.
Share Story :
Dynamically filter required Fields/Columns from a Record’s BPF and Form and apply Requirement to those fields
Hi Everyone, Let me explain this topic with an example of a scenario that you might encounter. I’ll walk you through how to complete this scenario in a concise manner below. Use Case Let’s say you have a Table (Entity) with or without multiple Business Process Flows (BPFs) that include some required Fields and even on the Form. Even if the required fields are empty and you want to change a field or flag within the form and save the record. We must disable all required Fields on the Form and then re-enable the requirements for those fields. We can do this with some simple JavaScript code. Step 1: Find a trigger point for your JS function to be called.It can be done with a Ribbon Button or by manually changing a Field. Find the code you’ll need below. I’ll be using Ribbon Button to trigger my JS Function. Quick Tip: You cannot get any Attribute Value of a Field residing in BPF directly. You need to get the entire Control of the Field and then call its attribute values. Step 2: Register your JS function onto your Ribbon Workbench or OnChange of any Field on Form. Since I called my function using Ribbon Button, I used “OpportunityForm.executeMain” with Parameters; “CRM Parameter -> Primary Control“ If you’re calling the JS using Field OnChange, then register the function as “OpportunityForm.executeMain” and do pass ‘executionContext‘. In this case, your part of the script will change as below (use this if you use JS on your Form only) OUTPUT This is how all fields will have no requirement on the Form. I took this output before re-enabling the requirement level for the fields. That’s all, I hope this helped you
Share Story :
Make form read-only using JavaScript
One way to lock down a form is through JavaScript. Let’s go through how to do this by looking at the code. var formCustomizations = { disableForm: function (executionContext) { let formContext = executionContext.getFormContext(); let formControls = formContext.ui.controls; formControls.forEach(element => { if (element.getName() != “” && element.getName() != null) { element.setDisabled(true); } }); } } Here when the JavaScript Function Is called and the execution parameter is passed, the user can see the desired output. formContext.ui.controls; Provides the properties and methods to retrieve information about the user interface (UI) controls for several sub-components of the form. formControls.forEach(element => { if (element.getName() != “” && element.getName() != null) { element.setDisabled(true);} Here the forEach loop will traverse and see if there are any fields that are not blank and the field value is not null, then set all that fields to read only on that form. Hope this helps!
