Category Archives: Dynamics 365
D365 PSA: Impact of Project Closure on Bookings
Introduction: Let’s look on a high-level of what Project Closure has impact on the Bookings on the Schedule Board. Now, while working in D365 PSA, I encountered that I needed to mark a Project as Completed even when I had some bookings in the future. This led me to notice its effect on the Bookings (Bookable Resource Bookings records) I’ve created which also span a little into the future. Project Booking for a Resource: Now, let’s see the below scenario, Brian is booked on Archer Pens Project according to the following 13 and 5 hours (8 hours) on 9th July 2018 10 hours on Monday, 10th July 2018 10 hours on Tuesday, 11th July 2018 5 hours on 12th July 2018 9th July 2018- 10th July 2018- 11th July 2018- 12th July 2018- Now, if I mark the Project as completed today i.e. 10th July 2018 and the End Date being tomorrow i.e. 11thJuly 2018. Let’s see what happens – I marked the Project as Completed (went past the Complete stage in the Business Process Flow) as seen below – Deletion of Bookings: Once I mark the Project as Completed, the Bookings for today, 10th July and all the future Bookings will be deleted. Only historic Bookings before today will remain in the system. If I check back, 10th July will have no Bookings 11th July will have no Bookings And 12th July too will have no Bookings anymore What remains is only for 9th July because it is before the date I closed the Project Note: I also tried to observe if today’s bookings have any end time before I actually Closed the Project. Meaning, a booking ending at 10 am and I Close the Project later at 12pm, it would still delete today’s Booking for the day. So, close Projects carefully if you feel you need to close them in advance, just in case.
Share Story :
Security role of user after Business Unit Change
Introduction: Have you ever faced simple issue of security role after changing the business unit? Yes, you will. You will not be able to identify which security role was assign to a user whose Business unit has been changed. Description: This is a simple thing but if we have not noted down the security role of a user, we will not be able to identify the previous security role a user, as all the security roles gets removed. Solution: If audit history for user is enabled. You can easily identify the user who has what security role. So, as you can see in the above screen shot what security role this user has been assigned. Conclusion: Hope this help, while changing BU so, this help to remember the user security role.
Share Story :
Calendar Rule Entity not supported in Power BI
In Power BI, Dynamics 365 is connected using its Web API i.e [organization URI]/api/data/v9.0 Dynamics 365 Web API does not support GET Request for calendarrule entity; because of which Power BI cannot retrieve calendar rule entity details. You can verify by browsing to the URL: [organization URI]/api/data/v9.0/calendarrules Please refer to the screen capture below for the error details in browser. Also, you will not be able to load the calendar rule entity in Power BI. Below screen capture displays an error received in Power BI.
Share Story :
Xrm.Device.pickFile in D365 v9.0
Introduction: In this blog we will be showing an example to attach the uploaded files to notes using the Xrm.Device.pickFile function in unified Interface in D365 v9.0 Implementation: Step 1: In this example we will create a button on the Contacts entity and we write a JavaScript function to trigger on button click. In Ribbon Workbench after creating a button we create a command as shown below and add the command on the button. Step 2: On clicking on the Upload button a dialog box opens and we can select the file we want, this file will then be attached in the notes section of the particular record. The code is shown below. The name of the Note created, name of the attachment can be changed as required by modifying the code. Code: var crmCustomization = { PickFile: function () { Xrm.Device.pickFile().then( function (result) { var dataRecieved = result; var Content = dataRecieved[0].fileContent; var FileSize = dataRecieved[0].fileSize; var FileName = dataRecieved[0].fileName; var MimeType = dataRecieved[0].mimeType; var recordId = Xrm.Page.data.entity._entityId.guid; crmCustomization.UploadToNotes(FileName, MimeType, Content, recordId); }, function (error) { alert(error.message); }); }, UploadToNotes: function (FileName, MimeType, Content, recordId) { var note = Object(); note[“notetext”] = “New Attachment” note[“subject”] = “Uploaded File”; note[“filename”] = FileName; note[“mimetype”] = MimeType; note[“objectid_contact@odata.bind”] = “/contacts(” + recordId + “)”; note[“documentbody”] = Content; $.ajax({ type: “POST”, contentType: “application/json; charset=utf-8”, datatype: “json”, url: Xrm.Page.context.getClientUrl() + “/api/data/v9.0/annotations”, async: true, data: JSON.stringify(note), beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader(“Accept”, “application/json”); XMLHttpRequest.setRequestHeader(“OData-MaxVersion”, “4.0”); XMLHttpRequest.setRequestHeader(“OData-Version”, “4.0”); }, success: function (data, textStatus, XmlHttpRequest) { var result = data; alert(“File attached to Notes successfully”); }, error: function (XmlHttpRequest, textStatus, errorThrown) { Xrm.Utility.alertDialog(“Error: ” + textStatus + ” ” + errorThrown); } }); }, }; We can see after uploading the file the note is created with the attachment as shown below
Share Story :
How to Configure Alert Configuration in Microsoft Social Engagement
Introduction: This blog explains how to Configure Alert Configuration in Microsoft Social Engagement. Steps to be followed: Go to Message Center Click on + to create alert configuration. Enter the following details: Name: Give name to your alert. Alert Type: select the type of alert you want. Post alert/Trend alert Email recipients: Enter the email address of recipients to whom alert mail should go. Filters: Select filters to narrow the posts to the data set you want to work with. i.e. which posts will be received by recipients. Add Search Topic: You can also filter based on the following criteria. Example filtering based on source and Language: After configuring click on SAVE.Post alert in mail:
Share Story :
Customizing the Booking card information on Scheduled Board – D365 PSA/Field Service
In order to help your organization manage complex service management track assets and inventory, identify and dispatch resources, and manage service order Microsoft has given D365 field service which is an end to end solution that turns out to be an integral part of your day to day business. It provides customers with proactive updates and self service portals that helps is tracking of technicians hence giving customers a smooth and positive experience at every step. Detecting troubleshooting and resolving issues has been made possible through Dynamic 365 field service due to which a technician is dispatched only when it is necessary. A real time guidance is provided in order to build customer trust and improve resolution time which empowers technicians with a 360 degree view of the customers. Introduction: Sometimes, stock Schedule Board doesn’t quite do justice by default to your bookings and how Dispatchers see this information today. Out-of-the-box information on a Bookable Resource Booking looks like this – What if you want to modify this information and show what’s relevant to Dispatchers? Modifying the Schedule Board: You can modify the details of what you need to see on the booking by modifying/configuring some details as shown below: First, this is how the default Booking Template looks like – Double-click on the board you want to make changes to (Or, navigate to Tab Settings). As in picture 1 above, double-click on Initial Public View to open the Tab Settings area, then look for Schedule Types section and look for Work Order / Project entity (depending on which entity’s Bookings you want to effect.) In the Booking Template section, write this sample code which will show different information other than what comes out-of-the-box. Sample Code: Customer:{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.name} WO Name: {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name} Type: {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_workordertype} 5. Once finished, click Apply. The Schedule Board will refresh and you’ll see the updated information as shown below: And very simple, you’ve modified the Booking Template without much hassle or complex coding.
Share Story :
“$ undefined error” conflict issue in Dynamics 365 v9.0
Introduction: After upgrade of dynamics CRM 8.2 to 9.0 jQuery start breaking or you will receive $ undefined error. This blog will explain how to resolve this issue jQuery ($) is not defined in dynamics 365 sales. Description: Currently we have upgraded our dynamics CRM from 8.0 to 9.0. We had lots of customization. Looking at documentation of Microsoft. It seems that no script will break. Also, scripts are 8.0. dynamics CRM loads there internal JavaScript and start conflicting. Solution: After system upgrade developer needs to make sure that they are avoiding conflict between our JavaScript and System JavaScript. As you can see in below screen shot it shows that $ is not defined as it has more than 1 jQuery library loaded and it try to get the definition from another library which does not contains the definition of our library. As you can see in the below screen shot we have included no conflict script. This will resolve the issue of conflict and you will not receive the error related to conflict. Source: You can refer the below link for more information on conflict. https://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/
Share Story :
Creating Custom Fields
Introduction: This blog articles explains the ability to add custom fields is available in platform update 13 and later. Creating Custom Fields: Process for creating a custom field and placing that field on a form: Navigate to the form where the new field is needed. Click on Options and then Personalize this form Click Insert and then Field Select the region of the form where you want to expose the new field. After selection, the Insert fields dialog box will display a list of existing fields that can be inserted into the selected region of the form. Click the Create new field button above the list to initiate the process of creating a custom field. This will open the Create new field dialog box. Enter all the relevant details for the new field Click save and insert the new field Note that there is currently a limit of 20 custom fields per table.
Share Story :
Create Approval Flow with D365 conection
Introduction: This blog explains how to Create Approval Flow using Microsoft Flows. Use Case: When work order is updated. (Trigger) Check condition: system status: – open-completed and approved: -NO If condition satisfied: – Check Total amount: – If amount is greater than 1000 approval mail will be sent to approver. if he approves: update the work order with system status value closed-posted. else do nothing. update the work order with system status value closed-posted. Else do nothing. Steps to be followed: Sign in to the Microsoft flow. https://flow.microsoft.com/en-us/ Go to My flows –> create from blank Select Dynamics 365 when a record is updated Select the Organization Name and Entity Name for which you want to create flow. Click on + New step –> Add a condition. So here I want my flow should run when system status is open-completed and approved is NO. (Add your own conditions). Condition:@and(equals(triggerBody()?[‘msdyn_systemstatus’], 690970003),equals(triggerBody()?[‘cf_approved’], false) ) Go to Yes. Click on …More –> add a conditionCondition is: Total amount is greater than 1000. Go to yes. Add Action. Select Approvals –> Start an approval action. Enter details.In Assigned to enter the email address of the approval. Go to No. configure for amount is not greater than 1000. Click on Add an action. –> select Dynamics 365 – update a record. Enter the details. Enter the details Record identifier: Enter the record identifier of Work Order from when a record is updated step. Set the system status value to: 690970004 Add condition in Yes and check the approval status. On Yes. Select Add an action à Dynamics 365 – Update a record Enter the detailsRecord identifier: Enter the record identifier of Work Order from when a record is updated step.Set the system status value to: 690970004 Complete Flow:
Share Story :
Scheduling Project Tasks in Dynamics 365 PSA
Overview: Out-of-the-box, it is not possible to Book a task a on the Schedule Board, instead what you get at the easiest disposal is to allocate partitions of the Project to the resources and not the items from the WBS! Well, as a workaround, I’ve enabled the Project Task entity for Resource Scheduling using the PSA OOB feature to make this happen. Enabling Project Task Entity for Resource Scheduling: To be able to schedule a Project Task on the Schedule Board, we must first expose the entity itself for this capability. Here’s how you do it – Navigate to Resource Scheduling once you are using PSA and then select Administration. Then, select Enable Resource Scheduling for Entities Then, look carefully that the only entities enabled are the Project and Work Order (Field Service) Now, you want to add Project Task entity so that you can directly use Project Task to schedule on the Board. Make sure you make your selection as per below and click on Publish Customization Once Published, Project Task will appear in the Enabled Entities list Scheduling on the Project Task on Schedule Board: Assume you have some Project Tasks to Schedule, you can simply use those as you would do for Project and Work Order and you can schedule in the usual way thus, achieving Scheduling on Project Tasks from WBS instead of the Project.