Tag Archives: Constituent

Reflecting on the Meta world

One aspect of the API that is really well thought out is the whole Meta data structure. Back when RE7 was written, there was no reflection built into VB6. Java had it and there was some libraries that could do it but nothing was built in. Reflection (in coding terminology) is the ability to be aware of the classes and methods that are available to the code during run time.

Continue reading Reflecting on the Meta world

Newly added plugins

Thank you Steve Best for the following five new entries to the plugin directory. If there are any more that have been missed any then feel free to add them. Thank you to all those who have added over the past months.

  • CanadianUpdateRE
  • Fix for Missing Schedule Starting On Date
  • Fix Constituent Notepads Actual Notes
  • Fix Dupe Primary Banks
  • Fix Appeals For Delete
  • Cannot find the plugin that you are looking for? Get in contact with us and find out how we can make your Raiser’s Edge processes more efficient and make savings in both time and money.

    Membership – Retrieving information

    One very useful way of loading a collection of records is using the custom where clause. For example if you want to find a list of constituents who are born in a certain year you could write the following

    Dim oRecords As New CRecords
    oRecords.INIT SessionContext, tvf_record_CustomWhereClause, "BIRTH_DATE LIKE '1950%'"

    This is the only really effective way of doing this without returning a list of all constituents filtering them in the code (much less efficient).

    Continue reading Membership – Retrieving information

    Filtering and Sorting Participants – Just not Together

    This is being written in response to two hours of trying to get some code to work only to conclude that there was a bug in the API. I am not overly convinced it will be documented any time soon so let it be documented here!

    I wanted to create a collection of participant registrations for a particular constituent. I also wanted to only really look at the most recent three registrations so I needed to both filter and sort. Sounds quite simple really until of course it did not work.

    Continue reading Filtering and Sorting Participants – Just not Together

    Fund Missing (Found in an Unexpected Place)

    I had an error that bugged me for a while when I could not work out what the problem was.

    I had a list of gifts that I wanted to create on different constituents. I had the constituent id, the date, amount, fund, appeal, campaign, everything that I thought was required.

    I got the following error message when trying to save the newly created gift:

    Required Field Missing: Fund

    Continue reading Fund Missing (Found in an Unexpected Place)

    Top Plugins in November

    Here are the most popular plugins for the month of November from the plugin directory. This is based on the click through for more information link.

    1. Audit Trail
    2. Action Reminder Updater
    3. Convio DataSync Connector RE
    4. Blackbaud NetCommunity Integration
    5. Constituent Document Linker
    6. Bank Checker Solution
    7. Create Preferred Address
    8. Alternate Address Deleter
    9. AFP
    10. Custom Reports

    Cannot find the plugin that you are looking for? Get in contact with us and find out how we can make your Raiser’s Edge processes more efficient and make savings in both time and money.

    Integrating with Excel

    Two common tasks seem to be integrating RE with an Excel file. This can mean two things. Either from a plugin or some RE:VBA code opening a Excel file and extracting the data or it can mean that from within Excel VBA access the RE objects to retrieve some data. The way you handle the two scenarios is quite different.

    If you are trying to connect to Raiser’s Edge from Excel you will need the API module. You connect to RE using the REAPI object and initialize it with a serial number and optionally user name and password. You then use the API in exactly the same way as you would from within RE, i.e. via VBA or any other API application.

    If you want to open up Excel from RE then you will need to create the application objects. This is shown in the example below:

        Dim objExcel As Excel.Application     ' Excel application 
        Dim objBook As Excel.Workbook      ' Excel workbook  
        Dim objSheet As Excel.Worksheet     ' Excel Worksheet  
        Dim oConstit As New CRecord    oConstit.Init REApplication.SessionContext 
        Set objExcel = CreateObject("excel.application") 'Starts the Excel Session  
        Set objBook = objExcel.Workbooks.Open("C:test.xls")   
    
        For Each objSheet In objBook.Sheets 
            If UCase(objSheet.Name) = "Sheet1" Then 
                oConstit.Load CLng(objSheet.Range("A2").Text) 
                objSheet.Range("A3").Text = oConstit.Fields(RECORDS_fld_FULL_NAME) 
                Exit For 
            End If 
        Next objSheet 
         objBook.Save  
         If Not objBook Is Nothing Then 
            objBook.Close 
            Set objBook = Nothing 
        End If 
         If Not objExcel Is Nothing Then  
            objExcel.Quit 
            Set objExcel = Nothing 
        End If  
    
    

    This is quite self-explanatory code, although Excel has an object model just as RE does which is very large and takes a while to get to understand. There is plenty of Excel API information on MSDN.