In Dynamics CRM 2011, you may have created multiple role-based forms for Account/Contact entity which have different fields. Some fields exist on one form but not on the other forms.
Then you try to merge two records together, each created from different forms.
In merge dialog, you see a list of mergable fields available on the most recently viewed form instead of seeing all fields on all form.
For illustration, if you first open an account record using form2, close it and then try to merge this account record with another record, in merge dialog you will see all fields from form2 but not form1 although the other record you want to merge is created using form1.
This results in data loss because some of the data is orphaned on the deactivated record after merged without being copied to the master record.
This is by design. The “last used” form is used to construct merge dialog.
Add all fields which are not on a form as hidden fields in order to let them appear in the merging dialog.
For example, you have two forms: A and B
Form A contains no extra field.
Form B contains a custom field “Test”
If Form A is the last opened form, you will not see the “Test” field in merge dialog
The solution is to add “Test” field on Form A and set it to be hidden.
Dynamics CRM Team