Latest Microsoft Dynamics 365 Blogs | CloudFronts - Page 67

Loading Screen using D365 CE JavaScript

Posted On March 26, 2020 by Priyesh Wagh Posted in Tagged in

Suppose, you want to show a loading/waiting screen to let people know there’s some heavy processing going on in the back-end and they shouldn’t navigate away to do anything else with the record, you can use loading screen by using showProgressIndicator() and closeProgressIndicatory() methods. Xrm.Utility methods There are 2 methods are documented in the Xrm.Utility of Microsoft Docs that you can use to achieve this. Microsoft reference here. In this scenario, let’s say you want to show the Loading page while your Action is being performed by the JavaScript code. You can place the Xrm.Utility.showProgressIndicator(message); before you begin your code to invoke an action and place Xrm.Utility.closeProgressIndicator(); in your success and failure messages. Execution Whenever your JS code will call the action, the progress message will be displayed on the screen as below  – In Classic UI   In Unified Interface –   And once the process is complete, the Xrm.Utility.closeProgressIndicator will remove the message as below and bring back the form you were working on – Side Note: If you are using action calling from JS using invokeProcessAction, as of the day of this post – This doesn’t work well and results in action not supported error on the UCI – invokeProcessAction does not work in UCI   Hope this helps!

Share Story :

Table Browser Extension for Google Chrome | D365

Now table browser becomes much easier for Microsoft Dynamics 365 Finance and Operations. Here you go with Google Chrome Extension – Table browser caller for D365FO. It’s very easy to install and use it. After installing the extension to the browser, it appears on the top bar and looks like While clicking on the extension, You can find the tab named with config where you need to put the URL of the respective environment and save it. Once config is setup, you need to go to the main tab that is Table Browser Caller as shown in above figure where you would setup mainly:  Search for table name: name of the table Company Id: name of the legal entity  After that, you need to find the table in the search box and just press the Enter key. And you will be redirected to the table in the new tab.  In addition, Table browser has also few other features like Browse all table lists  Browse all data entities   1. For getting the list of tables you need to click on Table list: Result as,  2. For getting the list of data entities you need to click on Data entities:  Result as, 

Share Story :

Set form control access via security role in D365 Finance

In some of the cases instead of providing security to whole form we need it for particular form control.So this blog will help you with providing access to form control via security roles.If you want to know more about security roles you can use my previous blog . First of all we need form control where we need to set some of the properties as follows. In our case we are using laid off button as shownNow select the button and press F4 for its properties and set needed permision to manual as follows Now in your desired security privilege you can either directly set form control permissions or Entry Points.For form control permission method right click on form control permission and select new form and after that set name property to your desired form (Hcmworker in our case) as follows Now right click on your form and select New control option as follows and set control name and permission for it as follows For Entry point method you need first need to add new entry point and set its object type and object name properties or for existing ones select desired entry point and click on drop down arrow and on controls right click and select new control.And now set its grant and name properties to desired control and its access rights After this you need to assign this privilege in desired security role and security duty as previously discussed in security role blog

Share Story :

Sitemap changes are not moving to UAT ?

  Use case : We were trying to deploy the solution from dev environment to UAT but Sitemap changes were not moving to UAT.   Solution : after RND we noticed that App extension for that particular app were not present in the solution Then we tried to add app extension and it is working   To add app extension Go to solution-> click on the component -> client extension and add extension for your app.   Now Save and Publish. And try to deploy the solution.   I hope this helps you while deployment of apps.

Share Story :

Resolve the dependency between multiple solutions in D365 Customer Engagement / CRM Solution using Solution Component Mover.

You have might question in your mind that why we need to move the components from one solution to another solution in D365 Customer Engagement So, let’s consider a scenario you and your team is working on D365 CRM customization and created the two solution — ‘ Solution A’ and ‘Solution B’. While customization development when you are moving the ‘Solution A’ on the Production instance but you are not able to move it. Because some of the missing components are present in the ‘Solution B’. Then you have decided to move the ‘Solution B’ first, but again while moving the ‘Solution B’ its failed because of some of the missing components present in ‘Solution A’. It means ‘Solution A’ and ‘Solution B’ are dependent on each other and you can’t move either of the solutions in the Production Environment or Target Environment. There are two solutions to the above problem Add the missing components in the one solution and move that solution to production. Merge the dependent solution into one solution using Solution Component Mover. Now, the First solution is time-consuming as well as effort making and developers need to track all the missing components and add them manually. But using Solution Component Mover, you can merge solutions in 10 to 15 min just by selecting the component from Source Solution and Target solution to which you need to move the components. So, let us see how to do it. Perquisites: XrmToolBox You can download the XrmToolBox from https://www.xrmtoolbox.com/ Steps to follow: Open the XrmToolBox and connect to your D365 CRM environment. Search for the Plugin “Solution Components Mover” Image: Search Solution Components Mover in XrmToolBox 3. Once the plugin will be load, click on load solution — it will load all the solutions present in the Environment. Image: Click on Load Solution After solutions are loaded you can see I have two solutions in my Environment “Solution A” and “Solution B” which have dependent components and one “Target Solution” on which I m going to copy the component so that “Target Solution” will become a master solution. Solution A Image: Solution A has Account entity and it’s subcomponents Solution B Image: Solution A has Case entity and it’s subcomponents Target Solution Image: Target Solution doesn’t have any entity or component. 4. Move the solution component by select the Source solution and Target Solution 5. Click on the Copy component, a popup will open where you can select the component type to move to the target solution. 6. Click on “Ok” and component from both solutions will be moved to Target Solution. You can see the following screenshot in which Target Solution has a component from “Solution A” and “Solution B”. You can see XrmToolBox Plugin how it helps to reduce your time and effort to which are required to move the component from solution to solution manually one by one.

Share Story :

Create security role in D365 Finance and operation

In D365 Finance and Operations when you need to provide and restrict users from a certain operation you can make use of security roles. You can create security roles from Finance and operations environment itself or from its development tool i.e Visual Studio. In this blog, we are going to create a security role in Visual Studio as follows.   Create privilege    First of all we need to create privilege as follows now we need to add new entry point and set  object type in our case display menu item from properties Now add object name(display menu item  name) as follows   create role   Now we need to create role where above created privilege will be needed create new security role  as follows now we need to add new privilege in role as shown And from properties select privilege which we have created in previous step Create Duty   Now we have to create new duty and assign previously created privilege in its properties as shown Now we can see security role in FnO environment select any user from system administration>>users and click on assign role as follows and now search for priviously created role and click on Ok button now your security role is assigned to user with our role will be able to see the object like form, report etc except user with system administrator.  

Share Story :

Updating multiple CDS records from Grid using PowerApps

Introduction: In this blog, we will learn how to Update multiple records of CDS from the Grid.   Use Case: We have a requirement where there is a Grid of CDS Data Source, on clicking the Save Icon on top of the Grid, it should Save every record which is selected through the checkbox which is there on every record of the Grid.   Steps: 1. There is a Screen on which there is an Editable grid of Quote Product Entity. To Create an Editable Grid refer to the following link. https://www.cloudfronts.com/create-an-editable-grid-view-in-powerapps/ To add Lookup Fields in the Grid refer to the following link. https://www.cloudfronts.com/add-lookup-fields-in-an-editable-grid-using-powerapps/ 2. This is the grid with a checkbox. 3. To Save selected records, first create a Collection:           OnSelect property of the Delete icon:           Set SaveIcon.OnSelect =  ClearCollect( <VariableName>, Filter( <GalleryName>.AllItems, <CheckBoxName>.Value = true ) ) For eg: SaveSelectedRecord.OnSelect= ClearCollect( SelectedQuoteProduct, Filter( GalleryQuoteProduct.AllItems, CheckboxQuoteProductGallery.Value = true ) )   4. When we select the Save Icon, it will collect all the records where the Checkbox is selected. 5. To Save the records from the CDS, set the OnSelect property of the Save Icon to the following formula:           OnSelect property of the Delete icon:           Set SaveIcon.OnSelect =  ForAll( <CollectionVariable>, Patch( ‘Gallery Data Source’, <GUID you want to delete> { <fieldName>: TextInput.Text, <fieldName>:ComboBoxName.Selected, <fieldName>:Value(CurrencyTextInput.Text) } ) ) For eg: SaveSelectedRecord.OnSelect=ForAll( SelectedQuoteProduct, Patch( [@’Quote Products’], LookUp( [@’Quote Products’], ‘Quote Product’ in SelectedQuoteProduct[@’Quote Product’] ), { ‘Product Code’: ProductCodeQPGallery.Text, ‘Product Name’: ProductNameQPGallery.Text, Quantity: Value(QuantityQPGallery.Text), ‘Sales Price’: Value(SoldPriceQPEditform.Text), ‘Discount Amount’: Value(DiscountAmountQPGallery.Text), Tax:Value(TaxQPEditForm.Text), ‘Extended Amount’: Value(ExtendedAmountQPGallery.Text) } ) )   6. Combine the Whole formula in the OnSelect property of Save Icon :           For eg: SaveSelectedRecord.OnSelect= ClearCollect( SelectedQuoteProduct, Filter( GalleryQuoteProduct.AllItems, CheckboxQuoteProductGallery.Value = true ) )  ForAll( SelectedQuoteProduct, Patch( [@’Quote Products’], LookUp( [@’Quote Products’], ‘Quote Product’ in SelectedQuoteProduct[@’Quote Product’] ), { ‘Product Code’: ProductCodeQPGallery.Text, ‘Product Name’: ProductNameQPGallery.Text, Quantity: Value(QuantityQPGallery.Text), ‘Sales Price’: Value(SoldPriceQPEditform.Text), ‘Discount Amount’: Value(DiscountAmountQPGallery.Text), Tax:Value(TaxQPEditForm.Text), ‘Extended Amount’: Value(ExtendedAmountQPGallery.Text) } ) )   Conclusion: Hope the above Blog helps you Save multiple records of CDS from the Grid.

Share Story :

How to Set Default value of Two Options on New form using PowerApps

Introduction: In this blog, we will learn how to set Default Value of Two Options on New Form.   Use Case: We have a requirement where there is a Field(Data Field: Two Options) on the form, which should show “NO” as Default value. The Field on the Form is a Combo Box.   Steps: 1. This is the form of Quote Product. We want to set Override Price as NO.   2. To set Default value of the field, click on the Combo Box.           DefaultSelectedItems property:           Set OverridePrices.DefaultSelectedItems =  { Value: <Field Name>.No} For eg: OverridePricesComboBoxQPForm.DefaultSelectedItems = {Value: ‘Override Prices (Quote Products)’.No}   Conclusion: Hope the above Blog helps you to set Default Value of Two Options on New Form.

Share Story :

Hide Recent Items from Dynamics 365 CRM Lookup form using Xrm.Utility.lookupObjects through JavaScript

User property disableMru = true; You can refer below code       selectProjectLayout: () => {         var lookupOptions = {}; var _projectLayoutName = null; var customFilter = ‘<filter type=”and”>’ + ‘<condition attribute=”cf_project” operator=”eq” value=”‘ + Operations.selectedProjectId + ‘”/>’ + ‘</filter>’; lookupOptions.allowMultiSelect = false; lookupOptions.defaultEntityType = “cf_tcmaplayout”; lookupOptions.entityTypes = [“cf_tcmaplayout”];         lookupOptions.disableMru = true;// used to hide recent items try { if (Operations.selectedProjectId !== null) { lookupOptions.filters = [{ filterXml: customFilter }]; Xrm.Utility.lookupObjects(lookupOptions).then( function (result) { if (result !== undefined && result.length > 0) { // your code } } }, function (error) { if (error != null) { Xrm.Utility.alertDialog(error.message); } } ); } } catch (e) { Xrm.Utility.alertDialog(e.message); } }

Share Story :

How to share confidential files securely with external users?

Suppose you are sharing a confidential file externally, of course, you will not want the external user to edit the file or download it or share it again with others. In this article, we are going to see how we can achieve that. This is applicable to both OneDrive for Business Online as well as with the app (OneDrive files synced on your system). OneDrive for Business users have the option to restrict the level of access. Anyone – gives access to anyone with the link, whether received directly or forwarded. This can also include external users as well. People in your Organization – give anyone in your organization who has the link access, whether received directly or forwarded. People with Existing access – Can only be used by the people who already have access to the document. Specific People – gives access only to people you specify. This cannot be accessed if forwarded to others who don’t have access already. If you see any of these options greyed out, your admins might have restricted the options from Admin Center. Steps 1: Sharing process for the confidential files. Go to OneDrive for Business, select a file you want to share by selecting the circle, you can also pick multiple items to share them together. Select Share at the top of the page or beside the file name there is a small Share icon (See above screenshot). Select “Anyone with the link can edit” to customize the option. You can see the other options as well, now select “Specific People”, uncheck Allow Editing and toggle ON the Block download option and click Apply. Enter the email address of this user with whom you want to share this file and click Send. Steps 2: What happens when the external user receives the file. The user received the email with a file link and it is clearly indicated that this link will not work if forwarded to someone who doesn’t have access to this file already. When the user will try to open the file, it will ask for verification and users will need to click on Send Code. The code will be generated and sent to the user via email. The user will enter the code and verify it. The file will open after it is verified. Users won’t be able to edit or download the file. If this user will forward this document to another user, the other user will be asked to log in with the credentials to which the file was initially shared, hence securing the file if it gets forwarded. In this way, you can share confidential documents with external users and hence securing the data. Hope this article helps to achieve the same.

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange