Can I add a History/Note to SalesLogix on the backend???


We have a number of backoffice processes that, in order to make them more effective, should record history in slx when the process occurs. For example, sending automated surveys to our clients, or performing software activations.

We would like to record these actions in SLX history, but these processes occur where no SLX is running, and often, where no direct human interaction is taking place.

What is the best way to create history records? Essentially we want do do the identical thing that “Add Note” does in the Notes/History tab, and we would populate the fields automatically, setting the account, contact, regarding, note text, etc, automatically.

My preference would be to use existing SLX stored procedures, (as opposed to using SLX objects). Any guidance would be appreciated.


That’s exactly what you do – link via the Provider (or SQL direct if you have no remote) and simply add a new row into History table. If you run SLXProfiler – add a note – you will see exactly what you need to do e.g.

Here’s something to get you started:

Sub RecordToHistory (sAccID, sConID, sCat, sDesc, sType, sNote)
Dim objSLXDB, objRS, strSQL
Set objSLXDB = New SLX_DB

Set objRS = objSLXDB.GetNewRecordSet

objRS.Open strSQL, objSLXDB.Connection

With objRS
.Fields(“HISTORYID”).Value = Application.BasicFunctions.GetIDFor (“HISTORY”)
.Fields(“TYPE”).Value = cstr(sType)
.Fields(“ACCOUNTID”).Value = sAccID
.Fields(“ACCOUNTNAME”).Value = CheckForNull(Application.BasicFunctions.CurrentAccountName)
.Fields(“CONTACTID”).Value = sConID
.Fields(“PRIORITY”).Value = “None”
.Fields(“CATEGORY”).Value = CheckForNull(sCat)
.Fields(“DESCRIPTION”).Value = CheckForNull(sDesc)
.Fields(“STARTDATE”).Value = cstr(Now)
.Fields(“COMPLETEDDATE”).Value = cstr(Now)
.Fields(“ORIGINALDATE”).Value = cstr(Now)
.Fields(“USERID”).Value = Application.BasicFunctions.CurrentUserID
.Fields(“USERNAME”).Value = Application.Users.Item(Application.BasicFunctions.CurrentUserID).Name
.Fields(“DURATION”).Value = cstr(0)
.Fields(“TIMELESS”).Value = “F”
.Fields(“RESULT”).Value = “Complete”
.Fields(“COMPLETEDUSER”).Value = Application.BasicFunctions.CurrentUserID
.Fields(“ATTACHMENT”).Value = “F”
.Fields(“NOTES”).Value = CheckForNull(Left(sNote, 254))
.Fields(“LONGNOTES”).Value = CheckForNull(sNote)
If ErrorCheck (Application.Translator.Localize(“Error updating [History]…”)) > 0 Then exit sub
End With
Set objRS = Nothing

End Sub

Want content like this delivered to your inbox? Sign up for our newsletter!

Submit a Comment

Your email address will not be published. Required fields are marked *