QUESTION:
I am getting the following error from DupeBlocker when it attempts to auto-convert a record:
*** Executing Method: DB_AutoConvert.asyncConvert
*** Exception Type: System.QueryException
*** Exception Cause: null
*** Exception Message: No such column 'mycustomfield__c' on entity 'Contact'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.
ANSWER:
This error occurs when the field mentioned in the error, in this case mycustomfield__c, was recently deleted or renamed AND this field had been listed in the auto-convert mappings for one of your Lead to Contact Scenarios set to auto-convert.
If you have a convert mapping set up and delete that field, the mapping will remain but it will no longer be displayed on the auto-convert settings screen. There are 3 ways to resolve this:
1. Manually find the mapping by exporting the CRMfusionDBR101_AutoConvert_Mapping__c table for that scenario, i.e. where CRMfusionBDBR101_Scenario__c = 18 digit scenario ID.
NOTE: If you do not have the 18 digit ID then you can use the multi-table join capability in DemandTools to link to the scenario table and then export based on the scenario.name field.
Look for the field API name, then delete that mapping record via DemandTools or Data Loader.
2. Use the Salesforce Developer Console to find and delete the field. To do this select the "Query Editor" option and run the following SOQL:
SELECT crmfusionDBR101__Target_Field__c,id FROM crmfusiondbr101__autoConvert_mapping__c WHERE crmfusiondbr101__scenario__c = '{scenarioID from error message}'
Review the query results to locate the field from the error message. Select "Delete Row" after highlighting the row in the results to delete the row from the table.
3. Create a new custom field temporarily with the same field API name, then remove the mapping directly in the Salesforce User Interface (auto-convert settings button in the scenario), then delete the field.
4. Undelete the field (if you still have that option) and remove the _del from the API name then go back to auto-convert settings remove that mapping, then delete the field again.