This error occurs when you select "More Filters" on the Pledges/Payments form and select "Other" as the Source Type. The filter will execute as expected but no records will be returned (this presumes there are records that match the criteria).
The solution to this problem requires modifying user-defined function CES_udfCustom_PaymentSource_GetSourceType and adding some code to function fnFilterEntityForm in interactsql.adp. No one can be connected to Metrix while this fix is being attempted.
This solution is a little more complicated than our usual solutions so please feel free to contact Metrix support at firstname.lastname@example.org if you want assistance with this fix.
- Make a backup of your database.
- Download FixForPLUS-722.sql to your server's desktop. This script will:
- drop the SourceType column from CES_tblCustom_PaymentAllocation and CES_tblCustom_PledgeAllocation
- modify CES_udfCustom_PaymentSource_GetSourceType
- re-add the SourceType column to CES_tblCustom_PaymentAllocation and CES_tblCustom_PledgeAllocation
- Execute the script as the system administrator (sa) using OSQL or Query Analyzer.
- Open interactsql and close the dialog that opens.
- Go to "Modules" and locate CES_basCustom_Entities_InteractSQL. Double-click the module to open it.
- Locate the function fnFilterEntityForm and find line 427 which should be "End If".
- Move to the end of that line and hit the enter key so there is now a blank line between "End If" and "ctlSubform.Form.Filter = strWhere".
- Cut and paste the following text into that blank line:
'User is filtering on Other - change "InteractModuleID" from -1 to 0
strWhere = Replace(strWhere, "[SourceTableID] = -1", "[SourceTableID] = 0") 'NOTE: The extra space before "= -1" is intentional
- Save the module and close interactsql.adp.