QUESTION:
I tried to enable a profile as a DupeBlocker Administrator following the instructions in your online help docs, but when I logged in as that user and attempted to edit a DupeBlocker Scenario I got the following error:
SObject row was retrieved via SOQL without querying the requested field: CRMfusionDBR101__Scenario__c.CRMfusionDBR101_Match_on_Insert_Action__c
How can I resolve?
ANSWER:
This error indicates that the field CRMfusionDBR101_Match_on_Insert_Action__c is not visible to that users profile. This will occur when our recommended install instructions were not followed and "No Access" was granted to non-admin users.
When DupeBlocker is installed we recommend selecting "Set All" for non-admins in Step 3 of the install process, Select Security Settings. This ensures that ALL fields on ALL DupeBlocker custom objects are marked as visible for all profiles. It DOES NOT provide edit access to any of the tables nor does it give non-admin users direct access to the DupeBlocker Application or Tabs. Non-admin users will have READ ONLY access to Warnings, Potential Duplicates, Scenario Objects, and Scenario Filter objects.
Selecting either of the "No Access" options: "Grant Access to Admins Only" (which is the default Salesforce picks during installation), or "Select Security Settings" and selecting No Access, will result in NONE of the fields being visible, along with no access to DupeBlocker at all for non-admin users.
RESOLUTION:
There are multiple ways this can be fixed, but the EASIEST is a complete uninstall/reinstall, this time selecting "Set-All" for non-admin users. If this is a new installation and there has not been much customization, this is the best and quickest way to resolve. Other options:
1. Manually access each of the DupeBlocker Objects (Setup -> Customize -> Create) and then go through and edit each field checking the "Visible" box for all profiles.
2. Edit each profile individually to make all fields on all DupeBlocker Custom object visible. To do that access the profile (do not edit) and then scroll down to the "Field Level Security" section and custom object field level security then "View" for the DupeBlocker Objects. In that screen check all the boxes in the visible column. This is more efficient than option 1 if there are only a few profiles in the instance, or only a handful of profiles that will need access to DupeBlocker Warnings (i.e. users that will review Warnings and possibly merge/convert duplicates).
3. Create a Permission Set and assign to the users that need access to DupeBlocker. The downside is Permission Sets are assigned to INDIVIDUAL users not profiles, so once the Permission Set is created it will need to be assigned to every user. DemandTools or Data Loader could be used to mass assign the Permission Set to all users (mass INSERT into the PermissionSetAssignment object), which could make it the best option of the 3.