Category Archives: Intermediate

Gift Type IDs – A Reference

A while ago I wrote an article about filtering on gifts. I find myself regularly having to reference the knowledgebase link which itself links to an Access database file. Here is a snippet from that other article.

A word on the GiftTypes filter. Here you can filter on cash, pay-cash, pledge, etc. However this is not simply the text but rather an id that the type refers to. This too is not well documented. There is a link in the knowledgebase (http://www.blackbaud.com/esupport/es…r=0&id=BB17413) that gives this information or it can be derived by looking at the SQL or a query.
For example:

oFilter.GiftTypes.Add 1, "Cash" oFilter.GiftTypes.Add 2, "Pay-Cash"

I got somewhat tired of having to download that mdb file each time and some of the gift types stuck, many I forget. So here is the list (mainly for my own reference but for the benefit of anyone else who needs this list):

Gift Types ID Description
1 Cash
2 Pay-Cash
3 MG Pay-Cash
4 Covenant Payment
8 Pledge
9 Stock
10 Stock (Sold)
11 Pay-Stock
12 MG Pay-Stock
13 Pay-Stock (Sold)
14 MG Pay-Stock (Sold)
15 Gift In Kind
16 Pay-Gift In Kind
17 MG Pay-Gift In Kind
18 Other
19 Pay-Other
20 MG Pay-Other
21 Write Off
22 MG Write Off
24 Net Covenant
25 Gross Covenant
26 Deposited Convenant
27 MG Pledge
28 Adjustment
29 Covenant Write Off
30 Recurring Gift
31 Recurring Pay-Cash
32 GL Reversal
33 Amendment
34 Planned Gift

VBA User Fields in Export

In export for a recurring gift it is not possible to pull out the bank details specific to that gift. You can only pull the name of the bank or all the banks on the constituent’s record. It is not possible to pull the account number and sort code. This is really important when there are bank issues with recurring gifts that need to be sorted out.

Continue reading VBA User Fields in Export

Using the Batch API with Notepads or Attributes

I have started to use the Batch API in earnest now. I have said previously that it is a great long overdue piece of functionality but I am beginning to understand why it was never included earlier. As with much of the API the newly added Batch API is not well documented. A good example of how to use it was given and can be found on Blackbaud’s knowledgbase (BB418575) but it is somewhat limited. It does not explain for example how to add an attribute or a notepad to a gift batch. This was discussed on a Blackbus thread.  Adding the items to the batch header was quite straight forward but adding the actual values proved more difficult. Here I try to shed some light on the process.

Continue reading Using the Batch API with Notepads or Attributes

Using the RE Controls – Part 1

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.

  Continue reading Using the RE Controls – Part 1

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

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