RE-Decoded

A technical look at the Raiser’s Edge API from Blackbaud

Using the RE Controls - Part 1

May 15th, 2008 by David Zeidman

There are a lot of controls that The Raiser’s Edge uses and that you can use in your code to give it a similar look and feel. This article is an introduction to using one of these controls - the SuperEdit70Ex. Like most of the API this is not documented. Indeed this really is not documented. There is no extra documentation other than by looking at the object browser.

 To add the SuperEdit70Ex to a form it must firstly be added to your toolbox. Right click on the toolbox and select Additional Controls (in VBA) or Controls (in VB6). Look down the list for the SuperEdit70Ex and select it as shown below (in the VBA environment):

Additional Controls

Note that these components will only work in the VB6 or VBA environment. They are not supported by .NET (but then .NET has many more replacement components that work much better).

Once you have added the SuperEdit70Ex component you can add it to your form. This component is used in RE for looking up records (constituents, funds, etc) but also for showing the calculator (for number fields), showing the calendar (for date fields) and other purposes. The property that determines which type the control is the style. This can be one of: ellipse, binoculars (default value), calculator, calendar, dropdown, magnifying glass, and a lot more that are not used as widely in RE. You can also have a secondary button style (property secondary style) but the show secondary button property needs to be set. A few examples are shown below:

Sample Form

Unfortunately just because the icon is there does not mean that it does anything. Pressing the button (whichever button it is) will raise the ButtonClick event. From within this event you can show the record look up screen using standard API functionality.

To show the calendar however requires some more work.

If you want to supply a value on startup then you can capture the InitCalendarProps event. This allows you to set the year, month and day values. To update the calendar text box after a user has selected a date then you have to capture the CalendarCloseUp event. The example below shows how this is done.

Private Sub dtNLPostDate_CalendarCloseUp(ByVal UserCanceled As Boolean, ByVal YearValue As Long, ByVal MonthValue As Long, ByVal DayValue As Long)   If Not UserCanceled Then
     dtNLPostDate.Text = DayValue & "/" & MonthValue & "/" & YearValue
   End If
End Sub
Private Sub dtNLPostDate_InitCalendarProps(UseTodaysDate As Boolean, YearValue As Long, MonthValue As Long, DayValue As Long)
  Dim asDate() As String
  If dtNLPostDate.Text <> "" Then
     asDate = Split(dtNLPostDate.Text, "/")

     YearValue = asDate(2)
     MonthValue = asDate(1)
     DayValue = asDate(0)
     UseTodaysDate = False

  Else
     UseTodaysDate = True
  End If

End Sub

The code above initialises the calendar with the value that appears in the text box. Note that the calendar dropdown and the text box are independent of each other. that is why we have to populate the text box when the calendar close up event is raised.

Watch this space for more information on the controls. If you have used any of the controls then feel free to add a comment or drop me a line if you want to write an article on any of them (or anything else for that matter)

Posted in Intermediate | No Comments »

Validating a Constituent Batch

April 30th, 2008 by David Zeidman

Previously I have integrated Quick Address from QAS with The Raiser’s Edge. I implemented their pro API in order to validate the address on saving the constituent/relationship/participant and on demand using the VBA macro button. I created a plugin to update addresses en masse using their batch API. I implemented their pro API to create a “silent” validation during import. The one thing that I didn’t do at the time was to validate addresses in a constituent batch. At the time this was not a requirement.

Read the rest of this entry »

Posted in Not code | No Comments »

RE7VBA tool not working as expected

April 7th, 2008 by David Zeidman

When you write code using the RE7VBA tool that compiles the VBA code into a DLL to be deployed, the environment is very similar to the built in VBA environment. There is the same development environment and access to the same code. So you would think that switching between the two would not be a problem.

Read the rest of this entry »

Posted in Intermediate | No Comments »

The Obsolete API

March 26th, 2008 by David Zeidman

Inspired by a posting on Wired (which in turn was taken from a Wiki on obsolete technologies) I wanted to give you a list of the top five obsolete areas of the RE:API.

  1. Read the rest of this entry »

Posted in Intermediate | 2 Comments »

Reflecting on the Meta world

March 14th, 2008 by David Zeidman

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.

Read the rest of this entry »

Posted in Intermediate | No Comments »

Most Visited Plugins for February

March 3rd, 2008 by David Zeidman

Here are the top 10 visited plugins for the month of February. These are ordered by plugins whose follow through link as been visited.

1 Convio DataSync Connector RE
2 Create Preferred Address
3 Action Reminder Updater
4 Alternate Address Deleter
5 Bank Checker Solution
6 Clean Static Queries
7 AFP
8 Audit Trail
9 Add Constituent ID
10 Custom Reports

Posted in Beginner | No Comments »

Newly added plugins

February 25th, 2008 by David Zeidman

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.

    Posted in Beginner | No Comments »

    Describe a constituent in their dialogue window

    February 25th, 2008 by David Zeidman

    When you open up a constituent record wouldn’t it be good to see a one line overview of the most important distinguishing features of their record even if they are on different tabs? This tip shows you how to put this information into the window dialogue title.

    Read the rest of this entry »

    Posted in Beginner | 1 Comment »

    Membership - Retrieving information

    February 11th, 2008 by David Zeidman

    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).

    Read the rest of this entry »

    Posted in Beginner | No Comments »

    Adjust that tax claim at your peril

    February 4th, 2008 by David Zeidman

    This is perhaps more of a rant than anything else but after being so pleased with the way Blackbaud introduced Batch into the RE:API I now found myself stuck with another piece of Raiser’s Edge functionality that I am less than pleased with.In the UK Gift Aid is big business. In the States (and possibly elsewhere) the donor can claim tax back from charitable donations. In the UK it is the charity that can claim the money back from the government for

    UK tax payers so this can amount to a very large sum of money if it is handled properly. There have been several changes to Gift Aid over the past four or five versions of Raiser’s Edge. One problem that was not addressed until recently was when Gift Aid had been taken in error and then claimed back from the Inland Revenue. If a gift was given in error then the Gift must be adjusted or written off and the Gift Aid must be reversed. If the Gift Aid was claimed in error (for example the donor was not a tax payer) then the Gift Aid alone must be reversed.

    Read the rest of this entry »

    Posted in Beginner | 2 Comments »

    « Previous Entries