Error: The given key was not present in the dictionary. - Occurs when saving a smart query containing new column heading on the output fields

User may receive the following error message when they run smart query:
Unable to process query request. The given key was not present in the dictionary. The error appears to happen when users use the column header function to rename certian columns. 
Download and install the latest Service Pack which contains all fixes from previous patches. If you are running an older version, download and install the latest version and then the patch.  

Steps to Duplicate

1)      Go to Application -> Shell Design -> User-defined smart queries.
2)      Create a new smart query, using a record type “Revenue”. 
3)      Under the “Results fields to display: output select (NOTE: Change the column header on the following fields ‘b ,c ,d ,e ,g ,h ,j’)
        b)      Appeal\System record ID
        c)      Appeal\Appeal Event\Event (Event)
        d)      Appeal\Name (Appeal)
        e)      Constituent\Lookup ID (Lookup ID)
        f)       Constituent\Name (Name)
        g)      Date
        k)      Application Details\Amount (Application Type)
        l)       Payment method
       m)    Receipt amount
       n)      Reference
4)      Switch to the "Set save options" tab.
5)      Select “Hidden” under the Output type for the Appeal\System record ID field
6)      Check "Filter" next to "Appeal\Appeal Events\Event (Event), Date, Transaction type. 
7)      Change the "Filter operator" to "Contains" for Appeal\Appeal Events\Event (Event), select “Between” for Date, and “Equal To” for Transaction type. 
8)      Change the "Output type" to "Hidden" for Appeal\System record ID.
9)      Set the "Primary key field" to "Appeal\System record ID". 
10)   Save the “Record type” to “Revenue”
11)   Give the smart query a name and save it.
12)   Notice the error: The given key was not present in the dictionary.


 Blackbaud CRM
 4.0, Service Pack 12 SP6

Was this article helpful?