How to get started with Form Scripts in Dynamics 365

How to get started with Form Scripts in Dynamics 365
A very simple script that we’ll load into the OnLoad event of Lead form.

A very simple script that we’ll load into the OnLoad event of Lead form.

In this article, you’ll learn how to load a simple javascript extension into Dynamics 365 forms. Our example script is a single function that will execute during the OnLoad event for our Lead form. In future articles you’ll learn how to package full Angular and React applications and deploy them to your entities.

TIP: While today’s method is useful for an example, you won’t want to modify your forms directly like this. In future articles you will learn how to package your javascript into a solution that will allow you to more easily manage your releases.

The first step will be to create your javascript file as shown above. Our file is saved under the filename onload-example.js

Some important things to note at this time:

  1. Your file must include a function that will be available in the global context.
  2. If you are minifying a large application, you will need to know the name of the function to execute.
  3. Dynamics will handle the import of this single script and will control when the method is executed.

Now that you have your javascript file, the next step is to load it into your Dynamics instance.

Loading Web Resources into Dynamics

A full overview of loading web resources

A full overview of loading web resources

To load web resources into CRM, visit the Settings > Customizations page and click “Customize the System”.

09-19-js4crm-webresource.png

Once that page loads click on “Web Resources” from the left column and then click “New” to add a new web resource.

Note the web resource will automatically be prefixed with new_ so when you are searching for it later, you’ll have to look for the filename you uploaded starting with that string.

09-19-js4crm-uploadwebresource.png

Once you have named your file, select it from your file system and click “Save”.

You don’t need to publish new uploads but you will need to click publish when you change an existing web resource.

Once these steps are complete, your new javascript file is stored within the Dynamics filesystem.

Next we need to load this script into the Lead entity.

Attaching your Web Resource to Form Events

A full overview. We break this down into steps below

A full overview. We break this down into steps below

Now we will be modifying the form to add the new web resource to it. The first step is to open the form editor from the dropdown menu in the ribbon.

How to open the form editor

How to open the form editor

The form editor will open a new window and from there you’ll click on “Form Properties”.

09-19-js4crm-form-props.png

Why do I use Form Properties instead of inserting a Web Resource?

Even though you upload your script as a web resource, we must use Microsoft’s Form Properties to insert the script and set it up for execution during the OnLoad event of the form. If you attempt to insert it as a web resource you won’t have the ability to connect it to the form events.

Next, you will click on “Add” to bring your Web Resource into the Form Properties. You’ll need to first add the web resource and then assign the resource to an Event Handler.

09-19-js4crm-form-prop-ins.png


Below, you can see an animated example of how you can find your web resource (Remember, it was uploaded with a filename starting with new_) and attach it to the form event.

Inserting your script. Remember how it was prefixed with `new_` during upload? That makes finding it easy.

Inserting your script. Remember how it was prefixed with `new_` during upload? That makes finding it easy.

In this final steps shown above you pull together the file you’ve uploaded with the form and assign it to the Event Handler. Once completed, press “OK” and then Save followed by Publish on the Form Editor window.

You are done!

You are done!


If you’ve enjoyed this article and would like to see more, please email us at javascriptforcrm@buildbettersoftware.com with ideas for what you would find helpful for future articles. We are always happy to answer questions and help you get more comfortable modifying CRM to meet your needs.

Nick Hance
Posted on:
Post author