Prior to version 7, there was limited access to those activity and history areas in SalesLogix. In a recent project, I had to perform a series of tasks upon completing an activity with a particular Type/Category/Result combination. This had to be done in a 6.2.1 system. In order to do this, I had to modify the OnCompletedActivity active script. I wanted to briefly outline the modifications I made to this area for anyone who is running an older version of SalesLogix.
Basically, I needed to look at a completed todo activity with a certain Category, and then update the associated contact and/or opportunity status values depending on the Result of the completed activity. I created a subroutine named "ToDoActivityOperations" which I call via the Sub Main in the OnCompletedActivity Script
Dim strSql, objRS
Set objRS = objSLXDB.GetNewRecordSet
(After creating a recordset, I open a sql statement retuning ContactID, OppID, and result from the history table that have the correct activity type)
strSql = "SELECT OPPORTUNITYID, CONTACTID, RESULT, TYPE, CATEGORY FROM HISTORY " & _
"WHERE ACTIVITYID = '" & vActivityID & "' and type = '" & "262147" & "'"
objRS.Open strSql, objSLXDB.Connection
(In my next step, I check to see if any records were returned. Then I get the values from the history record)
If objRS.RecordCount <> 0 Then
strOpportunityID = objRS.Fields("OPPORUNITYID").Value & ""
strContactID = objRS.Fields("CONTACTID").Value & ""
strResult = objRS.Fields("RESULT").Value & ""
(Based on the result value, I call additional subroutines I've written to update Opportunity and Status record values
If lcase(result) = "rejected" Then
If strOpportunityID <> "" Then UpdateOpportunityStatus "Closed - Rejected", strOpportunityID
If strContactID <> "" Then UpdateContactStatus "SRL", strContactID
Elseif lCase(result) = "accepted" Then
If strOpportunityID <> "" Then UpdateOpportunityStatus "SAL", strOpportunityID
If strContactID <> "" Then UpdateContactStatus "SAL", strContactID
set objRS = nothing
That was all there was to it. It would be nice to be able to edit activity and history views, but short of upgrading to the current version of SalesLogix, this at least allows some degree of control whenever activities are completed.
I hope you find this helpful. Thanks again for reading!