For the DIY kinda people.
Requirements
In order to start writing add-ons for Ivan's Accounting Tools, you need to have Visual Studio 2015(or newer) installed.
Interface
The plugin interface only allows the generation of journal entries in the ivact syntax.
Getting Started
Start by creating a new Class Library project in Visual Studio. You can choose to code in either VB or C#.
Click "Okay" to create the project and you should see something like this:
Public Class Class1 End Class
Now you need to replace everything with the template for IVACT Add-ons.
Public Class MainClass
Public appname As String = "APP NAME HERE"
Public Function init(ByVal int1 As Integer, ByVal int2 As Integer) As String
If int1 + int2 = 3 Then
Return appname
End If
End Function
Public Function MainFunc(ByVal int1 As Integer, ByVal int2 As Integer, ByVal int3 As Integer) As Object
If int1 + int2 = 5 Then
Dim az As New ArrayList
az.Add("<J>" & int3.ToString("D4"))
az.Add("</J>")
Return az
End If
End Function
End Class
Key in the name for your add-on in "appname". This will be the name of your add-on in the menu.
"int3" will be the journal entry no. for the journal entry that will be created through this add-on.
In the template, we have an arraylist, this allows us to "print" our journal entries in the ivact syntax by adding a new line to the arraylist.
Building the code above will add an empty journal entry in the General Journal, which is not possible through the conventional method.
Sample Code
This is an excerpt from the source code of the Transaction add-on.
Public Class MainClass
Public appname As String = "Transaction"
Public Function init(ByVal int1 As Integer, ByVal int2 As Integer) As String
If int1 + int2 = 3 Then
Return appname
End If
End Function
Public Function MainFunc(ByVal int1 As Integer, ByVal int2 As Integer, ByVal int3 As Integer) As Object
If int1 + int2 = 5 Then
Dim z As New frmaddon
If z.ShowDialog = System.Windows.Forms.DialogResult.OK Then
Dim az As New ArrayList
az.Add("<J>" & int3.ToString("D4"))
az.AddRange(z.zee)
az.Add("</J>")
Return az
Else
Return Nothing
End If
End If
End Function
End Class
Download Sample Source Code
Download the source code for the Transaction plugin.