Remove Hover from Primary Navigation Bar Power App Portal
I had a requirement from a client to remove the hover from the header navigation on the customer portal. Here is how we do it, if we inspect, we can see that this is handled by a style element “.navbar-inverse .navbar-nav > li > a:hover“ Now if we removed the background colour here is how it looks. Now let’s make these changes in the code, edit your portal and open the portal in the Power Apps gallery and go to themes. Search for the style element and comment or remove the background colour. 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 :
Backup Azure DevOps Git Repositories
Here we will see how to backup the repository using the YAML file. This includes the following steps Create an Azure DevOps Personal Access Token (PAT) Create a YAML file Create Subscription Connection Create an Azure DevOps Personal Access Token (PAT) Step 1: Sign in to your Azure DevOps Portal Step 2: Go to Personal Access Token Step 3: Create a Token by clicking on “New Token“ Give it a name Select the “Read” checkbox to fetch the repository Click on Create Note: Copy and Save the token as you will not be able to see it again Create a YAML Pipeline Step 1: Go to Pipelines Step 2: Choose Azure Repos Git Step 3: Select your repository Step 4: Configure it as a starter Pipeline Below is the default code you will see. Trigger: The wildcard (*) will monitor all the branches, the pipeline will be triggered whenever you have any changes in your repository CmdLine: The command calls “git clone –mirror ” to make a copy of your repository. PAT needed to be used while fetching a repository Archive Files: It will take the git repository which was cloned in the previous step and then zipped to “Backup.zip” File Copy: It will take the archive copy and send it to Azure Blob Storage Creating a Subscription Connection Step 1: Go to Project Settings Step 2: Go to Service connections Step 3: Click on New service connection Step 4: Choose Azure Resource Manager Step 5: Select Authentication Method as Service Principal (automatic) Note: Make sure to use the same credentials to login to DevOps as in Azure Portal Step 6: Subscription will be chosen automatically. Give it a name Select a resource group where you have your storage account Then save Step 7: Use the connection name in YAML. Save and Run It will create a Job See the status of the Job After Job gets completed, you will see a zip file in your blob
Share Story :
Latest purchase price option in the released product in D365 Finance and Operations (SCM)
In this blog, I’m going to showcase to you the impact of the latest purchase price parameter on the item purchase price. Enable the latest purchase price for any product. So whenever new purchase order is created for a product with a specific price or different price, and in case the price of the product keeps changing in every purchase order based on the recent cost price of the item in the purchase order then the price of the item is also changing in the item master. I’m showing the example of the latest purchase in the below steps: Steps to enable the latest purchase parameter in the released products Navigate to the released products. Select the product for which you want to enable the latest purchase price. Open the purchase tab, Inside Price updated to enable the latest purchase price parameter Set the price in the product master to 50 USD (you can also set the prices through a trade agreement . ) Create a purchase order for this product Create a purchase order for this product and add this item to the purchase order lines. Set the purchase price for this product to 100 Confirm the purchase order. Post the product receipt (GRN) for this purchase order. Once it’s received, invoice the purchase order. Once this invoicing process is done, go back to the product master, and open the product for which we have enabled the latest purchase price. The price for this item is changed to the latest purchase order prices (prices changes from 50 USD to 100 USD). NOTE: Inside the manage cost tab item price, you can also see the purchase price is Overrides to 100 If you want to see the history of the fluctuation in purchase prices. You need to enable the Last price history. Steps to enable the last price history. Navigate to the inventory and warehouse parameters. Select the inventory accounting tab Enable the Last price history. So you can see the price change history in the item price. I hope this helps!
Share Story :
Custom Field Validation for Website Fields in Dynamics CRM
Dynamics 365 provides functionality to create a text field of type website field where the user can type in the website name. But out of the box, it has no validation to validate if the user is actually putting a web URL or just a text value, this can be achieved using simple JavaScript. In this blog, let’s see how to put a validation on a website field in CRM so that users enter the correct data. I have created a website field in CRM and here is how it looks. Using the below javascript code you can put a validation on this website field. Code: validateWebsiteURL: function (formContext, fieldName) { if (formContext.getAttribute(fieldName)) { var websiteurl = formContext.getAttribute(fieldName).getValue(); if (websiteurl != “”) { var pattern = new RegExp(‘^(https?:\\/\\/)?’ + // protocol ‘((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|’ + // domain name ‘((\\d{1,3}\\.){3}\\d{1,3}))’ + // OR ip (v4) address ‘(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*’ + // port and path ‘(\\?[;&a-z\\d%_.~+=-]*)?’ + // query string ‘(\\#[-a-z\\d_]*)?$’, ‘i’); // fragment locator if (!pattern.test(websiteurl)) { formContext.getControl(fieldName).setNotification(‘Website: Enter a valid Website URL.’); } else { formContext.getControl(fieldName).clearNotification(); } } } } I hope this helps 😉!
Share Story :
Hide Profile Section from Power Apps Portal Header Navigation Bar
The Power Apps Portals Primary Navigation Header always has a section to the profile page as shown in the snapshot below. It is possible to disable this by adding a Web Page Access Control Rule, this will restrict read access to the profile page, but what if you don’t want to remove the read access and you only want to remove the Profile Section from the header, here is how to do it. The Primary Navigation or Navigation on the portal is a part of the portal’s Header Component, this header component comes from the Header Web Template, It is not possible to edit this template from the Power Apps Portal Studio. To be able to edit this template we will have to use the portal management app Step 1: Go to Portal Management App, under templates search for Header Template. Step 2: at line number 104 or after line number 95 search for Class “dropdown-menu” in an unordered list (ul) and comment the below code. Ding!! We have done it. Hope this helps 😉!
Share Story :
Map Newly Registered Portal Contacts to Existing CRM Contacts in Power Apps portal (Azure AD)
Power Apps Portal allows us multiple ways to authenticate users, users can login either by using a User ID and Password for local login or using SSO logins like Azure AD, etc. Users can also register themself through the portal, when a user registers from the portal this creates a new contact with the user’s details and email ID in CRM. But what if the contact already exists in your system? To map the registered portal user with this existing contact instead of creating a new contact we need to enable/add a site setting. Site Setting – Authentication/[Protocol]/[Provider]/AllowContactMappingWithEmail More on Protocol & Provider – https://learn.microsoft.com/en-us/power-apps/maker/portals/configure/configure-portal-authentication For Azure AD login which is provided by default, you can use the Site Setting – Authentication/OpenIdConnect/AzureAD/AllowContactMappingWithEmail Reference Microsoft Document – https://learn.microsoft.com/en-us/power-apps/maker/portals/configure/configure-site-settings#portal-site-settings I hope this helps 😉 !
Share Story :
Dynamics 365 New Store Commerce App Overview, Setup, and Installation
This blog explains how to configure the Microsoft Dynamics 365 Commerce Store Commerce app and applies to Microsoft Dynamics 365 Commerce version 10.0.25. The Store Commerce app in Dynamics 365 Commerce is the next-generation offering for physical stores. It combines Modern Point of Sale (MPOS) and Cloud Point of Sale (CPOS) into a single application, provides deployment choices to retailers, and helps improve performance. At the same, it retains all the functionality of MPOS and CPOS, including extensibility. Store Commerce supports local hardware stations and offline usage, and can be directly integrated with a payment terminal, printer, and cash drawer. The Store Commerce app provides commerce functionality for below first-line workers Cashiers Sales Associates Inventory Associates Stock Clerks Store Managers Benefits of Store Commerce Store Commerce provides the benefits of both MPOS and CPOS. Performance is significantly improved. POS and extension upgrades are simplified through the Commerce sealed installer framework. Dedicated hardware station is supported. Offline deployment is supported. Application lifecycle management is simplified. Extension or independent software vendor (ISV) code that is developed for MPOS or CPOS by using the Commerce software development kit (SDK) can be reused in Store Commerce with minimal changes. Store Commerce supports two types of deployment topologies: In-app: All the components, such as Modern Point of Sale (MPOS), are deployed locally. Offline mode and local Hardware Station (HWS) are supported. Hybrid: Store Commerce renders the Cloud POS that is deployed in Commerce Scale Unit (CSU) and supports local Hardware stations. However, offline isn’t supported. There are no separate installers for the hybrid and in-app topologies. The deployment options are determined by the parameters that are passed during installation. In-app Deployment For the in-app deployment option, the application content is locally deployed in Store Commerce, just as for MPOS. To update the application content, run the latest version of the Store Commerce installer. The application content won’t be updated if you update the CSU. Therefore, you can manage the updates at individual registers. The in-app mode supports offline mode. Therefore, during installation, pass the –installoffline parameter to deploy the offline database. During offline mode (that is when there is no connectivity), the application won’t be able to connect to CSU or Commerce headquarters and will use the locally deployed CRT. Note: During the installation of Store Commerce, users can pass parameters to select either the hybrid option or the in-app option. The default option is in-app deployment. Hybrid Deployment Store Commerce is a shell that renders CPOS and connects to Headless Commerce and Commerce headquarters by using CSU in online mode. In hybrid mode, Store Commerce app content is rendered from CPOS that is hosted in CSU. When the Store Commerce app is opened, it will prompt for the CPOS URL. To update Store Commerce, just update the CSU. Store Commerce will then automatically receive the update. Because updates are centrally managed in CSU, they don’t have to be managed at individual registers. Setup and Installation Prerequisites Windows 10 version 17763.0 or later, Windows 11 (Pro, Enterprise, LTSC, and IOT Enterprise editions), or Windows Server 2019 (Standard, Essentials) Dynamics 365 Commerce (Commerce headquarters and Cloud Scale Unit) The .NET Framework version 4.7.2 or later. See Install the .NET Framework SQL Server Express, SQL Server Standard, or SQL Server Enterprise (required only for offline mode). For information on which SQL Server edition to use, see Commerce offline implementation and troubleshooting. Device setup in Commerce headquarters For Store Commerce, a new application type that is named Store Commerce has been added on the Devices page (Retail and Commerce > Channel setup > POS setup > Devices). Select this application type when you create a device for Store Commerce. Note: If the Store Commerce application type doesn’t appear on the drop-down menu, try to run the Initialize function from the General tab of the Commerce parameters page (Retail and Commerce > Headquarters setup > Parameters > Commerce parameters). Device installation from LCS Store Commerce can be downloaded from the LCS Shared asset library. On the Shared asset library page, select Retail Self-service package as the asset type, and then find the file that ends with Store Commerce. After the file has been downloaded, follow these steps to install the app. Go to the folder where you downloaded Store Commerce and open PowerShell in administrator mode. In PowerShell, find the Store Commerce installer, and pass the install parameter to install the app. To install offline components, pass the –installoffline parameter. (For example, enter Store_Commerce Installer_exe_name install –installoffline.) If you want to enable debugging mode during installation, pass the –enablewebviewdevtools parameter. Store Commerce installation parameters You can also use the help command in PowerShell to find information about all the parameters. In PowerShell, find the Store Commerce installer, and then enter Store_Commerce Installer_exe_name help install. Parameter Description installoffline Deploy the offline database. sqlservername Specify the name of the SQL Server instance that Store Commerce uses in offline mode. If you don’t specify this parameter, the installer will use a default instance. skipsqlfulltextcheck Skip validation of the SQL Full-Text Search that is required for offline deployment. trustsqlservercertificate Trust the SQL Server certificate when a connection is established to SQL Server. To help avoid security risks, you should never use this argument for production deployments. By default, the SQL Server certificate isn’t trusted. enablewebviewdevtools Enable developer tools for Store Commerce. If you don’t specify this parameter, developer tools will be enabled only if Windows Developer Mode is enabled. retailserverurl Specify the default Retail Server URL to use for Store Commerce. If you don’t specify this parameter, the user will be prompted to enter the Retail Server URL during device activation. useremoteappcontent Use the remote application content to download the Store Commerce app content from CPOS that is hosted in CSU. By default, the local application content that is deployed with Store Commerce is used. skipversioncheck Skip the validation during downgrade. skipurlcheck Skip the validation of URLs that are passed to the installer. logdirectorypath Specify the path of the log’s directory. config Specify the path of the configuration file that will be used as part of the installation. verbosity Deploy the offline database. help Show parameter information. version Show information about the app version. … Continue reading Dynamics 365 New Store Commerce App Overview, Setup, and Installation
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
