This is the third part in a series contrasting fields in the Dynamics and Salesforce platforms.
Numeric and Currency Fields
Both vendors provide currency and numeric fields that have similar functionality. Dynamics subdivides the number fields whereas Salesforce provides one screen for formatting numbers.
|Dynamics Field||Definition||Salesforce Field||Definition|
|Currency||Monetary values between -922,337,203,685,477 and 922,337,203,685,477 can be in this field. You can set a level of precision or choose to base the precision on a specific currency or a single standard precision used by the organization.||Currency||Formats the currency amount in both the organization and user currency settings.|
|Decimal||Up to 10 decimal points of precision can be used for values between -100,000,000,000 and -100,000,000,000 can be in this field.You can specify the level of precision and the maximum and minimum values.|
|Floating Point||Up to 5 decimal points of precision can be used for values between -100,000,000,000 and -100,000,000,000 can be in this field.You can specify the level of precision and the maximum and minimum values.|
|Number||Enter a value up to 18 digits including decimal places. Uses the round half up tie-breaking rule for number fields. For example, 12.345 becomes 12.35 and −12.345 becomes −12.34.|
|Percent||The system automatically adds the percent sign to the number.|
|Whole||Integers with a value between -2,147,483,648 and 2,147,483,647 can be in this field. You can restrict the maximum or minimum values in this range.|
The Whole Number field type in Dynamics can be formatted to display duration, time zone or installed languages. Similar functionality can be achieved in Salesforce using custom formula fields.
A common user experience involves a bit selection such as “Yes/No” or “True/False.” There are two primary methods of achieving this across both platforms. The first is to use a check box. If the box is checked it indicates “Yes, the condition specified in the prompt is true” and if not checked the opposite. The second method is to use a drop-down list with these two options. The key to this second method is determining whether a third stage of “none selected” exists.
Dynamics brings some clarity to this issue by introducing a
Two Options field type.
The display values can be set as well as the default value. Another advantage to this field type is the ability to display it as a radio button on the form.
The radio button style cannot be cleanly duplicated in Salesforce. Options include having two check boxes and validating that only one is checked when the record is saved or using a two option drop-down list and again validating that an option is selected on save. Of course, Salesforce provides rich tools to relatively easily create custom components and pages. Before embarking on such a task be sure that there is a legitimate use case that requires it.
Pick Lists and Option Sets
Salesforce and Dynamics use these terms respectively to describe the standard drop-down list control. While what is produced is similar it is the back-end specifics that have significant maintenance impact.
The critical difference between these platforms is that Dynamics uses a key-value pair and Salesforce does not. Exploring the ramifications of this is out of the scope of this post. If you are migrating from one platform to the other please take the time to understand how this fundamental difference affects the creation and management of lists.
Also note that Dynamics has the concept of a custom global option set that can be used across entities/objects. In contrast, the scope of a Salesforce pick list is restricted to the parent object of the field.
Thanks for this nice comparison between dynamics and salesforce fields. Are you able to set default values for numeric / currency fields in each system?
Yes, both systems allow default values to be set for a variety of fields. There are multiple ways to accomplish this. Salesforce allows default values to be set for most fields as part of the field creation process. A nice feature is the ability to set the value based on a formula where system values may be referenced. For example, a default could be based on the user or profile.
An additional consideration for currency fields is a multi-currency implementation. Each platform deals with this situation differently and setting default values should be addressed on a case-by-case basis.