Skip to main content

Reopen closed Appointment in D365 CRM using JavaScript

When an appointment is closed in D365 CRM, the appointment is not editable. There can be a requirement when Users wish to edit the closed appointment and add some missing data. This can be achieved by adding a new button on the Appointment form.

 

Solution:

 

Add a new button and use below JavaScript.

var AppointmentForm = 

{

       setActive:function(primaryControl)

 {

        var formContext= primaryControl;

        var status= formContext.getAttribute("statecode").getValue();

        if (status==1)

        {

            formContext.getAttribute("statecode").setValue(0);

            formContext.getAttribute("statuscode").setValue(1); 

            formContext.data.save();

        }

    }

}

 To understand the status and status reason details, you can refer the Microsoft document- https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/appointment?view=dynamics-ce-odata-9

 

Note that, you need to update both statecode and statuscode, trying to update only one will give a system error.

 You can Activate and edit the appointment, once done user can click on Mark Complete, to close the appointment.

Comments

Popular posts from this blog

Get Business Process Flow Stage Id using API Query

Developers may need to get the stage ids of BPF stages in order to use in power automate or JS. Here is a blog that will help. API Query-   https:// CRMURL.dynamics.com/ api/data/v9.0/processstages?$select=stagename&$filter=processid/workflowid eq BPFGuid   Eg: 1) Get the GUID of  Business Process Flow whose stage details you need. Replace below Query with Your CRM URL and BPF GUID. https://Test130.crm.dynamics.com/ api/data/v9.0/processstages?$select=stagename&$filter=processid/workflowid eq 9128E4D1-1234-4852-ABD0-A63A6ECA5C5D   Output:    The output will provide the stage name and ID.

Dynamic, Multiple Recipients of D365 Email in Power Automate

When t he activity parties (TO, From, CC) ae static, we can easily send emails. However here is how we can set the activity party dynamically on the Email.    In above screenshot we can see the Activity party attribute is populated for single value and is static to only a single entity record GUID.   Solution: The create a record of Email message is as below, here we are entering the attributes of activity party, by clicking on "Switch to Input entire array" You will get the Array format, the participationtypemask is TO, FROM,CC while the partyid@data.bind is the email address. Now all you need to do is create a dynamic array, You can use append to array variable action to create an array with participationtypemask as per your requirement. Example: get all users whom you need to send email, append the user id to array. pass this array as input to the Activity Parties field in create an email record.  

Power Automate to Access SharePoint Recycle Bin

Introduction : A ccess Recycle Bin of SharePoint using Power Automate. Steps: Actions: select "Send an HTTP request to SharePoint" Enter the below details: Site Address: Select your site address from the list. Method: GET Uri, Headers: Refer the screenshot below. Pls. Note: Trigger used was When a File is Deleted- SharePoint Connector. Select Action "Parse JSON" In parse JSON, the content is the body of HTTP Response Enter the below Schema: { "type" : "object" , "properties" : { "odata.metadata" : { "type" : "string" }, "value" : { "type" : "array" , "items" : { "type" : "object" , "properties" : { "odata.type" : { "type" : "string" }, "odata.id" : { "type" : "string" }, "odata.editLink" : { "t