Add a Field – Personalization | D365 Platform

untitled, field, farm, green, grass, agriculture, tree, plant, nature, outdoor

When he went out to plough his fields…his heart would fill with joy.”

How Much Land Does a Man Need? | Leo Tolstoy


D365 contains thousands of related tables with an almost innumerable number of fields – some say D365 has almost as many fields as this blog has fans. But sometimes a user just needs one more field.

Users access this table data through forms. Frequently, a form’s standard view will not contain every single field of related table data. Did you know the customer table (CustTable) has 203 different fields? Add a field allows additional table information to be presented on a form.


Add a Field

Use Ctrl+Shift+P to bring up the Personalization Toolbar and click on Add a field. Once Add a field is selected, click on the part of the form where the new field should go.

A new “Add columns” area will pop up on the right allowing the user to select which field (or fields) to bring into the form. Did you know that 3 of the 203 fields on the Customer Table are notes fields?

The selected field(s) will now display on the form.

If the field isn’t positioned quite where intended, the Move button ca be used to fine-tune the location of the new field.

Add a Field, Again!

It is generally bad database design to represent the same field twice on the same table, but not necessarily bad form design. For example, it may make sense to have customer currency in the sales demographics FastTab, and terms of payment in the Payment defaults FastTab. It might also be helpful to have this information closer to the top of the form. Add a field could be used to bring those fields onto the general FastTab in addition to their standard locations.

Add a Custom Field

Observant readers will notice the “Add columns” area also includes a “Create new field” button. Links below are included to outline that functionality – I’ll add my own opinions on the pros and cons of adding custom fields through personalization in a later post.

Additional Reading
Personalize the user experience
Create and work with custom fields
No Developer Required – Adding Custom Fields in Dynamics 365

Personalize Lock Fields | D365 Platform

The ‘Loch Ness Monster’ is not that kind of ‘Lock’. Regardless, you want to lock monsters from ruining your system with bad data entry.


Lock Fields

In personalization, Lock allows users to view fields, but not change their values. To lock a field, right click, select personalize, and then check the lock button.

As with all personalization features, these locked fields can be distributed to other users as published saved views.


Can’t This Be Done Through Security?

Yes. Without personalization, controlling who can see or edit what fields is managed through security. If you click on security diagnostics for the Vendor form, you can see there are two security privileges: one to view vendors and one to maintain (edit) vendor data.

To lock down a subset of fields through security, a system administrator would need to create a new security privilege (or modified copy of the maintain vendors privilege) and assign it to the desired duties or roles.

An advantage of locking fields through personalization is that it is easier to see which fields are being locked through the UI. Also, users can have multiple views – It’s possible have a default view where the data is not editable, but allow the user to toggle to another view where the data can be edited. This would be a more difficult proposition to manage through security. Pro tip – if you care very much about tracking edits to a particular field, consider enabling database logging on that field.


Lock Many Fields

Personalizations can be applied to individual fields, as well as Field Groups or FastTabs. If you want to lock lots of fields on a form, the easiest way to do this is by opening the personalization toolbar, clicking Lock and then clicking on the desired Field Group or FastTab.

Clicking on the Payment group controls all fields in the Payment group

Clicking on the Payment FastTab controls all fields in the Payment FastTab


That’s pretty much the whole concept – Lock, Stock, and Barrel.

Additional Reading
Personalize the user experience
D365 security topics
Database logging

Personalize Labels | D365 Platform

Campbell’s Soup Can by Andy Warhol

You say ‘Tomato’, I say ‘Tomato’ ” …a phrase better sung than read. No matter what label you wrap around a can of tomato soup – it’s still a can of tomato soup. In D365, buttons and headers have labels. The flexibility of having labels allows D365 to be useable in 46 different languages (including 9 types of English!). All the buttons are the same, but each has a set of language-specific labels. Custom labels can also be created through personalizations, then distributed to individuals or groups of users through saved views.


Personalize Labels

Right click on the desired button or header and select Personalize.

The label name will appear in the white field of the personalize box.

This text is editable, edits will change the label presented to the user.

These personalizations can be saved as a view (note the asterisk after “Standard view” in the last image) and the view can then be used individually or published to other users as desired.


Is This a Good Idea?

Well, maybe.

Without personalizations, label changes are a development task. A developer has to update the label file. That code has to get promoted up to the production environment. These changes then affect all system users of that language Want a label for only some users of that language? – just create a 10th version of English…then have that subset of users change their language preference. Personalizations is clearly a lighter touch for changing the name of a button.

But what is the purpose of a language? Common language facilitates communication. When I point to a can and tell you “tomato soup”, it’s only helpful if you also know it as “tomato soup” (Gazpacho…What’s that?). If sub-groups start referring to something by a new name, it can be difficult to talk about it across the whole organization – or describe to support technicians.

If Bob wants to rename the “Adjust transactions” button to “Bob’s Oh-no Button,” and have that on his own view…good news! That functionality exists.

Bob will have trouble describing “his” button to other members of that organization that know it as “Adjust transactions” in the standard view.

Clicking Bob’s Oh-no Button will still take Bob to the same Adjustments form (remember, this is the same button for everyone, only being viewed with a different label).

However, if accommodating a special request like this can facilitate change management, or win Bob as a champion of D365 throughout his organization, the exercise might be worthwhile.

So, Maybe.

Additional Reading
Personalize the user experience
How to create a label in Dynamics 365 for finance and operations
How to create a new language in Dynamics 365 for Operations

Personalize Required Fields | D365 Platform Update

Photo: Charge of the Light Brigade by Richard Caton Woodville Jr.

For want of a nail the shoe was lost;
For want of a shoe the horse was lost;
For want of a horse the battle was lost;
For the failure of battle the kingdom was lost—
All for the want of a horse-shoe nail.


Little things matter. Sometimes little things matter a great deal. Adding required fields helps prevent little bits of data from being lost on the great battlefield of D365.


Personalize Required Fields

In Platform Update 10.0.12. Require has been added as an option to the personalization toolbar.

As long-time readers will remember, the personalization toolbar can be accessed through the option tab, or by pressing the Ctrl+Shift+P hotkey. Once open, the user clicks on Require, then clicks on the fields to be required, and then closes the personalization toolbar.


Saved Views

As Saved views, these personalizations can be published to the desired members of the organization through security roles (see Publish saved views link below in additional reading for more details).

In addition to being a no-development solution, an advantage to this approach is that different fields can be required from different users. Imagine a business process where a general projects team create new projects across the company, but project managers are expected to enter a projected start and end date for visibility once they are specifically assigned to and begin maintaining their project.

Requiring the field through a saved view makes it easy for the project team to create and update other elements of the project through a standard view, while the Project manager’s view requires these data points to be entered.

Project manager view requires project start / end dates

Error message for Project manager not entering required fields

With fields populated, happy projects are all the same.

Additional Reading
Platform updates for version 10.0.12 of Finance and Operations
Personalize the user experience
Publish saved views

Requirements Gathering: An Application – Part 2

In the previous post, we considered a 2-part framework for requirements gathering:

  1. Functional Requirement – Identifying the Who, What, and Why (As a [fill-in-the-blank], I need to [fill-in-the-blank], so that [fill-in-the-blank])
  2. Non-Functional Requirements – Evaluating the additional considerations around the requirement (Availability, Compliance, Data retention, Performance, Privacy, Security, Scalability, etc)

This got me thinking – could I build an app to facilitate requirements gathering in this format?

As a [Solution Architect], I need to [Capture complete requirements], So that [I can create complete solutions]

I wanted an app structuring requirements entry so that the users would be guided to consider all of the requirement’s functional and non-functional elements. This seemed like a convenient use-case to try to build a PowerApp.

The Napkin Sketch


The SharePoint List

I started by creating a SharePoint list with columns for the functional and non-functional data points I wanted to capture. Then, to my surprise, I saw that there is a PowerApps “Create an app” button in the banner. That’s right – SharePoint lists come with a PowerApps Easy Button!!! (I understand this functionality has been around for a couple years, but it was new to me.)

I was impressed by how well the default app creation worked – it created a browse screen, detail screen, and edit screen with most of the functionality I wanted (though not necessarily captured in my initial napkin sketch).

The PowerApp

As my first PowerApp building experience, I wanted to play with the tool. The “Who” and “What” displayed on the Browse screen by default, but I also wanted to include the “Why”. I wanted to model the As a [fill-in-the-blank], I need to [fill-in-the-blank], so that [fill-in-the-blank] formula. I wanted sort the items by the ID number instead of the “Who” value. After some experimenting, my app now looks like this:

The Improved(?) PowerApp

Your eyes do not deceive you – after 1 hour of experimentation I was able to take a default app and make it less aesthetically appealing than when I started!

The Next Steps

I was really impressed with how simple it was to build a basic PowerApp. If i spent more time on this, I’d like to make the search functional, create validations for personas so that the “Who” field isn’t free text, maybe make the app more beautiful. However, the big takeaway is that I do now have a functional prototype. With minimal effort I could now give this to other solution architects for testing and feedback and see if this is a useful tool.

As the kids on YouTube say, let me know what you think in the comments!

Additional reading
PowerApps with a SharePoint List – Learn PowerApps Tutorial
Microsoft Power Platform: Learning Resources
Power Apps

Requirements Gathering: An Application – Part 1

The Microsoft Dynamics 365 learning paths are a great resource for expanding product knowledge and enhancing skills. While following the learning path for the solution architect Exam MB-700, I appreciated its emphasis on Who, What, and Why in requirements gathering:

Who, What, & Why

An easy trap during requirements gathering is to jump straight from a need to its system solution. Focusing on Who, What, and Why helps capture the complete functional requirement so that the solution will also be complete. This type of requirement gathering can be written in a formula: As a [fill-in-the-blank], I need to [fill-in-the-blank], so that [fill-in-the-blank].

Some examples of this functional requirement formula from the learning path:

Non-Functional Requirements

Who, What, and Why frame the functional requirements, non-functional requirements should also be considered. Non-functional requirements are elements outside of the direct need that will influence the performance or acceptability of the solution. Some types of non-functional requirement considerations are Availability, Compliance, Data retention/residency, Privacy, Security.

Some examples of non-functional requirements from the learning path:

An Application?

I like this framing of Who, What, and Why in a functional requirement, along with its non-functional elements. Again, capturing complete requirements is an important first step to building complete solutions. Thinking about this made me wonder – can I build an application to help gather requirements in this format?

Stay tuned for Part 2!

Enable Saved Views

As regular readers know, Saved Views enhance the Finance and Operation experience, empowering users to save sets of personalizations and navigate forms more efficiently.

In earlier versions, this preview feature had to be enabled through SQL code – starting in Platform update 33, Saved views can now be activated in the Feature management workspace.

Go to Feature Management Workspace

If you do not see the Saved views feature, click Check for updates. Depending on how far in the future you are, you may also need to toggle from the “New” tab to the “Not enabled” tab.

Hello readers in the future. How is it there?

Select Saved Views Feature

Click “Enable now” at bottom right.

Saved Views Feature Will Now Be Enabled

A green check mark and enabled date will now display next to the feature.

When activating the Saved views feature, also consider enabling the Grouping in grids and New grid control features.

Additional Reading
Saved Views
Grouping In Grids
New Grid Control

Where’s the Action? – (Alt+Q) Action Search in D365

Hotkey Highlight – Alt+Q

We’ve previously covered Navigation search (Ctrl+/) as a way to quickly find and access different forms across D365. Action search is a way to quickly find and access different menu buttons within a single D365 form. This can be particularly helpful if the user is looking for a menu item button, but unsure which tab it is located on.


The Action Pane

Let’s start by quickly reviewing the elements of the action pane (the area at the top of a D365 form). The action pane contains menu buttons, organized into tabs, and groups.

Action search can be activated by clicking the magnifying glass next to the options tab, or pressing Alt+Q.


Action Search (in Action)

Typing in action search returns similarly named menu buttons. The returned results display the menu button name, as well as its associated tab and group. This works for menu buttons across all tabs on the form. If buttons are hidden through a personalization or saved view, they will also be hidden in the action search results.


Room for Search Optimization

Action search is handy functionality for users searching for a button, but unsure of it’s location in the action pane. However, the ordering of the search results can still be improved. In the screenshot below, you can see that the top action search result for “hour journal” does return the button for creating an hour journal (the hour button in the journal group), but instead the top results are taken by hour costprice and hour salesprice. I am hopeful that the action search and navigation search results will improve in future releases.


Want to share this action-packed post on social media? Go ahead, make my day.

Additional reading
Action Search
Navigation Search
100 Best Action Movies Of All Time

D365 Platform Update 33 Preview: It Publishes Default Saved Views?

The preview release of Platform update 33 for Finance and Operations is now available (general availability is scheduled for March). This is part of a series highlighting features in the new platform update.


Published Views!!!

A quick refresher: saved views enable users to save sets of personalizations on a given form. Forms have a standard “classic” view. When personalizations are made, an asterisk identifies that the classic view has changed, providing the user with the option to save the new view.

In manage my views, users have the option of reordering, renaming, and setting the desired default from their personally available views. Additionally, the publish button in manage my views allows users to share their views with the larger organization by role and legal entity.

(The ability to publish views is limited to system administrators and those with the “Saved views administrator” role)


Publish as Default View

Platform Update 33 extends the publish view functionality, the publish as default view toggle enables a published view to be the first view a user sees when accessing a form – instead of the form opening in “Classic view” and the user having to select the desired view or configure the default individually.

In the example below, I have a “Simple view” for the project form where infrequently used buttons and fields are hidden. I would rather users be direct here first, with the option to view the full “Classic view” information if necessary, so I have published the “Simple view” as the default.


Managing Published Views

All views are visible in the personalization form. Clicking the publish button on a published, unpublished, or personal view allows management of access and presentation of the view.


I would be grateful if you take a screenshot of this post and share it on social media. You’ll be publishing a view – saved from my published, saved view on saved view publishing.

One can only hope that will lead to more views.

Additional Reading
What’s New Platform Update 33
Saved Views
Saved View Feature Details

D365 Platform Update 33 Preview: It Does The Math!

The preview release of Platform update 33 for Finance and Operations is now available (general availability is scheduled for March). This is part of a series highlighting features in the new platform update.


It Does The Math!!!

The ability to calculate inside of cells (instead of on external calculators) was a handy feature in AX2012 that we were sad to lose in the great D365 migration to the cloud.

Well put your 10-keys back in your deskdrawers because D365 does the math again!

When entering data into numeric cells, start your entry with the equals sign (=) and let D365 handle the rest.

1+1 = 2

(2×3) + (4×5) = 26


It Even Does The Advanced Math!!!

Dynamics recognizes pi, e, factorials, logarithms and trig functions. A complete list of the supported math expressions can be found here.

5! (5x4x3x2x1) = 120

Cos(pi) + ln(e) = 2


The supported math expressions don’t include imaginary numbers (remember i ?). Fortunately, accountants have been handling imaginary numbers on their own for centuries.

additional reading
What’s New Platform Update 33
Grid Capabilities
Supported Math Symbols