Work Hours in CRM
In this article, we will learn how we can leverage the work hours in Reporting. The calendar entity stores data for customer service calendars and holiday schedules in addition to business. Each calendar is set for a specific time zone. A calendar describes the availability of a service or a resource. Calendars are related to calendarrule records, which include details about the duration, start and end times, and recurring patterns of events included in the calendar. There are two types of calendar rules in Microsoft Dynamics 365: Root: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner calendar for a root calendar rule by using the InnerCalendarId attribute. The attribute value of CalendarRule.InnerCalendarId of a root rule is the same as the attribute value of CalendarRule.CalendarId of its leaf rules. Leaf: A calendar rule that doesn’t contain an inner calendar, and therefore, is the end of the “branch.” Referred from Blog: https://msdn.microsoft.com/en-us/library/gg328538.aspx To obtain Work Hours of a resource, you can use the following fetchxml code: <fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” > <entity name=”bookableresource”> <!– You can use systemuser to retrieve same data –> <link-entity name=”calendar” from=”calendarid” to=”calendarid” alias=”c” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”cr” > <attribute name=”starttime” /> <attribute name=”effectiveintervalend” /> <filter type=”or” > <!– These filters are applied to get calendar of this year only –> <condition attribute=”starttime” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”ge” value=”12/30/9999″ /> <!– 12/30/9999 is the max end date i.e infinite time –> </filter> <link-entity name=”calendar” from=”calendarid” to=”innercalendarid” alias=”inc” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”incr” > <attribute name=”duration” /> <filter> <condition attribute=”duration” operator=”lt” value=”1440″ /> <!– 1440 minutes equals 24 hours which is redundant. As the calendar includes Business Closures and holidays we want to avoid such calendar records –> </filter> </link-entity> </link-entity> </link-entity> </link-entity> </fetch>
Share Story :
Filtering the temporary table during the run time and adding temporary table records in Report.
Introduction: In Customer Applied Entries there are Payments applied to List of Invoices .Both Payment and Invoices are from Customer Ledger Entry Table .The Payment type entries can be obtained by filtering Document Type = ‘Payment’. Inorder to find the Invoices Applied there are no specific filters that can be applied during compile time and entry list is stored in temporary record variable. And Temporary Record variables cannot be used as DataItem, the list of applied Invoices cannot be displayed in SSRS Report. Pre-requisite: Microsoft Dynamics NAV 2017 Solution: 1. Using the Codeunit 10202 Entry Mgmt, gives the list of applied Invoices to a specific Payment. 2. List of Variables Note: AppliedCLE is a temporary record variable 3. Creating DataItem as Integer and adding temporary record(Applied CLE) fields in the Integer DataItem 4. Linking between Integer DataItem and AppliedCLE temporary record variable Thus the count of AppliedCLE records is obtained and used to loop the Integer DataItem. 5. Verifying the output i. Using Applied Customer Entries ii. Using the created report Conclusion: DataItems can be virtual tables. These virtual tables can be used to deal with many runtime table filtering scenarios.
Share Story :
Are you sure you know Office 365? It’s not only Emails & Apps!!!
Cloud business systems is sprouting rapidly throughout the globe and one of the system like Microsoft Office 365 helps business to be more productive. Have you ever realised that you must go back to office just for accessing a file, you or your client required urgently? The concept of using Office 365 services from anytime, anywhere & any device is striking, and it is helping personnel to handle things more easily. Here, I would also like to highlight a point. Many businesses are already using Office 365 and have installed the apps & services on their employee’s system. But do you think they are utilizing it to its full extent? Many organisations are using Office 365 typically for emails and the Office apps (Word, PowerPoint, Excel, Outlook), however, Office 365 can deliver more, increasing productivity. Magic of Office 365 is still evolving, and Microsoft is continuously adding and updating the features in it. Also, you will always be having the latest versions of applications & software. You can add new users & delete former users easily. You can manage existing users with attractive Administration Center. Exchange Online Archiving offer users’ advanced archiving capabilities within Office 365. If I just take example of Office 365 Business Premium license (you can choose the plan that suites you best), apart from the Office apps it also includes below services: MS Teams – Platform that combines workplace chat, meetings, collaborate on files and especially the guest access feature in Teams is awesome. Exchange Online – Exchange for email services, also there is a lot you can do with Exchange Admin Center. OneDrive for Business – Storage for documents SharePoint Online – Document Management & Real-time Collaboration with attractive modern sites, document versioning, web parts & lot more. Are your digital assets secured? So, the Microsoft datacentres where your data is stored physically is always monitored and uses encryption for all data. But then again this is a joint responsibility. Office 365 also offers access to Security & Compliance dashboard by means of which you can protect data with various security & compliance policies. Through Security & Compliance dashboard, organization can protect access to data and services, prevent data loss, manage data governance, protect against threats, deep search for any content and auditing. Feature like Multi-Factor Authentication makes the environment more secure. Permissions plays a very significant part within the organization which lets you grant authorizations to people who perform different tasks which you manage Admin center which is based on Role Based Access Control permissions model. Exchange uses filtration of emails using Exchange Online Protection (EOP) and a part of Exchange Online Admin Center which provides different features like Email Encryption, Anti-Spam protection, Outbound Spam detection, Connection filter & lot more. Transport Rules can help you achieve according to your specific requirements. Keeping trace of the messages in your organisation is an awesome feature. Secure Score – Secure Score analyses your Office 365 organisation’s security based on your activities and security settings and assigns a score. Think of it as a credit score for security. Finally talking about choosing the right product & subscription is significant. Microsoft has also launched Microsoft 365 which comes in three tiers – Enterprise, Business & Education (similar as Office 365). If you ask the difference it is very simple to understand. Office 365 is a suite of apps and services which I have already stated, and Microsoft 365 is a bundle of services which includes Office 365. It also involves Windows 10 Business or Enterprise (depending on the subscription you choose) + Enterprise Mobility & Security.
Share Story :
Microsoft Dynamics NAV 2017 Error: “The record already exists”
Issue: While trying to integrate records from SFDC to Dynamics NAV 2017, I faced an issue in Scribe saying “The record already exists.”. When I checked in Dynamics NAV 2017, there were no records similar to the one I was trying to integrate when the error occurred. Additionally, when I tried to create a new record in NAV, I got the same error if I filled some other field before filling out the ‘Name’ field. Solution: After some trial and error, I found that this error gets triggered when there is a record not having a value for ‘No.’ which is the Primary Key. Once I deleted this record, creating new records in NAV was no longer an issue for Scribe.
Share Story :
SSRS Report Preview not working for D365 CRM V9 (Solution)
Issue: If you are trying to preview a FetchXML report in SSRS and you are a facing an issue due to a Sign-In Failure, then the reason for that most probable is due to the reason that you are trying to connect to CRM v9. When we try to connect to a v9 environment using report authoring extensions, the connection fails without any proper error and loops back to organization selection screen or login screen. If you would try to preview the same report in a v8.x environment then you would be able to preview it successfully. Reason: The main reason for this issue is that v9 only uses Transport Layer Security(TLS) 1.2 and TLS 1.0 & 1.1 connections whereas the previous CRM versions still support all TLS connections. Solution: The first solution would be to update your Business Intelligence Development Studio(BIDS) to the latest version. Please use the link below: https://www.microsoft.com/en-us/download/details.aspx?id=56973 The second solution is to make a few changes in your regedit For systems running on .NET Framework 3.5 on x64-based systems: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 Create a DWORD key Name: SchUseStrongCrypto Value: 1 For systems running on .NET Framework 4.5 or later on x64-based systems: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\ v4.0.30319 Create a DWORD key Name: SchUseStrongCrypto Value: 1 Restart your PC Note: Please take a backup of your regedit before editing it. Regedit used incorrectly can cause serious problems in your operating system. For x32-based systems do not add the \Wow6432Node in the HKEY paths mentioned. Your Report should preview fine now!
Share Story :
How to Export and Import Voice of the Customer Surveys
Introduction: This blog explains how to Export and Import Voice of the Customer Surveys. Steps to be followed: Step 1 : Go to the Survey that you want to export. (survey should be in published state) Step 2 : Navigate to Notes section and download both the files. Step 3 : Navigate to your destination environment where you want to import the survey. Go to Settings -> VOC Settings -> VOC Imports Click New Enter name for the import Open the download Survey Stored xml file with notepad and copy and paste the content in Survey XML to import. Save the record Step 4 : You can see the imported survey in Draft state. Open the record. Delete the automatically created Translations file from Notes section. Attach the downloaded Translation file in notes. Step 5 : Publish the survey.
Share Story :
D365 Retail POS Customization – Adding Custom Column to Picking and Receiving View
Introduction: In D365 Retail POS, if you want to customize anything you need Extension Points. Over-layering is completely sealed. So, now if you want add custom columns to your View which is designed using code you can do it using Custom column extension. Each view has its own custom column interface which you can import and use to add columns. You can view the available Views for adding custom columns in ‘Pos.Api.d.ts’ file. Scenario: In Picking and Receiving, Update view you want to view details of Product variants like Size, Color and Config for all lines. Steps: Open ‘ModerPOS.sln’ from K:\RetailSDK\POS. Navigate to Pos.Extensions -> SampleExtensions -> ViewExtensions. Create a new Folder ‘PickingAndReceivingDetails’. In Folder, Add a TypeScript file and name it ‘CustomPickingAndReceivingListColumn’. Add the below code in file. //Added new column size, color and config; Also, take care of existing column by mentioning it else it will throw error //Note: Summation of ratio should be 100 import { IOrderLinesListColumn } from “PosApi/Extend/Views/PickingAndReceivingDetailsView”; import { ICustomColumnsContext } from “PosApi/Extend/Views/CustomListColumns”; import { ClientEntities } from “PosApi/Entities”; export default (context: ICustomColumnsContext): IOrderLinesListColumn[] => { return [ { title: “Product Number”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.productNumber; }, ratio: 15, collapseOrder: 9, minWidth: 60, isRightAligned: false }, { title: “Description”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.description; }, ratio: 30, collapseOrder: 8, minWidth: 70, isRightAligned: false }, { title: “Size”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.sizeTranslation; }, ratio: 5, collapseOrder: 7, minWidth: 40, isRightAligned: false }, { title: “Color”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.colorTranslation; }, ratio: 10, collapseOrder: 6, minWidth: 40, isRightAligned: false }, { title: “Config”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.configurationTranslation; }, ratio: 10, collapseOrder: 5, minWidth: 40, isRightAligned: false }, { title: “UOM”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): string => { return row.unitOfMeasure; }, ratio: 10, collapseOrder: 4, minWidth: 40, isRightAligned: true }, { title: “Quantity Ordered”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.quantityOrdered; }, ratio: 10, collapseOrder: 3, minWidth: 40, isRightAligned: true }, { title: “Quantity Received”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.quantityReceived; }, ratio: 5, collapseOrder: 2, minWidth: 40, isRightAligned: true }, { title: “Quantity Received Now”, computeValue: (row: ClientEntities.IPickingAndReceivingOrderLine): any => { return row.quantityReceivedNow; }, ratio: 5, collapseOrder: 1, minWidth: 40, isRightAligned: true } ]; }; Open manifest.json file and Add the View to manifest.json File inside the Views section. “PickingAndReceivingDetailsView”: { “orderLinesListConfiguration”: { “modulePath”: “ViewExtensions/PickingAndRecivingDetails/CustomPickingAndReceivingDListColumnExtension” } }, Build and Run the POS.
Share Story :
Email in Unified Interface as a separate app in D365
Introduction: Email in Unified Interface Dynamics 365 is also available as a separate app! Here’s how you can get it. By default, the new email capabilities are already available in the Unified Interface of D365. But you can have it as a separate app if you’d like. Installing the App: Here’s how you get it – 1. Navigate to the Instance Picker on the D365 Admin Centre, then go to Solutions area on the instance picker. 2. Once installed, it will appear as Installed. Provide Users access to the app & access it: The following security role should be provided to the users for them to access it – You can access the application from here. And here it is – Just a better way around than going into UCI and then looking for emails.
Share Story :
Enable SharePoint for Dynamics 365
Introduction: If you try to configure SharePoint with dynamics 365 sales, it will pop up with “Microsoft Dynamics 365 list component is not installed”. This error used to come in earlier version of dynamics CRM but now we are start receiving message to install the list component. Description: As it is explained in the introduction you need to install the List Component. If you follow steps provided in alert box you will not able to configure. As provided steps are for on premise version and would not install online. So, this will not help us as our environment is online, now what to do. Solution: You need to enable the server base SharePoint integration to configure the SharePoint. Go to setting ==> Document management and follow the steps provided. Once server-based configuration is completed you need to enable it for the document management setting. Provide the value valid SharePoint url.
Share Story :
Integrating Twilio with D365 CRM Online to send SMS Messages using Microsoft Flow
One of the most popular ERP systems that is amazingly popular among all small and mid sized businesses is Microsoft dynamics NAV integration. Installing CRM NAV integration is extremely easy and simple and its interface is so easy to understand that anybody can learn it within no time. This is the reason NAV integration has earned a good reputation in the market and people love using it as well. In today’s cloud based environment if you upgrade dynamics NAV you will surely have an edge in your business as compared to your peers. With improved functionality enhanced capabilities and new features your business productivity will be boosted multiple times reducing your overall business cost improving customer service. Introduction: SMS Messages can be sent from a D365 CRM Online to an individual using the Twilio. In this blog, we will see how we can send SMS Messages from CRM using Twilio and we will be using Microsoft flows to achieve this. Pre-Requisites: Twilio Account D365 CRM Microsoft Flow Steps to be followed: Dynamics 365- Create two fields in Contact Entity, named as a. Send SMS b. SMS Sent Data Type (Two options) Twilio- To Connect Twilio in Microsoft Flow You require: Twilio Account Id Twilio Access Token Steps: Sign in to your Twilio account Click on Dashboards Under Project info tab you can find the Account SID and Auth Token (Copy this value and paste it somewhere you will require this values in MS Flows) Setup Phone Number. a. Click on “All Products & services” b. # Phone Numbers MS Flow Login to Microsoft flow. Select Create from Blank. Select Dynamics 365 connector.a. Select when a record is updated trigger.b. Select the organization name and Entity. Select “+New Step” and “Add a condition”a. Enter condition in “Edit in advance mode”.Condition: @and ( equals(triggerBody()?[‘cf_sendsms’], true), equals(triggerBody()?[‘new_smssent’], false) ) If Yes a. Enter Twilio Account Id which is Acoount SID and Twilio Access Token which is Auth Token. b. After Connection is being established. Enter the From and To Phone Number. Enter Text message which you want to send. Click on “Add a connection” –> Dynamics 365 – Update a record. Overall Flow: