When creating a new Account/Contact record in Saleslogix Web, you have the ability to check for duplicate values. With some simple modifications to the code page behind that form, you can set default values for the Match Filters.
All of these changes will be performed on the ContactSearchForDuplicates.ascx.cs script found under Sage SalesLogix->Support Files->Smartparts->Contact in the Portal Manager in Application Architect.
The first step will be to modify the LoadMatchFilters method in this script. After the line setting the item.Value equal to the propertyFilter.PropertyName property, we will add an IF statement to identity which fields should be checked by default:
item.Value = propertyFilter.PropertyName;
if (item.Text == “First Name” || item.Text == “Last Name” || item.Text == “Work Phone” || item.Text == “E-Mail”)
item.Selected = true;
item.Selected = propertyFilter.Enabled;
As you can see, I’m setting the First Name, Last Name, Work Phone and Email fields to be checked. Otherwise, I’m just using the PropertyFilter.Enabled property.
Since the filters are set on the OnPreRender method of this form, and the OnPreRender method fires when clicking the “Update Potential Matches” button, we’ll need add a check to make sure the default values are not reset.
To check this, we’ll create a private Boolean variable, set by an OnActivating function
private bool _runActivating;
protected override void OnActivating()
_runActivating = true;
We’ll set this Boolean in the OnLoad event of the form:
if (_runActivating) DoActivating();
Finally, we’ll modify the OnPreRender method to conditionally run the LoadMatchFilters and LoadSourceEntity methods after checking the _RunActiviating value:
That’s it! The match filters defined should now be checked when opening the duplicate record view. Thanks for reading!