Personalized Community is here!
Quickly customize your community to find the content you seek.
Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2020 Release Wave 2Discover the latest updates and new features to Dynamics 365 planned through March 2021.
Release overview guides and videos Release Plan | Preview 2020 Release Wave 2 TimelineWatch the 2020 Release Wave 1 virtual launch event
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
This post is one of a series I am creating aimed at helping people prepare for the MB2-716 certification. (Microsoft Dynamics 365 Customization and Configuration)
In this post I am going to look at fields. A subject which hopefully follows on nicely from my last post about entities. As, after you have created an entity logically the next thing you’d want to do is create the fields which makeup the entity.
Fields are sometimes described as attributes, the two terms are interchangeable.
As mentioned in my post on entities, we have system and custom entities. The system entities will comprise of many out of the box fields but we can add more custom fields as required. Although it is always a good idea to check a suitable system field doesn’t already exist before creating a custom one.
When a custom entity is first created some fields will get created by default. Including things like the primary field, created on, created by, owner and many more. I doubt you will need to know exactly what these fields are but even so it is worth creating a custom entity and before adding your own custom fields have a look. Below you can see that I have done just that. With a “basic” user / team owned entity I have 19 fields before I start adding any custom ones. Notice that only two are prefixed new_. I have used the default publisher which adds new_ to all custom fields. The two fields that are created are name (the primary field for this entity) and id. (Which holds the GUID which is the primary key.)
As mentioned that are essentially three types of fields, simple, calculated and rollup fields.
Each type of field will have a data type. You may need to know which data types can be applied to which field types. See table below
Floating Point Number
Multiple Lines of Text
Date and Time
Date and Time
Below you will find a table which gives a detailed definition for each data type;
Option sets can be defined exist once on an entity. Or alternatively we can define global option sets which are lists of options that can be reused.
Two option fields don’t provide format options at the field level. But when you add one to the form you can choose to display them as radio buttons, a check box, or a select list.
None – Simply displays a number.
Duration – Stores number of minutes in the database but can be displayed as x minutes, hours or days.
Time zone – Each time zone is stored as a number. (e.g. “(GMT-08:00) Pacific Time (US & Canada)”, TimeZoneCode is 4.)
Language – Each language provisioned is held as a four or five digit number.
Whenever a currency field is added you will also have a currency lookup. This is created automatically and is called transactioncurrencyid. Plus you get two values, the currency amount and a base amount. Below (highlighted in blue) you can see the two currency fields and associated currency lookup.
The customer field is document here.
Creating / Maintaining Fields
When we create a field the screen looks like this;
The table below covers the detail of each field, as always I strongly recommend you experiment with creating different types of fields;
For the exam it is worth being aware that auditing needs to be enabled at an organization, entity and field level.
Note: I will cover calculated and rolled up fields in greater detail in a later post.
Regardless of the format the underlying data is always stored in a common format.
Options include Auto (the default), Inactive, Active and Disabled.
Note: For currency the default precision is “Currency Prevision” meaning the system default would be used.
For example, if you had a currency value to hold someone’s salary the min value might be 0. (People tend to not earn less than nothing!) and the max might be 1,000,000. (I don’t know many people that earn more than this, although I guess they exist!)
FYI : I will cover option sets in greater detail in a future post.
In background a two option field always has a numeric value to 0 or 1.
When the behaviour of a field is “User Local,” field values are displayed in the user’s local time.
When the behaviour of a field is “Date Only,” field values are displayed with no time zone conversion. The date portion of the value is stored and retrieved as specified in the UI and SDK. The time portion of the value will always be 12:00 A.M. The behaviour of this field can’t be changed once it’s saved. (Tip:
Useful for storing fields like someone’s date of birth which you don’t want to be effected by time zones.)
When the behaviour of a field is “Time-Zone Independent,” field values are displayed with no time zone conversion. The date and time values are stored and retrieved as specified in the UI and SDK. The behaviour of this field can’t be changed once it’s saved.
The relationship name will be defaulted but you can change if required.
Customer works in a similar manner to lookup but two relationship names are given, one for account and one for contact.
When we create a lookup field a relationship between the current entity and the lookup entity is automatically created. Making the process of creating a relationship for a lookup really simple.
I have covered a lot of detail in these revision notes! Taking time to get some hands on experience of creating fields is really important.
Despite covering a lot of detail about field there is more to come! In future posts I will expand on the details here to cover calculated fields, rolled up field, option sets etc etc.
I hope this post will have helped anyone preparing for the MB2-716 certification.
Business Applications communities