Here are my study notes regarding entities and fields in CRM. I hope you appreciate the picture of a field (entities and fields, get it?)
Entities and fields are probably an error where most people will have a good starting knowledge of and some experience with. Don’t get fooled into not studying the topic because there is a difference of using fields and entities and having enough knowledge to answer certification question on entities and fields.
It’s important to understand how entities and fields work and the limitations of them, e.g.
- What entities values cannot be disabled once you have enabled them?
- How does the new functionality like Image work?
- How do entities which are activities work?
- Can you delete fields referenced in a workflow?
Whilst studying these two areas I did improve my understanding of the core functionality of CRM and wrote these two blog posts
CRM 2013 – When should you create a custom activity entity?
CRM Entity ownership – How do you decide?
These notes will be added to the other study information I have created, which you can find here – MB2-703 – CRM 2013 Customization and Configuration Certification
Even if you are not studying for the MB2-703 certification, it’s interesting to have a quick read of the notes and I bet you find a fact you didn’t know
- Microsoft Dynamics CRM default instance starts with more than 260 systems entities but which many are hidden from the UI
- There are two types of entities – Custom entities and system entities
- More than 90 system entities can be customized
- Some system entities cannot be customized e.g. system job
- Entities can be created by the UI, importing records or via code using the SDK
- Entities which can be customized (system and custom) are known as customizable entities
- Not all components of a customizable entity can be customized e.g. system fields like created on cannot be deleted
- Ownership can be either user/team or organisation
- Organization ownerships does not create an owner field, there is no owner or business units
- User/team ownership adds lookup fields for business unit, user lookup, team lookup
- Entities can be owned by users or teams
- You can create custom activity entities
- Activity entities have common fields – planned started date, actual start date, actual end date, description, subject and duration
- All activity entities have a link to the ActivityPointer and can be used in the ActivityParty class
- The activityPointer allows different activities to be viewed in one view.
- Custom Entities when created by default are not viewable/usable to any users apart from System Administrator and System customizer roles. Other security roles will have to add the entity.
- Display name is the name used for the custom entity which the users will see
- Plural name is the name seen in views etc
- Name (schema name) is the customizer name, not seen by end users
- Primary image selected will add a field called image and will allow one image to be added to a each record of the custom entity.
- Primary image, once ticked cannot be unticked
- IF an entity is selected as an activity this cannot be undone
- The primary field is always a single line of text
- Entities in a lookup field will display the primary field value
- Areas that display this entity are areas where the entity will be visible. Changes will be written to the sitemap not part of the entity.
- Additional entity options
- Business process flows – this will create extra fields and cannot be turned off
- Notes, activities, Business process flows, connections, Queues, sending email cannot be disabled if selected
- Allow Quick Create – allows quick create forms which are minimized forms with important fields
- Some default entities have Allow quick create disabled and cannot be enabled.
- CRM For Phones, CRM for tablets, if selected the entities will be available on phones and tablets.
- Renaming entities is not straight forward, labels, reports and views will also need to adjusted
- Custom entities can be deleted if all dependencies have been removed
- System entities cannot be deleted
- CRM 2013 has a maximum of 1023 fields
- For some fields Microsoft adds other fields e.g. currency adds extra fields for Base Currency, exchange rate, currency value and base currency value.
- IN CRM 2011 and earlier the SQL structure was held in two tables. The base table holds the system fields and the extended tables holds the custom fields. A filtered view was created to show both tables in one view.
- CRM 2013 the two tables are merged but the filtered view is the same.
- The filtered view has been persisted to support reports written using it.
- The filtered view takes into account a user security roles and permissions
- Be careful adding lots of fields to an entity, there are constraints on the SQL database table and views.
- Single line of text can have the format of Email, Text, Text area, Url, Ticker Symbol, Phone
- Single line of text can be between 100 characters to 4000
- IME mode is for Chinese, Korean and Japanese characters
- IME Mode has four modes – Auto, Active, Inactive, Disabled
- Option set – Use Existing option Set if set to yes uses a global option set values
- Two options are always stored as 0 = no – 1 = yes
- Two options will always have a value and cannot be null
- Two options can be formed on the form to be Two radio buttons, Check box or list
- Whole numbers are the SQL server equivalent of an integer (no decimal)
- Whole number format = none, Duration, Time Zone, Language
- Whole number duration is held in minutes
- Floating points can contain a decimal
- Floating numbers are rounded, which means they can be rounded up/down and liable for small rounding errors.
- Floating number precision refers to the number of digits after the decimal, max = 5
- Decimal number is not rounded
- Decimal number precision max = 10
- When a currency field is added to a form, if it’s the first currency field then additional fields of exchange rate, currency, price and base price are also added.
- Currency precision is between 0 and 4.
- Multiple line of text field max length is 1048576 characters
- Date and time field can have the format of Date only or date and time.
- 24 system entities can have the new image field
- Account, Contact, Lead, Product, Competitor, resource, publisher and user have image enabled by default.
- You can add a maximum of one image field to a custom entity
- It is not possible to add an image field to a system entity.
- The entity image will always have the default schema name of entityimage (with no publisher prefix)
- The fixed schema name – entityimage stops more than one image field being added to a custom entity.
- Image field max size is 5 Megabytes
- Image file extensions supported are jpg, jpeg, gif, tif, tiff, bmp, png
- Uploaded images are resized to 144 x 144 pixals
- Field requirement levels are – optional, Business recommended, Business required.
- Requirement levels are form validation only. Importing and plugins do not have to supply data to business required fields
- Fields have a searchable property, if this is set to know the fields will not be displayed in advanced finds
- Auditing for fields can be turned on or off at any time.
- You can bulk edit fields to set Field requirement, Searchable and auditing properties
- Local option set is only available on one form
- Global option sets can be used in multiple forms.
- Custom and system entities have Status and Status Reason fields
- Status is active/inactive
- Status reason (schema name statuscode) has the reason for the status
- Status reason is an optionset of values for each status
- You cannot delete a field without removing all the dependencies first.
- System fields cannot be deleted.
- Fields which are referenced in workflows or dialogs cannot be deleted.