Category Archives: Dynamics 365
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 :
Process Unification & New Visual Process Designer in Dynamics 365
Introduction Dynamics 365 introduced many new functionalities for Dynamics CRM Sales App but this blog will cover the enhancements for new Visual Designer and Process Unification in Dynamics 365 Sales App. Below are some key points that will show what are the new enhancements on Business Process Flow, Task Flows and Business Rules. Business Process Flow The all new Designer is embedded in the system to drag and drop the components like Steps, Stages, Conditions and now Workflows too. New Buttons like Snapshot, Cut, Copy and Paste are incorporated. Cut and Paste buttons works only for steps and workflows and not for Conditions and Stages. Whereas Copy button works for both steps, stages and conditions. Snapshot button allows developers to take a picture of the entire process flow in .png format. Snapshot image can be used to explain the flow in design and developer documents. UI is more enhanced and visually appealing in terms of Business Process Flow. Newly added and more importantly developers now can trigger workflows based on stage transition i.e. Stage Exit and Stage Entry. Note: Only On Demand Workflows show up in the list so if developers creates a new workflow, it should be On Demand workflow. Mini Map is added in the left hand side corner of the designer that allows developers to see the flow of process flow diagrammatically. Validate functionality is added on top of the ribbon. This feature checks for validation on every save of the Business Process Flow. Validation is of type that, if the step is not mapped to a field or condition is incomplete or for that matter if developer has added a workflow at the step but not defined the workflow which is supposed to be triggered. Whenever a Business Process Flow is created, a new custom entity is created with Organization Scope for that particular process which can be accessed through api. So Business Process Flow has a separate Security Tab in the Security Role named “Business Process Flow”. So based on the security requirements, one user can be given access to edit in Business Process Flow and other user can be given access to only view the Business Process Flow. A new status is added for the Business Process Flow that defines whether the Process Flow is either in Active State, Abandoned or Finished State. Once the process is abandoned, it can be reactivated again whereas once the process is finished from all the stages, the process can be set to finished. Business Rules Business Rules also have a new Visual Designer that drags the components in designer area. Business Recommendations are the key change incorporated for Business Rules which can also be shown on Business Process Flow. Business Recommendations are one new added type of action that is triggered after a condition. A Text View Window is added in the bottom right hand side of the Designer, that shows the business rule in “If- Then Format” allowing more friendly view of condition for developers. Condition which was earlier only on Entity now can be added on Business Process Flow and related stages. A new Validate Option validates every step, condition in the designer before saving the Business Rules. Task Flows in Mobile Task Flows in CRM were in preview feature from last year whereas now they are released completely only on Online and On Premise Environments. Task flows are a new way of interacting with Microsoft Dynamics CRM, allowing users to focus completely on the work at hand. With this new type of business process flow, you can easily create guided interactions for your CRM users, giving them experiences with just the information they need so they can get their work done quickly and efficiently. Task Flows in Mobile are the type of Business Process Flow where it helps users to navigate seamlessly. Task Flows also have the same Visual Designer that is there for Business Process Flow with Mini Map in left bottom of the designer. Task Flows on Mobile is accessed from the clock icon, on Home Dashboard on Mobile Device. Based on Business Requirements, number of pages and conditions can be added to enhance the process and save the time. Actions in Workflows New Process Actions are incorporated in workflows. Below image shows the list of actions enabled. Thus, these were the Process and Designer enhancements that are added in Dynamics 365.
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 :
Implementing OCR Services in Dynamics 365 for Financials
Introduction: The OCR Service technology with added line item capture functionality can be used in the Dynamics 365 for Financials. OCR stands for Optical Character Recognition which enables the user to scan the invoice document and send it to Lexmark Invoice Capture Service(ICS) for OCR Services. This helps the user to reduce a lot of manual work of entering data into the system and also automates the process of obtaining Vendor invoice data. In this article, we will see how to set up and implement OCR Services in Dynamics 365 for Financials. Prerequisite: Microsoft Dynamics NAV 2017. Lexmark ICS login credentials. Purpose of the Setup: Our goal is to setup and implement OCR Services in MS Dynamics 365 for Financials. Steps: Setting up OCR Services in Dynamics 365 Financials The User will have to click the search option Button to the Top Right of the Web Client window. In the search box, the user has to type OCR Service Setup to open the OCR Service Setup page. Fig 1.1 Opening the OCR Service Setup page using search option In the OCR Service Setup page the user will have to will have to enter in the user name, password and authentication key which will be provided to the user once the user has registered to Lexmark Invoice Capture Service(ICS). Once this is done the user will have to test the connection by selecting the Test Connection button. A dialog box will appear once the connection is tested stating whether the connection is successfully established or not. The user has to finally check the Enable checkbox to enable the OCR Services for MS Dynamics 365 for Financials. Fig 1.2 Setting up Credentials for the OCR Service Setup Setting up Line Items In order to capture the line items into purchase invoices in MS Dynamics 365 for Financials the mappings need to be updated by the following steps In Dynamics 365 for Financials, open the Data Exchange Definition page The user will have to save a backup of the OCRINVOICE existing mapping by selecting the ‘Export Data Exchange Definition’ option. After taking a backup of the existing mapping, delete the OCRINVOICE map. Download the new mapping file by using the following link http://docs.readsoftonline.com/store/mapping/NAV_DataExchangeDef_OCRINVOICE_v1102.xml The user has to import the new mapping file by selecting the ‘Import Data Exchange’ option. Fig 2.1 Setting up Line items by changing the mapping of the OCR Service in the Data exchange Definition page Using OCR Services in MS Dynamics 365 for Financials The User will click on Incoming Document option or type ‘Incoming Documents’ to open the Incoming document page. User will have to upload the Document(PDF/Image) that is to be used in the OCR Service by clicking on ‘Create from File’ option which will upload the file to the ‘Main Attachments’ of the Incoming Document in MS Dynamics 365 for Financials. To Send the document to the OCR Service the user will have to click on the Send to ‘OCR Service’ option. After waiting for some time till the document processing is completed, User will click in the Receive form OCR Service. On receiving the OCR Service, the Financial Details gets updated in Incoming Document. User will Check if the Financial Details received are correct or not If yes, then user will have to click on Create Document option to create purchase Invoice. If no, then user will have to click on Correct OCR Data option and make changes to the required fields and then on Click Send OCR Feedback to correct the OCR Service from making similar errors on future incoming documents. User will the create the purchase invoice by clicking on create document option. Fig. 3.1 Uploading the PDF Document of the Invoice into the Incoming Documents Page Fig. 3.2 Sending the Incoming Document to the OCR Service. Fig. 3.3 Receiving Financial Information from the OCR Service. To create a purchase invoice, record the user clicks on the ‘Create Document’ option to generate a purchase invoice record of the OCR read Incoming Document. Fig. 3.4 Creating Document (i.e. Purchase Invoice) of the OCR read Incoming Document Conclusion: The OCR Service option in MS Dynamics 365 for Financials helps to speed up the process rapidly of processing invoices more accurately and gives a better result. The OCR Service provided by Lexmark Invoice Capture Service automates the entire process and saves a lot of time that goes in manually entry of data into the system.
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:
 
								 
															