Category Archives: D365 General
PowerApps
What is PowerApps? PowerApps is a Microsoft product which allows developer/non-developer to build an application without writing a single line of code. PowerApps creates custom business apps for web and mobile devices that help you do your job more efficiently and collaborate better with your co-workers. Use PowerApps to solve problems specific to your business and extend the software you’re already using such as apps for custom site inspections, cost estimators, budget tracking, or managing customer opportunities You can use PowerApps in any web browser, including the mobile web. You can also download PowerApps Mobile for iOSor Android to use apps on your phone or tablet. No matter where you’re working, just open PowerApps to find the apps available to you. What data sources can my apps connect to? PowerApps connects to a range of data sources out of the box, and Microsoft adding more all the time. Some examples of data sources and services include: Excel files stored on OneDrive for Business, Dropbox, or Google Drive SharePoint Online lists Salesforce objects Microsoft Dynamics CRM Online records Azure SQL Database tables Office 365 Exchange data Twitter Microsoft Translator Your own custom APIs And many more applications. What’s a work or school account, and why do I need one to use PowerApps? Because PowerApps is built for business apps that you share with your team, we require you to use an email address associated with an organization (your work or school account) to sign up. Shared email providers like Hotmail or Gmail won’t currently work with PowerApps. Who can I share apps with You can share apps with anyone in your organization, that is, anyone who has your same email domain—for instance, anyemployee@contoso.com. Anyone who uses your apps will also need access to any data sources those apps connect to. For example, if you build an app that uses an Excel file on OneDrive, people you share the app with will also need to have access to the Excel file in order to fully use the app Connection: Go to: https://powerapps.microsoft.com/ You need to sign in the powerApps portal using the given link and signin/singup Once you are logged in successfully, you can create a new app from the portal. Click on create new App. You can develop PowerApps either on desktop application or on the browser, you can download it from the Store or you can directly edit in browser. Once you have installed the PoweApps from the Store now you can develop your own application by click on the new button. Select from the existing app which is a predefined template Establish your connection with CRM: If you have already connected with the existing CRM than you don’t required to connect. If your login for the first time you need provide the connection details. Click on the Dynamics CRM Online. To design the PowerApps you need to select a table from the available list, select the table(entity) Once you have done with your app is ready and you are able to see the app with 3 different type of forms. Design app BrowseScreen1:shows a list of all items and some information about them so that users can easily browse for the item they want. DetailScreen1:shows all information about a single item. EditScreen1:provides an Edit form control for adding an item or updating information about an item. Page Search and sort the contact User can search for one or more records, sort the list of records in ascending or descending order, or both. Form Type Display Screen: You can add the records from the right side pane. this only displays the records. Edit screen: Here user can change the value of a record. Update: Controls Formula: Looking value from other data set from the other data set LookUp(Accounts, accountid=ThisItem._parentcustomerid_value).name Table– Required. Table to search. Formula– Required. This formula is evaluated for each record of the table, and the first record that results in true is returned. You can reference columns within the table. ReductionFormula– Optional. This formula is evaluated over the record that was found, reducing the record to a single value. You can reference columns within the table. If this parameter is not supplied, the function returns the full record from the table. Update = DataCardValue9.Text; Search(Contacts, TextSearchBox1.Text, “firstname”, “_defaultpricelevelid_value”, “_ownerid_type”, “_ownerid_value”) Table – Required. Table to search. SearchString – Required. The string to search for. If blank or an empty string, all records are returned. Column(s) – Required. The names of columns within Table to search. Columns to search must contain text. Column names must be strings and enclosed in double quotes. If SearchString is found within the data of any of these columns as a partial match, the full record will be returned. SortByColumns( Contacts, ” firstname “, SortOrder.Descending ) Bind data to Dropdown Table – Required. Table to sort. ColumnName(s) – Required. The column names to sort on, as strings. SortOrder(s) – Optional. SortOrder!Ascending or SortOrder!Descending. SortOrder!Ascendingis the default. If multiple ColumnNames are supplied, all but the last column must include aSortOrder. SortByColumns(Search(Contacts, TextSearchBox1.Text, “firstname”, “_defaultpricelevelid_value”, “_ownerid_type”, “_ownerid_value”), “_defaultpricelevelid_type”, If(SortDescending1, Descending, Ascending)) Reference Link 1. https://powerapps.microsoft.com/en-us/tutorials/getting-started/ 2. https://powerapps.microsoft.com/en-us/tutorials/formula-reference/ 3. https://powerapps.microsoft.com/en-us/tutorials/working-with-cards/
Share Story :
Accessing Azure Blob storage from CRM Online Plugin
In this blog article, we will see how to access Azure Blob storage and create document in CRM by reading a specific blob document in Azure. Steps: Get the following details of the Azure Blob storage Primary access key Blob container name File Name of the document Now we will write a sample plugin code which will read document from the Azure Blob storage and create an Annotation in CRM. Since we cannot use external DLL in CRM online plugins, we are going to use the Web request to access the Azure blob storage. The HTTP web request has a bunch of headers along the above details to successfully access Azure blob storage. For this, I have used a RestHelper and BlobHelper utility code files, which have all the operations of (a) making a web request and (b) performing blob operations. The Helper files and the CRM plugin sample can be found in the below GitHub link: GitHub: CRM Online Integration with Azure Blob Using this we can get the document and create Annotation in CRM using the below code: #region Connect and fetch the data from Blob storage // Replace the below values with actual details from your Azure Blob storage string storageAccount = “blobstorageaccountname”; string filename = “filenamehere”; // testdocument.pdf string containerName = “containernameHere”; //documents string storageKey = “primaryaccesskiyeofazureblobstorageaccount”; BlobHelper blobHelper = new BlobHelper(storageAccount, storageKey); KeyValuePair<byte[], string> data = blobHelper.GetBlobResponse(containerName, filename); byte[] body = data.Key; string contentType = data.Value; #endregion #region Create Annotation in CRM string encodedData = System.Convert.ToBase64String(body); Entity Annotation = new Entity(“annotation”); Annotation.Attributes[“objectid”] = new EntityReference(workOrder.LogicalName, workOrder.Id); Annotation.Attributes[“objecttypecode”] = workOrder.LogicalName; Annotation.Attributes[“subject”] = “Document from AX Integration”; Annotation.Attributes[“documentbody”] = encodedData; Annotation.Attributes[“mimetype”] = contentType; Annotation.Attributes[“notetext”] = “REST API – Sample document from AX.”; Annotation.Attributes[“filename”] = entity.GetAttributeValue<string>(“cf_name”); Guid annotation = service.Create(Annotation); #endregion
Share Story :
Comparison between NAV 2017 and Dynamics 365 for Financials
Dynamics 365 for Financials is a newly launched product by Microsoft which is fully based on Cloud. The product is developed keeping Microsoft Dynamics Navision as base. Following is the list of differences which could be identified when compared to Microsoft Dynamics NAV 2017. User Interface D365 for Financials – It is a web based application hosted on Cloud. There is no Client Installation Required. It can be used from Web Browser, Mobile Application and Tablet Application. NAV 2017 – NAV 2017 can be installed either on On-premises server or on Azure. NAV 2017 can be used from Windows client as well as from Web Browser, Mobile Application and Tablet Application. The feel and look of web browser of NAV 2017 as well as of D365 for financials is same. Modules/Departments As compared to NAV 2017, D365 for financials does not provide modules and their respective functionalities with respect to Production, Warehouse, Human Resource & Service. Finance Module As compared to NAV 2017, D365 for financials does not provide functionalities with reference to Finance Module like Intercompany transactions. Sales & Marketing Module Following is the list of features which are missing from D365 for Financials regarding Sales & Marketing Module: Item Charge Shipment Methods Shipping Agents Item Functionality As compared to NAV 2017, D365 for financials does not supports Lot Tracking, Locations & its related functionality. Purchase Module Following is the list of features which are missing from D365 for Financials with reference to Purchase Module: Purchase Quote Item Charge Administration From administration point of view following are the features which are not present in D365 for financials: Links- To attach documents Notes – For adding information and notifying users. Comments – For adding any comment/text for extra information. Development Any customization in D365 for financials would be only through Extensions while NAV supports development through extensions as well as by touching the base code. Conclusion D365 for financials is a very good product for Small and medium size enterprises. The features mentioned above which are missing, Microsoft in their future release will incorporate it into D365 for financials.
Share Story :
SSO configuration for CRM Portal
Prerequisite Internet facing Domain controller (if it’s an On-Prem DC) Setup the ADFS Role in our Domain Controller [Which will act as a IdP] Dynamic CRM online 2016 and CRM Portal Setting Up ADFS Open the ADFS Management in the server manager [Tool > AD FS Management] In AD FS Management tool, select Service > Claim Descriptions. SSO configuration for CRM Portal Step 1: Add Claim Description Click on Add Claim Description Add Display name as “Persistent Identifier” Add Claim Identifier as “urn:oasis:names:tc:SAML:2.0:nameid-format:persistent” Check the “Publish this claim description in federation metadata as a claim type that this Federation Service can accept” Check then “Publish this claim description in federation metadata as a claim type that this Federation Service can send” Click on Save. Step 2: Add Relying Party trust Go to Trust Relationships >Relying Party Trust Click on Add Relying Party Trust Click on Start Select “Enter data about the relying party manually” and then Click Next Enter “Display Name” then Click Next Select “AD FS Profile” then Click Next In configure Setup Leave the setting as it is and just click Next. In Configure URL Select “Enable support for the SAML 2.0 WebSSO protocol” and add URL https://YourPrortalURL/Signin-saml2 [Append the “Signin-saml2” to your portal URL it’s an CRM portal internal URL which will internally manage the SAML Authorization]. In Configure Multifactor Authentication Just click Next as here we are not focused on multifactor authentication. In Choose Issuance Authorization Rules, select “Permit all users to access this relying party”, click Next In Ready to Add Trust, Click Next. Finally Click Close. When we close it open another dialog for setup the claim rule. Click On “Add Rule” In claim rule template select “Transform an incoming Claim” Select Incoming Claim Type as “Window Account Name” Select Outgoing Claim Type as “Name ID” Select Outgoing Name ID format “Persistent Identifier” [ created in 1st step] Select “Pass through all Claim Values” Then click on Finish. Setting in CRM Portal (Site Setting) Login to CRM Using admin OR Customizer role, then go to Portal Site setting as Shown below, In site setting add below 4 records to enable SSO using AD FS, before that make sure Authentication/Registration/ExternalLoginEnabled is set to “True”. Add New Site setting as “Authentication/SAML2/ADFS/MetadataAddress” where value of this setting will be https://adfs_domain/FederationMetadata/2007-06/FederationMetadata.xml Just append the “FederationMetadata/2007-06/FederationMetadata.xml” to your AD FS domain name also make sure your AD FS has “Https” “Authentication/SAML2/ADFS/AuthenticationType” where value of this setting will be https://adfs_domain/adfs/services/trust Just append the “adfs/services/trust” to your AD FS domain name “Authentication/SAML2/ADFS/ServiceProviderRealm” where the value will be your portal URL. “Authentication/SAML2/ADFS/AssertionConsumerServiceUrl” where value will be “https://portalURL/signin-saml2” After this setting just restart you CRM Portal, then you can use SSO in Your Portal.
Share Story :
Adding Custom CSS for Dynamics CRM portal UI
This blog is intended to showcase capabilities of Dynamics CRM portals to accommodate custom CSS for UI changes. For adding any custom CSS for the portal, we need to add bootstrap.min.css as a child file of “Home page” on the portal. Steps for adding CSS file on portal Step 1: Create a custom bootstrap.min.css having required changes for the UI of the portal. You can create custom CSS using below references: a. https://bootswatch.com/ b. http://getbootstrap.com/customize Step 2: Login into the Portal with credentials having Administrator security role. Step 3: Navigate to Home page. Step 4: Add a new Child file to Home page using “Administrator” panel on the upper right side of the screen. Step 5: Browse the updated bootstrap.min.css. Name and partial URL fields will be auto-filled. You can choose to hide the child file from the Site map. Step 6: Click on Save. By performing above steps, you can have custom UI changes on the Portal. Note: In some cases, changes are not reflected immediately on the portal. For this, kindly restart the portal and check.
Share Story :
Response Routing Rules in Surveys
Introduction After questions are added in surveys. You can add a response routing rule which helps to show hide questions or perform an action depending on the response from the client. There is a scenario when you want to ask additional questions based on responses in a Voice of the Customer survey, create one or more response routing rules for the response you want more information about. A smiley’s question is added on the form. If Satisfied or Very Satisfied is selected, display question “What do you specially like about CloudFronts” If Not engaged, Disappointed or Annoyed is selected, display question “What could we do to improve your satisfaction level” Steps to set response routing rule in CRM Add questions on the survey form that you need to hide and display Set the visibility of questions as “Do Not Display” in both the show hide questions. By default, it will be visible. To set the routing rule for the questions Click on the arrow on right side beside your record name. Click on Response Routing and then set your rule. Add new response routing rule Write name of your response routing and click on save When you save the record, sub grid “+” sign will be visible. Click on Conditions + sign and add new condition New record will be opened. Name, Survey and Response routing fields will be auto populated. You need to enter question, operator and Comparison Value. If Operator “greater” or “less”, add comparison value If Operator “selected” add the answer value. For the above requirement, fill the details as specified below. Now save and close the record. The condition is set. Now need to perform the action when the condition is satisfied. Add action for the above condition -> Click on + button -> Click on search -> Click New A new record will be opened. Fill the below details Scope- Client: Choose this if the action occurs within the survey (for example, show or hide a question). In the Client area, select the survey and the action to take, and then click Save. Server: Choose this if the action occurs outside of the survey (for example, request contact or unsubscribe). In theServer area, select the action type and select the users or queues to notify, if applicable, and then click Save. The record will not be added in the sub grid. Click on search and then select the action you created. Click on Select -> Add Now the action is added to the sub grid list. In the same way create otherwise action in the next sub grid. Add below details. Similarly create a new Routing response for hiding and showing the other question “What do you specially like about CloudFronts” when the satisfied and very satisfied smileys are selected. Create Condition, action and otherwise action in the same way. Here set the condition operator as less than and comparison value as “2” . When you show the question a corresponding hide in otherwise action also need to be set. You can see the question displayed as shown below. When Satisfied When Very satisfied When Not Engaged This is how we can set routing rules for a particular question.
Share Story :
Dynamics CRM- Rollup with Custom Hierarchies
CRM Custom hierarchies are very useful feature for maintaining hierarchy among records and also provide nice visualization of the Hierarchies. With rollup fields and custom hierarchies have become even more useful to derive and visualize meaningful data in the hierarchy. In this blog, we will use how to leverage Rollup fields and Custom hierarchies to get proper data and avoid redundancy and custom calculations. Problem statement: Suppose you have a custom hierarchy of campaign, so a campaign can have multiple child campaigns. Each campaign has leads associated to it. The requirement is to get the count of all the leads of the related child campaigns and also itself. Solution: If you want count of leads on the campaign, we can easily create a rollup field on Campaign to get the count of leads on Campaign. The rollup field will look like below: You can see the count of leads using the above rollup below on the campaign form: Get total lead count of child campaigns on Parent Campaign Without hierarchy to achieve this, we would need to write a custom plugin or JavaScript to get the lead count of all the child campaigns and set it on the parent campaign. With rollup using hierarchy, we can get this done without any calculations. See below the rollup definition for this. Note that we have now enabled “Use Hierarchy” in the rollup definition. This will get us the count of all leads including Child campaign as well. See the form now with the updated rollup definition, the lead count is now “8” which is the sum of lead count of all child campaigns. Conclusion: Leveraging Calculated fields, rollup fields and custom hierarchies we can easily build good and simple solutions, avoid custom calculations and redundant fields.
Share Story :
How to remove business process flows from existing records?
Problem Statement Many times we come to a scenario where clients ask to remove business process flows from the production environments. In such scenarios, there are chances that on the existing records, the business process flows are already set on the records. Hence even if we deactivate the business processes, we still see a yellow ribbon as per below screenshot: So, how to fix this issue? Solution First of all, we should not directly delete the business processes as clients might ask to reactivate the same and we don’t want to rework on the complex logic we have already implemented. So, to remove above issue while keeping backup of the business process, we will have to follow below steps: Go to Setting > Processes Select the business process flow and deactivate it. Open Business process flow and click on the Save As option from the top ribbon. Delete the old business process flow. After following above steps, you should be able to see that, business process section from existing records is removed and no warnings are shown at the same time, we have backup of the process which we can reactivate in future if needed.
Share Story :
How to insert hyperlink with friendly URL in Email Templates in CRM
Problem Statement Many times we came across the scenario to have links in email templates and make the email template better in presentation aspect with the help of HTML. This blog explains how can you add hyperlink with friendly URL in Email templates. Business Scenario ‘Adventure Works’ company wants to send email notification to case owner on create of case with below email format. Click here should navigate user to URL stored in Custom URL field of Case entity. We will achieve this requirement with the help of email template. Note: We have not covered creation of workflows in this blog. We will use workflow on create of case record to send email using below email template. Steps to create email template Go to Settings > Templates > Email Templates Click New. Select Template Type as Case. Create template body as per below: Below will be the output:
Share Story :
Select your error notification preferences
We have observed that many times when we access CRM environment, somehow we get to see below error notifications. Most of the times these errors are not related to our custom development. So, when we are in meeting, or showing product demo to client, and if such errors occur on the screen, clients will not like it and hence we should always take care of these unwanted and uncontrollable errors. As, these are not our errors, the only thing we can do is that, we can disable these notifications to come up on the screen. Below are the 2 ways in which you can disable these notifications: Method 1: Ask individual user to set the preferences. Go to Personal settings from Top Right Setting icon. Go to Privacy tab and select option ‘Never send an error report to Microsoft about Microsoft Dynamics CRM’. Click OK. Method 2: You (CRM Administrator) set preferences on behalf of your users. Go to Settings > Administration. Select Privacy Preferences option. Select setting as below:
