Category Archives: Intermediate

In a .NET plugin “deleting makes Raiser’s Edge go backwards”

OK so the title can be interpreted in many different ways but what is says in essential the truth.

 I had a complaint from a client who was testing a plugin that I had created. She said that “deleting makes Raiser’s Edge go backwards and that the arrow keys were broken too”. Of course it took some probing for me to work out what she really meant but here is it is.

  Continue reading In a .NET plugin “deleting makes Raiser’s Edge go backwards”

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)

Opening a custom Crystal Report from code

Have you ever wanted to call your own Crystal Report from a custom user form? Here is how…

In this example I have a UserForm, a button, a text field for the constituent id and a Crystal Report Control. You will need to go to the control toolbox and add this control before it can be added to your form. All of the constants (variables in upper case) have been previously defined somewhere in the code. Continue reading Opening a custom Crystal Report from code

Static, Dynamic and User-defined code table entries

I regularly use the API help file and the code examples it contains. After all why reinvent the wheel There is a good example of how to retrieve values from a code table (search for “Code Tables Server” and select the entry with the same name). The example shows you how to create a code table server, load a combo box with certain entries or see if a certain value is in the table.

A while back I was looking to validate the gift pay method. I would retrieve the data from a CSV file and before applying it to the field in the gift I wanted to make sure it was a valid value. This way I could control the error message myself. This help file example was just what I needed.

Continue reading Static, Dynamic and User-defined code table entries

Working with Attributes

Attributes are a common tool within The Raiser’s Edge. I know of no organisation that does not have any constituent attributes. Yet the API treats them rather peculiarly. Unlike an import where you specify the category and description the Attribute record doesn’t store the category in plain text. This would be OK if you regularly referred to attributes with their code table id but you do not. They are referred to using the category text.

Continue reading Working with Attributes

The problem with imports

One common problem that I have had with writing VBA code that hooks on to the import process is debugging. Unlike the other processes that you can write VBA code for the import process is a modal form. This means that the import window has to be on top at all times and you cannot go back to another window in Raiser’s Edge

 The problem with this is that you cannot set a break point in your code and you cannot step through the code. This makes debugging code difficult.

There are a couple of work arounds.
Continue reading The problem with imports

Filtering on Gifts

One common complaint about the API is that it is poorly documented. I found that out myself when I went to use the gift filter object. This is a powerful object that allows you to filter a collection of gifts by its properties. The filter object has very many properties but very few of them are documented. There is one knowledgebase article and one FAQ entry showing how to use it.
Continue reading Filtering on Gifts