Category Archives: Dynamics 365
How to display Status Reason conditionally in Case Management
Introduction This blog resolve a scenario requested by client to display Status Reason conditionally on Case entity. This requirement can be fulfilled by using Transitions functionality on Status Reason field on Case entity in D365 Sales. Steps of Implementation Open Status Reason field on Case entity Click on Edit Status Transitions and check the checkbox for Enable Status Reason Transitions. Select New Status Reasons for Current Status Reasons by clicking ellipses button After selecting values and click OK button. Click OK on Status Reason Transactions page Click OK on warning message Click Save and Close button on Status Reason field Publish All Customizations from Solution and Status Reason are displayed conditionally as seen below. Note: “Edit Transitions in Status Reason” functionality is only available on Case and Custom Entities.
Share Story :
Use of EVENT in Dynamics 365 for Operations
In legacy X++, it was possible to prescribe in metadata that certain methods were to be executed prior to and after the execution of a method. The information about what subscribes call was recorded on the publisher, which isn’t useful in the Dynamics AX environment. It’s now possible to provide Pre and Post handlers through code, by providing the SubscribesTo attribute on the subscribers. Here is a blog showing some of basic use of EVENTS handlers of the Form with respective syntax for logics. Form datasource from xFormRun [FormEventHandler(formStr(SomeForm), FormEventType::Initialized)] public static void SomeForm_OnInitialized(xFormRun sender, FormEventArgs e) { FormDataSource MyRandomTable_ds = sender.dataSource(formDataSourceStr(SomeForm, MyRandomTableDS)); … } Get FormRun from form datasource [FormDataSourceEventHandler(formDataSourceStr(MyForm, MyRandomTableDS), FormDataSourceEventType::Written)] public static void MyRandomTableDS_OnWritten(FormDataSource sender, FormDataSourceEventArgs e) { FormRun formRun = sender.formRun() as FormRun; formRun.myCustomMethod(); } Get FormRun from form control [FormControlEventHandler(formControlStr(MyForm, MyButton), FormControlEventType::Clicked)] public static void MyButton_OnClicked(FormControl sender, FormControlEventArgs e) { FormRun formRun = sender.formRun() as FormRun; formRun.myCustomMethod(); } Access form control from xFormRun [FormEventHandler(formStr(SomeForm), FormEventType::Initialized)] public static void SomeForm_OnInitialized(xFormRun sender, FormEventArgs e) { sender.design().controlName(formControlStr(SomeForm, MyControl)).visible(false); } Get current record in form control event [FormControlEventHandler(formControlStr(SomeForm, SomeButton), FormControlEventType::Clicked)] public static void SomeButton_OnClicked(FormControl sender, FormControlEventArgs e) { SomeTable callerRec = sender.formRun().dataSource(1).cursor(); }
Share Story :
Fixed Assets – Books (Microsoft Dynamics 365 Operations versions 1611)
There were value models and depreciation books valuation concept for fixed assets in earlier releases. Value models and depreciation books functionality have been combined into a single platform that is known as a Books. This is new in Microsoft Dynamics 365 Operations version 1611. Value Models and Depreciation Books (earlier versions): Books (Microsoft Dynamics 365 Operations version 1611) Value Models: Value Models are important for fixed assets. Value Models are used to track financial values of fixed assets like accounting acquisition, depreciation, adjustment, net book value, revaluation, disposal sales, disposal scarp etc. In short, useful to get fixed assets financial information. Depreciation Books: Depreciation books are used to post depreciation that does not affect the General ledger. Books (Microsoft Dynamics 365 Operations version 1611): Books are useful to post depreciation that does not affect General ledger or useful to track financial information of fixed assets. Books have a new Post to general ledger option. If enable it behaves as Value Model and if disable this option then it behaves as Depreciation books. Below is setup comparison between Depreciation Books, Value Models and Books. Conclusion Books is simplified combine functionality of Value models and Depreciation books. You can track financial information or use to post depreciation without affect the General ledger by using Books.
Share Story :
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 :
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.
