Skip to main content

Filter/ Set Default Required Attendee field using JavaScript

 Introduction: Here is JavaScript code that you can use to  make the required attendee field show only system user records and also in case you have a requirement to the set the owner of record as default required attendee refer code below.

 

Solution:

Add below function to your web resource on load event of add.

 

    filterrequiredattenees: function (exec Context)

 {

        var formContext = execContext.getFormContext();

        formContext.getControl("requiredattendees").setEntityTypes(["systemuser"]); //filter the required attendees to show only records from system user entity.

 

            if (formContext.getAttribute("ownerid").getValue() != null)

 {

            ownerid = formContext.getAttribute("ownerid").getValue()[0].id.replace("{", "").replace("}", ""); // remove the brackets from ownerid

var value = new Array();

                      value[0] = new Object();

                      value[0].id = ownerid; // owner id value

 

                        Xrm.WebApi.retrieveRecord("systemuser", ownerid, "?$select=fullname").then(

                function success(data) 

{

                   // here we retrieve the owner name, the value object needs id, name and entity type parameter.

                    name = data.fullname;

                    value[0].name = name;

                    value[0].entityType = "systemuser";

formContext.getAttribute("requiredattendees").setValue(value); // set the owner as Require attendee

                },

                function (error) {

                    Xrm.Utility.alertDialog(error.message);

                })

        }

    }

 

On load of form the Required attendee will be owner of record and we can add new attendee easily as the dropdown will show only user records.


Instead of users, if you need contact records, just change the set entity type->

 formContext.getControl("requiredattendees").setEntityTypes(["contacts"]);


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