Click or drag to resize

New COM APIs

A summary of the new and changed APIs in 7.0

SOApplication

HWnd - Return window handle for window

-          Windowname = blank, DocumentDlg, AppointmentDlg, PersonDlg, BookingDlg (appointment sub-dialog)

CurrentSoProtocol  - Get/set GUI context via soprotocol

SetSoProtocol - Same as set protocol

GetArchiveInterface( provider, guiName) - access the archive grids shown in the GUI. Returns an ApplicationArchive.

SOContext

Get / Set - Set the SoProtocol - same as the CurrentSoProtocol name.

CurrentPanelName - return part of the SoProtocol

CurrentSubModeName - return part of the SoProtocol

CurrentMiniCardName - return part of the SoProtocol

CurrentArchiveName - return part of the SoProtocol

PersonArchive

IsLoading - is the archive loading?

ApplicationArchive - Generic archive wrapper

ProviderName - name of the NetServer class that is providing the data

GuiName - name to show on the archive tab

SoProtocol - name to use in the soprotocol

Restrictions - query constraints to limit which rows are shown

OptionalEntities - what types of data the provider contains

DesiredEntities - checkboxes in archive footer

Reload - force a reload of the archive

Cancel - stop loading

IsLoading

IsCanceled

IsVisible

Show()

AllRows - get the list of rows

SelectedRows - the highlighted rows in the archive

LastSelectedRow

ExportToExcel( mode, open, pathToFile ) - save archive as excel file

RowEntity - Exposes the rows in the archive

TableId

RecordId

RowType

CustomKey

Database

Password - Obsolete, use SafeCredentials instead.

GetLocationList - Return resources that are locations

GetStagesForSaleType - For filtering the stages list correctly.

SafeCredentials - Ticket from NetServer

Contact, Person, Project, Sale, Appointment, Document

ExternalFieldChanged - Signal SOCRM that something has happened outside its world – will force a save on model object when AutoSave is triggered. Forces the main record to be updated when object is saved, even if no internal values have changed.

ValidationMessage - Signal SOCRM that Save should be blocked on the model object because of some reason.

AutoSaveOnFlush - Save changes when Flush is triggered

AutoSaveOnChangeIdentity - Save changes when identity is changed.

Contact

MergeTo - Merge this contact with another

Copy - Make a copy of this contact

Person

MergeTo - Merge two persons

MoveTo - Move a person to another contact

ChatAddresses - e-mail addresses of type 1

VoIPAddresses - e-mail addresses of type 2

Urls - homepage links and the like. Urls with person_id set

Associate

Groups - List all groups user is member of

Appointment

Sale - The sale this appointment is linked to

SuggestedAppointmentId - This appointment came from a sales guide.

Document

Sale - The sale this document is linked to

SuggestedDocumentId - This document came from a sales guide

ExtRef - same as Reference

ArchiveProviderName - string version of ArchiveProvider

Project

MergeTo

ActiveLinks – links to other projects, urls, documents etc

ProjectMember

ExternalFieldChanged

ValidationMessage

Selection

[Enumerations.ESelectionType_EN] enum changed! Static, Dynamic, Combination

TargetTable - what this is a selection of

Completed - is the selection marked as done?

Sale

ActiveLinks

CanBeCompleted() – is the completed checkbox enabled? Requires status = lost or sold.

PostItText

NextDueDate

ReasonStalled - mdo list item

ReasonSold - mdo list item

ReasonLost - mdo list item

ReopenDate

SaleType - mdo list item

Stage - mdo list item - valid stages vary according to SaleType - same as old Probability

GetSuggestedAppointments()

GetSuggestedDocuments()

Settings

HasLicense( licenseName ) – does user have access to license?

GetNumLicense( licenseName ) – total number of licenses

NetServerOverrides - return the NetServer config file settings needed to log in to the database.

SuperofConfigPath - return the path to the superoffice.config file

ActivityLinks

AddProject

RemoveProject

Projects

User

CredentialTypes - Returns a list of installed authentication providers. Default = CRM5/PASSWORD + ActiveDirectory

Credentials - List of authentications for user. Currently will only have one item in it.

AddCredential - adds new credential provider to list. Will automatically remove existing credentials. Currently we have only one credential per user, but in the future we hope to support multiple credentials per user.

RemoveCredential - removes a credential type from the user, leaving the user with no means of logging in.

Setting the password to "blah" is the same as saying

                soUser.AddCredential "CRM5/PASSWORD", "blah", ""

Admin

AddSystemUser( name )

AddAnonymousUser( name )

                You will need the appropriate admin license to create the user.

    set sys1 = db.Admin.AddSystemUser("Sys01")     sys1.Password = "foobar"     sys1.save

Database

IStringResources.FromId( id )

                1234 -> "bla bla"

StringResources.FromName( name )

                "[SR_BLA]" -> "bla bla"

StringResources.FromString( string )

                "[SR_XYZ][SR_BLA]:" -> "abc bla bla:"

set db = CreateObject("SuperOfficeDB.Database") msg = msg & db.StringResources.FromId(30979) & vbcrlf msg = msg & db.StringResources.FromName("[TIU_YEAR]") & vbcrlf msg = msg & db.StringResources.FromString("This is TIU_YEAR '[TIU_YEAR]'") & vbcrlf msgbox msg,,"Strings"

New Eventserver events

Contact Events

ContactBeforeMerge(SourceContactId, DestinationContactId ) ContactAfterMerge(ContactId) ContactBeforeCopy(ContactId) ContactAfterCopy(SourceContactId, DestinationContactId)

Person Events

PersonBeforeMove(PersonId, NewContactId) PersonAfterMove(PersonId) PersonBeforeMerge(SourcePersonId, DestinationPersonId) PersonAfterMerge(PersonId)

Sale Events

CurrentSaleStageChanged(oldStage, newStage) CurrentSaleTypeChanged(oldType, newType)

Project Events

ProjectBeforeMerge(SourceProjectId, DestinationProjectId) ProjectAfterMerge(ProjectId)

Up: What's new in 7.0   Prev: Move and merge   Next: Sale management          Edit