Click or drag to resize

SuperOffice.COM.SuperOfficeDB Namespace

The Database Library is a client-side Application Programming Interface (API) available as a COM object. You can access most of the available data in the SuperOffice database through the API without logging in to the SuperOffice CRM Windows client.

SuperOfficeDB API Reference

The Database object is used if you want to manipulate the SuperOffice database without having to write SQL.Instead of writing SQL, you manipulate objects and save the objects. The database is then updated automatically for you.You can use the objects to do the same sorts of things that the SuperOffice client does.The advantage of using these objects is that you get intellisense and a whole bunch of business-logic built in.The disadvantage is that the objects may not be as fast as building your own custom queries. This is particularly true for doing batch updates.
The database object must be logged in before use. The exception to this is when you obtain the database object belonging to the running SuperOffice client application using the SOApplication.Database property.The components will try to enforce the security system that applies in the SuperOffice client, so if you attempt to read another users private appointment with the [IAppointment] object, then your code will raise a security exception. Similarly, attempting to save an object that your user is only allowed to read will also lead to a security exception.Security is enforced based on the user that you are logged in as.The OLE-DB provider does not enforce security in the same way.
Classes
  ClassDescription
Public classDatabaseClass
Interfaces
  InterfaceDescription
Public interfaceDatabase
Database Class
Public interfaceIActivity
IActivity Interface Never implemented
Public interfaceIActivityLinks
ActivityLink - collections of documents attached to this appointment/sale/document Never implemented
Public interfaceIActivityList
A collection of activities. Each activity can be a sale, document or appointment. Never implemented A collection of activities. Each activity can be a sale, document or appointment
Public interfaceIActivityListItem
Represents a row in an activity archive. Can be a document, appointment or sale row. Never implemented A collection of activities. Each activity can be a sale, document or appointment Represents a row in an activity archive. Can be a document, appointment or sale row.
Public interfaceIAddress
Addresses can be street, postal or private.
Public interfaceIAdmin
You must have administrative permission to use this object. Allows users and roles to be created and edited.
Public interfaceIAppointment
Appointment object - represents to-do's, follow-ups, phone-calls.
Public interfaceIAppointments
Appointments collection.
Public interfaceIAppointments2
Appointment collection.
Public interfaceIAssociate
Associates can be internal users, resources, external users, anonymous or system users. This is a read-only object. To create or edit users, you need to use the Admin object.
Public interfaceIAssociates
Associates collection. Indexed by associate id. The Associate list can be manipulated using the Admin API.
Public interfaceIChecklist
Collection of diary checklist items for a particular user. Each item corresponds to an incomplete appointment, document, sale.
Public interfaceIChecklistItem
A checklist item is a row in the diary checklist. It represents an incomplete appointment, document or sale. Collection of diary checklist items for a particular user. Each item corresponds to an incomplete appointment, document, sale. A checklist item is a row in the diary checklist. It represents an incomplete appointment, document or sale.
Public interfaceIConsentPerson
Represents a ConsentPerson record.
Public interfaceIConsentPersons
Collection of ConsentPersons
Public interfaceIContact
Contacts represent companies in the user interface.
Public interfaceIContacts
Collection of Contact objects. Use GetFirst/GetNext or for-each to loop through the collection. Use GetFirst/GetNext or for-each to loop through the collection.
Public interfaceIContacts2
Contact collection. Use GetFirst/GetNext or for-each to loop through the collection.
Public interfaceICounters
Counters keep track of the most recent activity on a company or project. Note that counters may be out-of-date with respect to the actual state of the database. May be NULL if you do not have the Sales Intelligence license
Public interfaceICredential
ICredential Interface - get/set passwords information on IUser
Public interfaceICredentials
Collection of Credentials, indexed from 0.
Public interfaceICriteria
Criteria - a collection of Criterion objects indexed by internal id. Add a new criterion using NewCriterion, then Add it to the collection.
Public interfaceICriterion
A criterion is a field, an operator and one or more values for comparison.
Public interfaceICriterionValue
A value (a number, date, list item) used by a criterion when searching. A criterion is a field, an operator and one or more values for comparison. A value (a number, date, list item) used by a criterion when searching.
Public interfaceICriterionValues
Collection of CriterionValues. Indexed by internal id. A criterion value tells the search system what to look for. A criterion is a field, an operator and one or more values for comparison. A value (a number, date, list item) used by a criterion when searching.
Public interfaceIDatabase
The Database object gives access to superoffice objects after you have logged in. The Database object gives access to SuperOffice objects after you have logged in.
Public interfaceIDates
Collection of DATEs, indexed from 0.
Public interfaceIDiaryOwner
DiaryOwner represent associate used in application diary.
Public interfaceIDictionary
The Data Dictionary provides information about the database version, the tables installed, and the fields available on a table. You must use the SODictionarySDK to add or remove tables.
Public interfaceIDocument
Documents represent files (usually Word documents or e-mail messages). The file should be generated before it can be edited/viewed
Public interfaceIDocuments
collection of document objects
Public interfaceIEmail
Email address object
Public interfaceIEmails
Collection of e-mail objects. Indexed by internal id. (email_id)
Public interfaceIFind
This object has lots of function for performing simple searches. If you need more complex queries then you should use the ADO connection instead of the Find object.
Public interfaceIForeignKey
IForeignKey Interface - get/set foreign keys
Public interfaceIInterest
Interest object - represents the checkboxes in the user interface on contact or person.
Public interfaceIInterests
Collection of Interest objects on a contact or person, indexed by internal id
Public interfaceIListTextHeading
IListTextHeading Interface List headings
Public interfaceIListTextHeadings
Collection of list headings. Indexed by heading id. Each heading contains a collection of list items. List headings
Public interfaceIListTextItem
IListTextItem Interface List items
Public interfaceIListTextItems
Collection of list items. Indexed by item id. Each item has an id, text and tooltip. List items
Public interfaceIMapCollection
A read-only collection indexed by ids. Supports enumeration. Add/remove methods may be added by sub-classes.
Public interfaceIModelBase
IModelBase defines common operations used by the main objects like Contact, Person, Project, Sale, Appointment, Document.
Public interfaceINumbers
INumbers Interface - get/set number sequences
Public interfaceIPerson
Person object. A person is linked to a contact.
Public interfaceIPersons
Collection of Person objects
Public interfaceIPersons2
Person collection.
Public interfaceIPhone
Phone object. Hangs off Contact and Person objects. Automatically saved when the Contact or Person object is saved.
Public interfaceIPhones
Phone object collection, indexed by internal id (phone_id)
Public interfaceIPreference
Read or write preference values here. Note that preferences can be set at an individual user's level, at user-group level, an database level, or system-wide level. Read or write preference values here. Note that preferences can be set at an individual user's level, at user-group level, an database level, or system-wide level.
Public interfaceIProject
Projects can have persons as project members, with specific roles. Appointments/Sales/Documents can be linked to a project.
Public interfaceIProjectMember
IProjectMember Interface
Public interfaceIProjectMembers
ProjectMembers collection. Indexed by project member id. Add to the collection by saving new ProjectMember objects.
Public interfaceIProjects
Collection of Project items
Public interfaceIProjects2
Project collection.
Public interfaceIQuote
IQuote Interface
Public interfaceIQuoteAlternative
IQuoteAlternative Interface
Public interfaceIQuoteLine
IQuoteLine Interface
Public interfaceIQuoteVersion
IQuoteVersion Interface
Public interfaceIRecurrence
Recurrence object - contains details on how an appointment repeats. Remember to call ComputeDates if you change any information.
Public interfaceIRelation
A Relation links two records in the system. Currently used for activity links and for company/person links.
Public interfaceIRelations
Collection of Relation objects
Public interfaceIRole
Represents a role - which defines access rights to information. Can be modified if user has UserAdmin rights.
Public interfaceIRoles
Role object collection, indexed by role id. Add new roles using Admin.CreateRole. : Admin.CreateRole.
Public interfaceISale
ISale Interface
Public interfaceISales
Sales collection.
Public interfaceISaleStakeholder
ISaleStakeholder Interface
Public interfaceISaleStakeholders
Salestakeholders collection. Indexed by salestakeholder_id. Add to the collection by saving new SaleStakeholder objects.
Public interfaceISelection
ISelection Interface
Public interfaceISelectionMember
ISelectionMember Interface
Public interfaceISelectionMembers
SelectionMembers collection. Add and remove members using methods on the Selection object.
Public interfaceISelections2
Selection collection.
Public interfaceISentry
Sentry returns the read/write settings for the object as a whole and for individual fields.
Public interfaceISettings
Database Settings - does not require a login before use
Public interfaceIShipmentTypeReservation
Represents a ShipmentTypeReservation record.
Public interfaceIShipmentTypeReservations
Collection of ShipmentTypeReservations
Public interfaceISOPicture
ISOPicture Interface - person, project or status monitor picture
Public interfaceIStatusMonitor
Status Monitors tell you whether a given company or project matches a set of criteria. Note that status monitors may be out-of-date with respect to the actual state of the database. May be NULL if you do not have the Sales Intelligence license. May be read-onl
Public interfaceIStatusMonitors
Collection of Status Monitors indexed by monitor id. May be inaccessible if you do not have the Sales Intelligence license
Public interfaceIStatusMonitorValue
The status monitor value tells you how up to date a status monitor is with respect to the Contact or Project it is attached to..
Public interfaceIStatusMonitorValues
Collection of Status Monitor values indexed by monitor definition id. May be inaccessible if you do not have the Sales Intelligence license
Public interfaceIStringResources
String Resource manager. Converts string ids into translated strings.
Public interfaceISuggestedAppointment
Suggested appointment object
Public interfaceISuggestedAppointments
SuggestedAppointments collection. Indexed by suggestedAppointment_id.
Public interfaceISuggestedDocument
Suggested document object
Public interfaceISuggestedDocuments
SuggestedDocuments collection. Indexed by suggestedDocument_id.
Public interfaceITimeZoneItem
ITimeZoneItem interface
Public interfaceITimeZoneItems
Collection of ITimeZone items
Public interfaceITimeZones
ITimeZones Interface to the TimeZone manager
Public interfaceITravelInfo
TravelInfo - contains status of communications with a given traveller.
  • contains status of communications with a given traveller.
Public interfaceITravelInterface
ITravelInterface Interface
Public interfaceITravellers
Collection of traveller info objects. Gives status on all travellers.
Public interfaceIUDefField
A User-defined field - contains layout and database storage information, as well as value of field.
Public interfaceIUDefFields
Collection of user-defined fields. You can retrieve fields by name or by field id. A User-defined field - contains layout and database storage information, as well as value of field. Collection of user-defined fields. You can retrieve fields by name or by field id.
Public interfaceIUrl
Url - web addresses. Contacts, persons, projects can all have web addresses
Public interfaceIUrlLinkItem
IUrlLinkItem interface
Public interfaceIUrlLinkItems
Collection of IUrlLinkItem items
Public interfaceIUrls
Collection of web addresses, indexed by internal id (url_id)
Public interfaceIUser
The administration view of associate. Unlike Associate objects, users can be modified and saved.
Public interfaceIUtils
Utilities. These may have reduced functionality in a release target
  • these may have reduced functionality in a released version.
Public interfaceSOActivity
IActivity Interface Never implemented
Public interfaceSOActivityLinks
ActivityLink - collections of documents attached to this appointment/sale/document Never implemented
Public interfaceSOActivityList
IActivityList Interface Never implemented A collection of activities. Each activity can be a sale, document or appointment
Public interfaceSOActivityListItem
IActivityListItem Interface Never implemented A collection of activities. Each activity can be a sale, document or appointment Represents a row in an activity archive. Can be a document, appointment or sale row.
Public interfaceSOAddress
Addresses can be street, postal or private.
Public interfaceSOAdmin
IAdmin Interface You must have administrative permission to use this object. Allows users and roles to be created and edited.
Public interfaceSOAppointment
Appointment object - represents to-do's, follow-ups, phone-calls.
Public interfaceSOAppointments
Appointments collection.
Public interfaceSOAppointments2
Appointments collection.
Public interfaceSOAssociate
Associates can be internal users, resources, external users, anonymous or system users. This is a read-only object. To create or edit users, you need to use the Admin object.
Public interfaceSOAssociates
Associates collection. Indexed by associate id. The Associate list can be manipulated using the Admin API.
Public interfaceSOChecklist
IChecklist Interface Collection of diary checklist items for a particular user. Each item corresponds to an incomplete appointment, document, sale.
Public interfaceSOChecklistItem
IChecklistItem Interface Collection of diary checklist items for a particular user. Each item corresponds to an incomplete appointment, document, sale. A checklist item is a row in the diary checklist. It represents an incomplete appointment, document or sale.
Public interfaceSOContact
Contacts represent companies in the user interface.
Public interfaceSOContacts
IContacts Interface Use GetFirst/GetNext or for-each to loop through the collection.
Public interfaceSOCounters
Counters keep track of the most recent activity on a company or project. Note that counters may be out-of-date with respect to the actual state of the database. May be NULL if you do not have the Sales Intelligence license
Public interfaceSOCredential
ICredential Interface - a single password
Public interfaceSOCredentials
ICredentials Interface - collection of passwords.
Public interfaceSOCriteria
Criteria - a collection of Criterion objects indexed by internal id. Add a new criterion using NewCriterion, then Add it to the collection.
Public interfaceSOCriterion
ICriterion Interface A criterion is a field, an operator and one or more values for comparison.
Public interfaceSOCriterionValue
ICriterionValue Interface A criterion is a field, an operator and one or more values for comparison. A value (a number, date, list item) used by a criterion when searching.
Public interfaceSOCriterionValues
Collection of CriterionValues. Indexed by internal id. A criterion value tells the search system what to look for. A criterion is a field, an operator and one or more values for comparison. A value (a number, date, list item) used by a criterion when searching.
Public interfaceSODates
Collection of DATEs, indexed from 0.
Public interfaceSODictionary
The Data Dictionary provides information about the database version, the tables installed, and the fields available on a table. You must use the SODictionarySDK to add or remove tables.
Public interfaceSODocument
Documents represent files (usually Word documents or e-mail messages). The file should be generated before it can be edited/viewed
Public interfaceSODocuments
Collection of document objects
Public interfaceSOEmail
Email address object
Public interfaceSOEmails
Collection of e-mail objects. Indexed by internal id. (email_id)
Public interfaceSOFind
IFind Interface This object has lots of function for performing simple searches. If you need more complex queries then you should use the ADO connection instead of the Find object.
Public interfaceSOForeignKey
IForeignKey Interface - get/set foreign keys
Public interfaceSOInterest
Interest object - represents the checkboxes in the user interface on contact or person.
Public interfaceSOInterests
Collection of Interest objects on a contact or person, indexed by internal id
Public interfaceSONumbers
INumbers Interface - get/set number sequences
Public interfaceSOPerson
Person object. A person is linked to a contact.
Public interfaceSOPersons
IPersons Interface
Public interfaceSOPhone
Phone object. Hangs off Contact and Person objects. Automatically saved when the Contact or Person object is saved.
Public interfaceSOPhones
Phone object collection, indexed by internal id (phone_id)
Public interfaceSOPreference
IPreference Interface Read or write preference values here. Note that preferences can be set at an individual user's level, at user-group level, an database level, or system-wide level.
Public interfaceSOProject
Projects can have persons as project members, with specific roles. Appointments/Sales/Documents can be linked to a project.
Public interfaceSOProjectMember
IProjectMember Interface
Public interfaceSOProjectMembers
ProjectMembers collection. Indexed by project member id. Add to the collection by saving new ProjectMember objects.
Public interfaceSOProjects
IProjects Interface
Public interfaceSOQuote
IQuote Interface
Public interfaceSOQuoteAlternative
IQuoteAlternative Interface
Public interfaceSOQuoteLine
IQuoteLine Interface
Public interfaceSOQuoteVersion
IQuoteVersion Interface
Public interfaceSORecurrence
Recurrence object - contains details on how an appointment repeats. Remember to call ComputeDates if you change any information.
Public interfaceSORelation
A Relation links two records in the system. Currently used for activity links and for company/person links.
Public interfaceSORelations
IRelations Interface
Public interfaceSORole
Represents a role - which defines access rights to information. Can be modified if user has UserAdmin rights.
Public interfaceSORoles
Role object collection, indexed by role id. Add new roles using Admin.CreateRole. : Admin.CreateRole.
Public interfaceSOSale
ISale Interface
Public interfaceSOSales
Sales collection.
Public interfaceSOSaleStakeholder
ISaleStakeholder Interface
Public interfaceSOSaleStakeholders
Collection of SaleStakeholders, indexed by salestakeholder_id
Public interfaceSOSelection
ISelection Interface
Public interfaceSOSelectionMember
A member in a Selection. This can be a Contact or a Person
Public interfaceSOSelectionMembers
SelectionMembers collection. Add and remove members using methods on the Selection object.
Public interfaceSOSentry
Sentry returns the read/write settings for the object as a whole and for individual fields.
Public interfaceSOSettings
Database Settings - does not require a login before use
Public interfaceSOStatusMonitor
Status Monitors tell you whether a given company or project matches a set of criteria. Note that status monitors may be out-of-date with respect to the actual state of the database. May be NULL if you do not have the Sales Intelligence license. May be read-onl
Public interfaceSOStatusMonitors
Collection of Status Monitors indexed by monitor id. May be empty if you do not have the Sales Intelligence license
Public interfaceSOStatusMonitorValue
Status Monitors tell you whether a given company or project matches a set of criteria. Note that status monitors may be out-of-date with respect to the actual state of the database. May be NULL if you do not have the Sales Intelligence license. May be read-onl
Public interfaceSOStatusMonitorValues
Collection of Status Monitors indexed by monitor id. May be empty if you do not have the Sales Intelligence license
Public interfaceSOStringResources
String Resource manager. Converts id to translated string.
Public interfaceSOSuggestedAppointment
ISuggestedAppointment Interface
Public interfaceSOSuggestedAppointments
Collection of ISuggestedappointments, indexed by suggestedAppointment_id
Public interfaceSOTimeZoneItem
TimeZone Item
Public interfaceSOTimeZoneItems
A collection of TimeZone Items
Public interfaceSOTimeZones
TimeZone manager
Public interfaceSOTravelInfo
TravelInfo Interface
  • contains status of communications with a given traveller.
Public interfaceSOTravelInterface
ITravelInterface Interface
Public interfaceSOTravellers
ITravellers Interface Collection of traveller info objects. Gives status on all travellers.
Public interfaceSOUDefField
IUDefField Interface A User-defined field - contains layout and database storage information, as well as value of field.
Public interfaceSOUDefFields
IUDefFields Interface A User-defined field - contains layout and database storage information, as well as value of field. Collection of user-defined fields. You can retrieve fields by name or by field id.
Public interfaceSOUrl
Url - web addresses. Contacts, persons, projects can all have web addresses
Public interfaceSOUrlLinkItem
UrlLink Item
Public interfaceSOUrlLinkItems
A collection of UrlLink Items
Public interfaceSOUrls
Collection of web addresses, indexed by internal id (url_id)
Public interfaceSOUser
IUser Interface - administration view of associate. Unlike Associate objects, users can be modified and saved.
Public interfaceSOUtils
Utilities, mostly for debugging
  • these may have reduced functionality in a released version.
Enumerations
  EnumerationDescription
Public enumerationEActivityListType
Bitflag. What sort of information is loaded in activity list SOContact.GetActivityList
Public enumerationEAssocType
Enumeration of the SuperOffice CRM Associate types
Public enumerationEChecklistMode
Bitflag. What sort of information is loaded in diary check list / activity list Database.GetCheckList
Public enumerationEDBType
Type of underlying database in use. Database vendor and version
Public enumerationEDBVariant
The database variant: central or travel database
Public enumerationEDictFieldType
Database field types
Public enumerationEEncryptionVariant
How should travel info be encrypted during transfer?
Public enumerationEFullNameFormatStyle
First name first or last?
Public enumerationEnActivityLinkType
Enum for the different activitylink types
Public enumerationEnAppointType
Type of appointment/document (meeting/document/phone/fax/mail)
Public enumerationEnAssocRoleType
Role types
Public enumerationEnCautionWarning
Enum for Caution warning on appointment
Public enumerationEnCriterionLinkType
Different criteria can be combined using AND or OR operators. Only AND is supported at the moment.
Public enumerationEnCriterionOperator
All types of criterion search operators
Public enumerationEnDirection
Direction of appointment/document (unknown/in/out)
Public enumerationEnFindOperator
Find operators for counter values - simplified subset of the full set of operators
Public enumerationEnFreeBusy
Determines whether an appointment causes conflicts in the diary or not
Public enumerationEnMoveActivitiesAction
Enum for the different choices when moving activities
Public enumerationEnParticipantType
Type of participant in a booking - determines how should the invitation be handled
Public enumerationEnPublishType
Publish an appointment/project/document to the extra-net
Public enumerationEnQuoteStatus
Enum for the state of a quote-alternative or line
Public enumerationEnQuoteVersionState
Enum for current state of a Quote version
Public enumerationEnRecurrencePattern
The main recurrence pattern - determines how frequently appointments recur
Public enumerationEnRecurrenceSubPattern
Variations on the main recurrence pattern. Not all patterns have sub-variations.
Public enumerationEnRecurrenceUpdateMode
Determines how changes to an appointment should be copied to the rest of a recurrence series
Public enumerationEnRecurrenceWeekDays
Weekdays can be added together to indicate recurrence on two days of the week.
Public enumerationEnRelationshipToOwner
Role defines datarights using these relationships between objects
Public enumerationEnResponse
User's response to an invitation: accept or reject the appointment
Public enumerationEnSaleStatus
Status of sale (open/sold/lost)
Public enumerationEnUDefType
What thing is the user defined field attached to? Actually, parents of user-def fields
Public enumerationEnUrlEncoding
Enum for the possible URL encodings of a string
Public enumerationEnValueOverride
Enum indicating if has a pre-calculated value been overriden in a QuoteAlternative or QuoteLine, and in that case what & how?
Public enumerationEPrefLevel
at what level of specificity is the preference stored? SOPreference.Get
Public enumerationEPrivacyLevel
Visible for settings. Private to group means that the PrivateToGroup property can be used to select the group. SODocument.Private
Public enumerationESelectionType
What kind of selection: static, dynamic or combined
Public enumerationESentryType
Enumeration of all valid sentry types
Public enumerationEUDefFieldType
Type of edit field used when editing the value in the user-interface SOUdefField.FieldType
Public enumerationSOTableId
SuperOffice Database tables are identified by a number.