Category Archives: Blog
Compare two roles in CRM
Introduction: Managing and understanding security roles in CRM can be tough. One of the Tools on Xrm.Tools is a Security Role Explorer, which tries to help make it easier. Steps to Compare roles in CRM: Go to xrm.tools site on browser. Click on Explore Roles Now button on the left most corner. You need to enter CRM organization credentials. Select Compare Roles buttons. Compare Roles – Allows you to compare two roles and look at what is Unique to each role, Different or the Same. This is great for example when you are trying to decide if you should consolidate some roles. View User Roles – It allows you to provide a user e-mail, it looks up all their roles and presents you a composite view of what their roles provide them. This is great when you have users that have multiple roles, and you want to see what their combined access is. View Entity Roles – You simply need to provide the logical name of the entity. Once provided it will show you all the roles and the access each role provides for that entity. This view is great when you simply want to know which roles have access to a specific entity, and you don’t have time to open 20+ roles up to find out! We will compare roles in this blog. Thus, enter the roles you want to compare. The result will be displayed and you can analyse the security roles and depending on the analysis you can create new roles or add access to the existing roles. You can compare the previous OOB role with the new OOB roles too.
Share Story :
Put validation on Business Process Flow
Introduction: CRM business process flow allows users to enter data in steps which makes it simple and don’t required to scroll down all the way to bottom of form. A single business process flow can be divided into small steps to achieve the same and enter the data easily. But user may have requirement where a person should not move to the next stage. If it is based on the field than there is no problem, user can simply set the field required and get requirement fullfilled. But what if user should not allow to move to the next stage until a record of related entity is not present. For example, an account should have a phone call or an appointment to move the next stage. Or in our case an Incident should have few documents attached to it before moving to the next stage. While moving from Reporting to Insurance stage it should have below listed document. Otherwise it should display an error. Description: To achieve this requirement, we can write a plugin on the business process flow. But we must understand the structure of the Business process flow. While creating a new business process flow it creates a new entity with the same name. Which holds the related entity name Current stage Record with which it is associated When creating a record with the having business process flow. Name of the business process flow: Incident Business Process Active stage: Reporting Record name: 20171025–ESTDEL55-1 Plugins- Write Code: We need to write code and need to compare the current stage with previous stage and check if required document is present or not. Using the above information user can write a plugin and stop the user to move the next stage until required document is provided. Register Plugin: Once you have completed the code you need to register the plugin on update of business process entity. Message Name: update Entity: cf_incidentbusinessprocess Filter attribute: activesateid. Event stage: pre-operation Register Image: PreIamge Once you have completed your plugin and registered it. You can simply test it by moving to the next stage without having the required document. You will receive the below error. Until user not provides the document he will not be able to move to the next stage Conclusion: You can write a plugin to prevent a user from moving to the next stage.
Share Story :
Input Mask on D365 Control
Overview: Now, you may have a requirement where you’d want users to input data in a correct format for better readability and validity. There is a feature for a control where you can achieve this in tablet/mobile app of D365 and on the new v9 version of D365. It is called Input Mask For this example, I’ll demonstrate the feature on the new D365 v9’s Unified Interface. Define Input Mast for a control: Here’s how you can define an Input Mask for a control. Take an example of a Lead where I want business users to enter Business Phone field in a specified format only: Navigate to change the Field Properties on the Lead form: And click on Add Control to add the new type of control for the field. Select Input Mask and click Add. Select where you want the Input Mask to effect and then select the pencil icon to edit the condition Create your format by following the instructions. You can either bind to a value on a field or bind to a static value. I selected to bind to a static value. Confirm your changes and publish the same as below Input Mask Validating user input Since you’ve published the changes, let’s take a look at the Lead form and check the validation message if incorrect format is entered. Navigate to the Lead form in the Unified Interface. And enter the Business Phone which is not compliant to the specified format. You’ll see the validation error. Only when I enter correct format, I’m able to save the same. Hope this quick tip was helpful!
Share Story :
System User in D365
Introduction: In this blog we will be discussing about System user in D365. Description: System Users are built in users in D365. Some important points that need to be kept in mind are as follows: The Mailboxes of the System user cannot be setup hence emails can’t be sent and received. If a plugin is run with the System user context then it bypasses all the security rules. No one can log in to the system as the System User. The System user is in the base business unit. There might be situations when we not only want the plugin to update records that can be viewed by us but there is a need to update the other records to which we don’t have access to, in this situation we can run the plugin with the System User context. A plugin can call other plugin/workflows hence if a plugin is run in the context of System User then all the other plugins that are run because of the parent plugin will also be run in the same context. Implementation: Step 1: By default, in D365 the System User can’t be seen in the users’ section, as shown in the below two views. On Searching in the Disabled Users also it doesn’t show the System User. The owner of the record can’t be changed to System Owner from the lookup field as System User does not show up. Step 2: There might be situations when we might need to perform checks on the record to know if the owner is System User or not to carry out some operations. If there are no records in D365 with the owner as System User then it’s a problem. One way of creating a record with System owner is by using plugins to create a record and run the Plugin in the System users context as shown below. Step 3: After that is done as shown in the below image the owner is set as System. Now we can perform our business logic as we have a record with the SYSTEM as the owner. Step 4: Now if we click on the Owner we go to the record which is read only and see the following details as shown below. Step 5: We can’t modify any details of this user. If we try to add a security role to this user we get the following error message as shown below.
Share Story :
Procedure to create a custom Cue based on a query and a normal field in Dynamics NAV
There’s no compelling reason to enter similar information again and again to different frameworks. At the point when you enter information into one framework, information naturally synchronizes to your different frameworks as characterized by your standards. Consider item data in NAV synchronizing to your webstore, online requests adjusting to NAV, and delivery and following information matching up to your webstore. Computerization spares you time since by dispensing with the requirement for you to enter information yourself. Another significant advantage of microsoft dynamics nav upgrade is that it improves your information quality. Your information won’t be inclined to human mix-up like mistakes and erroneous spellings. Coordination guarantees that quality information makes it to the entirety of your frameworks. Introduction: To show visual representation of aggregated data in Microsoft Dynamics NAV client, tiles are created in NAV which are called Cues. Cues are more user-friendly. It helps the user to get quick details of aggregated data like the total number of open sales orders, total number of customers with a particular status, etc. Pre-Requisite: Microsoft Dynamics NAV Purpose: In this article, I am going to demonstrate the procedure to create a custom Cue based on a query in Dynamics NAV. The scenario which I am going to elaborate is the numbers of contracts which is a custom entity repossessed in the current month. Procedure: I have created a field ‘Status’ in my custom table ‘Contracts’ which is an option field which has the following OptionString ‘Created,Active,Terminated,Ended,Repossessed,Switched’. Now I am creating a cue to find the total number of contracts repossessed in the current month that means the total number of contracts for which status has been changed to ‘Repossessed’ in the current month. I have created two fields in ‘Contracts’ table viz. ‘Repossessed month’ and ‘Repossessed Year’ which will get populated with the Month name and the Year when the Contract status has been changed to ‘Repossessed’ respectively. The next step is to create a query. I have created a query ‘CF_RepossessedMonthQuery’ which will give the count of the total number of contracts repossessed in the current month. The result of the query is as follows: Now create a field in a new table which will store the count of the number of repossessed contracts in the current month. For this, I have created a new field in a table ‘RepossessedContractsMonth’ of DataType ‘Integer’ Navigate to C/AL globals and create two new functions as below: a. ‘ContractsRepossessedThisMonth’ with Return Value Name ‘CountContracts’ and ReturnType ‘Integer’ and the following local variables. Navigate to properties and set the local property of this function to ‘No’. Go to C/AL code and add the following code for this function: ‘DrillDownContractsRepossessedThisMonth’ with the following local variables: Navigate to properties and set the local property of this function to ‘No’. Go to C/AL code and add the following code for this function: ‘DrillDownContractsRepossessedThisMonth’ is created so that on clicking the cue the respective records open in a list. The next page is to add the field created in step 4. Create a new group in a page with subtype ‘CueGroup’ Go to C/AL code and in OnOpenPage() add the following code: In OnAfterGetRecord() add the following code:Assign the function created in step 5.a to the field added in the page ‘RepossessedContractsMonth’. In OnDrillDown() of RepossessedContractsMonth add the following code which will call the function created in step 5.b. Save the changes and run the page created in step 6. The output looks like below: On clicking the ‘Contracts Repossessed this Month’ Cue the 2 respective contracts are displayed whose status has been changed to ‘Repossessed’ in the current month. You can add these cues to any standard role center page like Business Manager Role Center, Sales Manager Role Center, etc. so that the cues are visible when the user opens the NAV client. Conclusion: Using the above procedure, custom cues can be created in Dynamics NAV which will be displayed.
Share Story :
Approval Workflow Setup and Process in Microsoft Dynamics NAV 2017
Introduction: Workflows are a list of steps, each step consists of workflow events, workflow condition and workflow responses. Companies require documents to be approved before they can be released or sent to the customers, vendors etc. E.g If a Purchase order has total amount above 10000, an approval may be required from the hierarchy before sending it across the Vendor. here, we use approval workflow Workflow connects business-process tasks performed by different users. The task can be automatic posting, user tasks or approvals. In this blog I’ll be covering the step-wise procedure to set up approval workflow and explain the process of approval workflows. Pre-requisites: Microsoft Dynamics NAV 2017 Steps: 1. SMTP Mail Setup: Browse SMTP Mail Setup in the search bar. Click on ‘Apply Office 365 Server Settings’. This will populate the SMTP Server , SMTP server port and Authentication is set to Basic. In the User ID enter the default email id through which emails will be sent. Enter the password for the email id set. 2. Approval User Setup Approval user setup is based on the user set up. In the user setup we define users, their limit amount based on their hierarchy and who should approve. We can assign substitute approvers when the direct approvers cannot approve for some reason. We can assign email-id of the approvers. Approval Administrator – this user administers the whole approval process Below is a scenario for Sales order approval. For an approval workflow we need to setup Approval User Setup In the above image there are four users CHRISDSILVA, TEST, MANAGER, CEO The CHRISDSILVA user initiates initiates the approval process for the Sales amount from limit 4000 and above and Purchase amount limit 1000 and above, Request amount limit 1000 and above and TEST will approve it The TEST user initiates the approval process for the Sales amount from limit 7500 and above and Purchase amount limit 1500 and above, Request amount limit 1500 and above and MANAGER will approve it The MANAGER user initiates the approval process for the Sales amount from limit 15000 and above, Purchase amount limit 1000 and above, request amount limit 1000 and above and CEO will approve it. The CEO user has Unlimited sales amount, unlimited purchase amount and unlimited request amount and is the Approval administrator. Click on approval user setup test to check whether the setup is correct. This will run and give the status if the status is correct 3.Notifications set up Click on Notification setup for each user to notify the users in the approval process through note or email. A schedule can also be set up to send the notifications daily, weekly, monthly on a particular time. 4. Workflow setup Browse to workflow from the search bar or to the path CRONUS International Ltd./Departments/Administration/Application Setup/Workflow/Workflows, Click on New workflow from Template. This will prompt to select a workflow category. Select the category eg. Sales document and then select a workflow template eg. Sales order workflow This will open the Sales order workflow Template. The first event is approval of the sales document is requested and the condition is that the document type is Order and status of the document is Open then a list of responses will be executed. First Event Click on the Assit edit button on the Add record restriction line, this will open up the response window. This response will do the following Add record restriction Set document status to Pending Approval : This changes the status of the document in this case the sales document status to Pending Approval. Create an approval request for the record using approver type Salesperson/Purchaser and approver limit type Approver Chain. Click on the third response, a option for selected response window opens. Select the approver type depending upon the requirement – Approver, Salesperson/Purchaser, Workflow User Group. The Due date formula is used to send overdue approval mails after the due date mentioned. The delegate after can be set if the document is not approved then it can be delegated to the substituted approver either never, after 1 day, 2 days, 5 days. Approver type: The approver type can select between Salesperson/purchaser, Approver, workflow user group. Here workflow user group is group of users e.g sales department or purchase manager that must approve. Approver means the approver set up done in the previous step or the system approve based on the salesperson/purchaser that are using sales and purchase document. Approver Limit Type: Options like Approver chain, direct approver, First Qualifier approver, Specific approver. Approver chain: if we have multiple approvers then everyone will get an approval request immediately. E.g. if a user creates sales order which not only exceeds his/her limit but also the limit of the direct approver then approval will be required not only from the Direct approver but also from the hierarchy above the Direct approver. These users will receive an approval request in the approval chain. Direct Approver: here only the Direct approver will receive the approval request First Qualifier Approver: Here if the user creates a sales order which exceeds not only his/her limit but also the limit of the Direct approver then an approval request is directly sent to the hierarchy above the Direct approver. Specific Approver: here we can set a user ID to which the approval request will be send. Send approval request for the record and create a notification. An approval request is sent and a notification is created based on the notifications settings. Second Event An approval request is approved that means all users have approved the approval request so the system checks whether the Pending approvals is 0 then in the response all record restrictions are removed and the document is released. Third Event If the system rechecks and the Pending approval is greater than 0 i.e some approver users have not approved the approval request then again a approval request is sent and a notification is created. Fourth Event An approval request is rejected- The approval request … Continue reading Approval Workflow Setup and Process in Microsoft Dynamics NAV 2017
Share Story :
Labels in Office 365
Introduction: Across your organization, you probably have different types of content that require different actions taken on them to comply with industry regulations and internal policies. Labels in Office 365 can help you take the right actions on the right content. With labels, you can classify data across your organization for governance, and enforce retention rules based on that classification. With labels, you can: Enable people in your organization to apply a label manuallyto content in Outlook, OneDrive, SharePoint, and Office 365 groups. Users often know what type of content they’re working with, so they can classify it and have the proper policy applied. Apply labels to content automatically if it matches specific conditions, such as when the content contains: Specific types of sensitive information. This is available for content in SharePoint and OneDrive. Specific keywords that match a query you create. This is available for content in Exchange, SharePoint, OneDrive, and Office 365 groups. The ability to apply labels to content automatically is important because: You don’t need to train your users on all your classifications. You don’t need to rely on users to classify all content correctly. Users no longer need to know about data governance policies – they can instead focus on their work. Note that auto-apply labels require an Office 365 Enterprise E5 subscription. You create and manage labels on the Labels page in the Office 365 Security & Compliance Center. Create a Label. Sign in to Office 365. In Office 365 Admin Center, go to Admin Centers > Security & Compliance. In Security & Compliance, go to Classifications > Labels. Click on Create a label. Provide a name for Label and description. In Label settings, there is Retention option apart from Retention policy. You can turn this on if you want to apply retention settings to that label and if not, you can simply click on Next. If you turn this On, a various parameter will be shown (as shown in below image). Retain the content – Select the retention period that for how the data will be preserved. What do you want to do after this time – Here we need to select the action which will be taken after the retention age has reached. Label classification – If this is selected, users won’t be able to edit or delete the content or change or remove the label. After providing Label settings, click Next. Review your settings and click on Create this label. Publish labels in Office 365. The primary purpose of the label policy is to group a set of labels and specify the locations where you want those labels to appear. Sign in to Office 365. In O365 Admin Center, go to Admin Centers > Security & Compliance > Classification > Label Policies. Click Publish labels and choose the labels you want to publish for this label policy. A single label can be published in many policies. After adding label, you need to choose the location where you want to publish these labels. Name your policy. Review your settings. Click on Publish labels, it will take up to 1 day to publish these labels in the location you chose, so after clicking on Publish labels you will see the below screen. As it takes normally 1 day to publish the status will be in Pending till then. Applying Labels to the documents in SharePoint and OneDrive. From Office 365 Home tab, click the SharePoint tile. On the new SharePoint tab in your browser, click a site that needs an O365 label assigned. You can assign label to the whole document library at once or you can select the document for which you want to assign label. Applying label to individual document, select the document and apply label. Applying label to a document library, select that Document library > Library settings > Apply label to items in this list or library. Click on Apply label to items in this list or library and select the label you want to apply. Similarly, you can also apply labels to OneDrive document. Conclusion: This is how we can create Label and Label policy, then publish it so that users can classify data across organization for governance and enforce retention rule based on the classification.
Share Story :
Configuration of Analysis Services
Microsoft SQL Server Analysis Services is a server-based solution that provides online analytical processing (OLAP) functionality. Analytical reports help users examine business data and identify trends that they might not otherwise discover when viewing data on traditional reports. To integrate Microsoft Dynamics AX and Analysis Services, you must perform the following steps: Step 1: Complete the prerequisite tasks: Verify that you have the permissions that are required to configure Analysis Services. Create a domain account to run the Analysis Services service. Assign the .NET Business Connector proxy account to the server administrator role in Analysis Services. Install prerequisites. Step 2: Configure Microsoft SQL Server Analysis Services: Start Microsoft Dynamics AX Setup. Under Install, select Microsoft Dynamics AX components. On the Select components page: Select the Analysis Services configuration check box. Click Next. On the Prerequisite Validation page, resolve any errors. When no errors remain, click Next. On the Select a file location page, select the location, and then click Next. On the Specify a location for configuration settings page, specify whether you want the cubes to access configuration information from the registry on the local computer or from a shared configuration file. If you select to use a shared configuration file, you must enter the network location of the file. Click Next. On the Connect to an AOS instance page, enter the name of the computer that is running the Application Object Server (AOS) instance On the Specify Business Connector proxy account information page, enter the password for the proxy account that is used by Business Connector. Click Next. On the Specify an Analysis Services instance page, select an instance of Analysis Services. Click Next. On the Connect to a SQL Server Database page, follow these steps: Select the computer that hosts your Microsoft Dynamics AX online transaction processing (OLTP) database. Select the Microsoft Dynamics AX OLTP database. Click Next. On the Ready to install page, click Install. Click Finish to close the Setup wizard. Step 3: Complete the Analysis Services integration: Install SQL Server Shared Management Objects on Microsoft Dynamics AX client computers. Verify that information about exchange rates has been entered. Click System administration> Setup > Business intelligence > Analysis Services > System currency and exchange rate type. Set up OLAP Administration Form Click System administration> Setup > Business intelligence > Analysis Services >Analysis Server Deploy the default cubes that are included with Microsoft Dynamics AX. PS: Ensure that the Microsoft Analysis Server should be connected to the Microsoft SQL Server Management Studio for the respective Server along with correct logon Credentials. Open the Microsoft Dynamics AX client. Click File > Tools > Business Intelligence (BI) tools > SQL Server Analysis Services project wizard. On the Analysis Services project wizard page, click Next. On the Select an option page, click Deploy, and then click Next. On the Select an existing Analysis Services project page, click Select a project from the AOT. Select the project you want to deploy from the list, and then click Next On the Deploying page, click Next when the deployment is completed. Click Finish to close the wizard. Configure the cubes, based on the changes that you have made to the Microsoft Dynamics AX configuration or license keys. Click Tools> Business Intelligence (BI) tools > SQL Server Analysis Services project wizard. Click Next. On the Select an option page, select Configure. Click Next. On the Select an existing Analysis Services project page, select the project to update. You can select a project from the AOT or from disk. Click Next After the project builds, click Next Select the Apply the Microsoft Dynamics AX configuration to the Analysis Services project check box. Click Next. Select additional languages for which to provide label translations and then click Next. To Run the Report: Click on Accounts Payable>Reports>Statistics>Vendor>Top Vendors by YTD Purchase
Share Story :
Check Security Roles of Logged in user using JavaScript
Introduction: In this blog, we will be demonstrating how to use JavaScript to check user security roles. This is applicable in organization where, there are users with multiple security roles. And only users with a specific role assigned to them should be allowed to carry on certain tasks. Scenario: There is an organization with two users,”User A” is assigned a custom role and “User B” is not assigned a custom role. Only “User A” should be able to Save the form as he/she has the custom role. Implementation: Step 1: Create two users “User A” and “User B”. Step 2: Create a custom security role “CustomRoleA”. “User A” has the following security roles: Salesperson Sales App Access CustomRoleA “User B” has the following security roles: Salesperson Sales App Access Step 3: Now we write a JavaScript code to check the logged in users security roles and accordingly allow only that user to save the record who has the “CustomRoleA” security role. If a user without that security role tries to save the a newly created record, an error notification is shown and record is not saved. Step 4: Save this as a new JavaScript web resource in Dynamics 365 and we will make this code run on the “Contact” form which will be triggered on the form onSave event. Step 5: Now when “User B” makes a new record and tries to save it the following error message is shown. The record can’t be saved. The search results as shown in the below image states that there is no such record. Step 6: When “User A” tries to make a new contact and save, the permission is granted to save the record and in the search the record is shown as shown in the below two images. Conclusion: By checking the security roles different functionalities can be restricted for any user like show/hide fields or buttons.
Share Story :
Media Controls in Power App
Introduction: In this blog article, we will discuss working of Media controls in Power Apps Media Controls: There are 7 Media controls in Power Apps Image Camera Barcode Audio Video Microphone Add Picture Image Control: Shows an image from, for example, a local file or a data source. Description: If you add one or more Image controls to your app, you can show individual images that aren’t part of a data set, or you can incorporate images from records in data sources. Example: Show an image from a local file Steps: 1. On the Content tab, click or tap Media, and then click or tap Browse. 2. Click or tap the image file that you want to add, click or tap Open, and then press Esc to return to the default workspace. 3. Add an Image control, and set its Items property to the name of the file that you added. Output: Camera Control: A control with which the user can take photos by using the camera on the device. Description: If you add this control, the user can update a data source with one or more photos from wherever the app is running. Example: Add photos to an Image gallery control Steps: 1.Add camera control set it’s OnSelect Property to Collect(MyPix,Camera1.photo). (here Camera1 is the name of camera control.) 2. Add gallery control set its item property to MyPix.Url 3. Set the Image property of the Image control in the gallery to ThisItem.Url. Output: Barcode Control: A control with which the user can take photos by using the barcode scanner on the device. Description: If you add this control, the user can update a data source with one or more photos from wherever the app is running. Steps: 1. Add a barcode control. 2. Add a label control and set its Text property to (here Barcode1 is the name of barcode control) Output: Microphone control: A control with which the user can record sounds. Description: If you add this control, the user can update a data source with one or more sounds from wherever the app is running. Steps: 1. Add Microphone control and set its onStop Property to Collect(MySounds,MyMic.Audio). (here MyMic is the name of microphone) 2. Add a blank gallery control and set its items property to MySounds and add audio control inside it. And set its Media Property to ThisItem.Url 3. Add A button if you want to remove any audio. Set its OnSelect property to : Remove(MySounds,ThisItem) Output: Add picture control: Takes a photo or loads images from the local device. Description: With this control users can take photos or upload image files from their device and update the data source with this content. Example: Add images to an image gallery control Steps: 1.Add an Add Picture control 2. Add Button control inside Add picture control. 3. Set OnSelect Property of button to: Collect(Pics, AddMediaButton2.Media) 4. Add gallery control and set its items property to pics. (gallery control will display all the images which are added) Output: Audio Control: A control that plays an audio file. Description: An Audio control plays a sound clip from a file, a recording from a Microphone control, or the audio track from a video file. Steps: 1. Add Audio control. 2. On the Content tab, click or tap Media, and then click or tap Browse And select the audio from local device. 3. Set Media property of audio to the name of audio file. Output: Video Control: A control that plays a video file, or a video on YouTube. Description: A Video control plays a video clip from a file or from YouTube if you specify a URL. Example: For adding a YouTube video Steps: Add video controller and set its Media property to the URL link of that YouTube video. (add URL in quotes) Output:
 
								 
								