" MicromOne: Dynamics 365 Forms Using Logic Names with Numeric Identifiers

Pagine

Dynamics 365 Forms Using Logic Names with Numeric Identifiers

Handling Multiple Field Instances on Dynamics 365 Forms

Handling Multiple Field Instances on Dynamics 365 Forms Using Logic Names with Numeric Identifiers

When working with Dynamics 365, you might encounter scenarios where a single field appears multiple times on a form. Whether for design purposes or ease of access, it’s common to display the same data field more than once. But how do you differentiate between these instances in your JavaScript code or customizations?

In this article, we’ll explore how you can easily reference and manage multiple instances of a field by using the logic name of the field and appending a number to it. This approach is especially useful when you need to apply different behavior or formatting to each occurrence of the field.

What Is a Logic Name?

In Dynamics 365, every field has a unique identifier called a logic name. This is the name you use to reference the field in scripts, workflows, and customizations. For example, the logic name for a customer's email address field might be emailaddress.

However, when you place the same field in different sections or tabs on a form, Dynamics 365 allows you to treat each instance independently by adding a number to the logic name.

How to Reference Multiple Instances of a Field

Let’s say you have a field with the logic name emailaddress, and you want to display it in two different places on your form. Dynamics 365 automatically appends a number to each additional instance of the field. For example:

  • First instance: emailaddress
  • Second instance: emailaddress1
  • Third instance: emailaddress2

This numbering allows you to interact with each field instance separately. For example, you could apply different formatting, hide one field, or disable another.

JavaScript Example: Hiding the Second Instance

Suppose you want to hide only the second occurrence of the emailaddress field. Here’s a simple JavaScript snippet to achieve that:


function hideEmailAddressInstance() {
    // Get the second instance of the emailaddress field (emailaddress1)
    var emailFieldInstance = Xrm.Page.getControl("emailaddress1");
    
    if (emailFieldInstance != null) {
        // Hide the field
        emailFieldInstance.setVisible(false);
    }
}
    

In this example, we use Xrm.Page.getControl("emailaddress1") to retrieve the second instance of the emailaddress field (which has the 1 appended to its logic name), and then we hide it using the setVisible(false) method.

Key Takeaways for Handling Multiple Field Instances

  • Original Logic Name: The first instance of the field uses the original logic name (e.g., emailaddress).
  • Numbered Instances: Each additional instance is automatically numbered (e.g., emailaddress1, emailaddress2).
  • Field Control Access: Use Xrm.Page.getControl("logicname") in your JavaScript to access and manipulate each field instance independently.

Practical Use Cases for Multiple Instances

Here are some common use cases where referencing multiple instances of the same field might be useful:

  • Visibility Control: Show or hide one instance of the field while keeping the others visible.
  • Enabling or Disabling Fields: Enable or disable certain instances of the field based on the user’s role or the form's state.
  • Custom Labels: You might want to change the label or appearance of each field instance to make the form more user-friendly.