Show / Hide Table of Contents

Class Person

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Inheritance
object
NestedPersist
EntityBase
Person
Implements
INestedPersist
ITableRowLoadHandler
IEntityUdefHelperContainer
Inherited Members
EntityBase._onGetRelatedObjects
EntityBase.GetAdditionalRelatedNestedPersistViaBaseClassAsync(List<INestedPersist>, bool, CancellationToken)
EntityBase.GetAdditionalRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)
EntityBase.OnPrimaryKeyRequestAsync(PKContainer)
EntityBase.OnPrimaryKeyUpdateAsync(PKContainer)
EntityBase.SetMarkedForDeleteOnRelatedObjects(bool)
EntityBase.UpdateSentryRelatedTableInfoInstance<MainTableInfoType>(SentryCollection, TableInfo)
EntityBase.IsDirty
EntityBase.OnGetRelatedObjects
NestedPersist._saveOwner
NestedPersist._isSaving
NestedPersist.SetSaveOwner(INestedPersist)
NestedPersist.SaveAsync()
NestedPersist.IsSaving
NestedPersist.OnElementSaved
NestedPersist.OnElementIdUpdate
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.Entities
Assembly: SoDataBase.dll
Syntax
public class Person : EntityBase, INestedPersist, ITableRowLoadHandler, IEntityUdefHelperContainer
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Constructors

Person(PersonIdxBase)

Constructor for class Person.
This object represents a row in table 'person'. Table contact: Persons in a company or an organisation

Declaration
protected Person(Person.PersonIdxBase idx)
Parameters
Type Name Description
Person.PersonIdxBase idx

ContactRowPersonRow.PersonRowIdx object that the Contact encapsulates.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Person(PersonRow, PersonIdxBase)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected Person(PersonRow row, Person.PersonIdxBase idx)
Parameters
Type Name Description
PersonRow row
Person.PersonIdxBase idx
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Fields

_address

Related HDB object(s).

Declaration
protected AddressRow _address
Field Value
Type Description
AddressRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_appointments

Related HDB object(s).

Declaration
protected AppointmentCollection _appointments
Field Value
Type Description
AppointmentCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_associate

Related HDB object(s).

Declaration
protected AssociateRow _associate
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_business

Related HDB object(s).

Declaration
protected BusinessRow _business
Field Value
Type Description
BusinessRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_category

Related HDB object(s).

Declaration
protected CategoryRow _category
Field Value
Type Description
CategoryRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_chatEmails

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected EmailRows _chatEmails
Field Value
Type Description
EmailRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_consentPersons

Related HDB object(s).

Declaration
protected ConsentPersonRows _consentPersons
Field Value
Type Description
ConsentPersonRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_contact

Related HDB object(s).

Declaration
protected Contact _contact
Field Value
Type Description
Contact
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_country

Related HDB object(s).

Declaration
protected CountryRow _country
Field Value
Type Description
CountryRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_createdAssociate

Related HDB object(s).

Declaration
protected AssociateRow _createdAssociate
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_emails

Related HDB object(s).

Declaration
protected EmailRows _emails
Field Value
Type Description
EmailRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_faxes

Related HDB object(s).

Declaration
protected PhoneRows _faxes
Field Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_info

Related HDB object(s).

Declaration
protected TextRow _info
Field Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_interests

Related HDB object(s).

Declaration
protected PersonInterestRows _interests
Field Value
Type Description
PersonInterestRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_internetPhones

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected EmailRows _internetPhones
Field Value
Type Description
EmailRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_invitations

Related HDB object(s).

Declaration
protected AppointmentCollection _invitations
Field Value
Type Description
AppointmentCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_mobilePhones

Related HDB object(s).

Declaration
protected PhoneRows _mobilePhones
Field Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_officePhones

Related HDB object(s).

Declaration
protected PhoneRows _officePhones
Field Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_pagers

Related HDB object(s).

Declaration
protected PhoneRows _pagers
Field Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_position

Related HDB object(s).

Declaration
protected PersPosRow _position
Field Value
Type Description
PersPosRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_privatePhones

Related HDB object(s).

Declaration
protected PhoneRows _privatePhones
Field Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_projectMemberships

Related HDB object(s).

Declaration
protected ProjectMemberCollection _projectMemberships
Field Value
Type Description
ProjectMemberCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_row

HDB object this entity is a facade for.

Declaration
protected PersonRow _row
Field Value
Type Description
PersonRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_rowIdx

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected Person.PersonIdxBase _rowIdx
Field Value
Type Description
Person.PersonIdxBase
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_saleHistory

Related HDB object(s).

Declaration
protected SaleHistRows _saleHistory
Field Value
Type Description
SaleHistRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_sales

Related HDB object(s).

Declaration
protected SaleCollection _sales
Field Value
Type Description
SaleCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_selectionMemberships

Related HDB object(s).

Declaration
protected SelectionMemberRows _selectionMemberships
Field Value
Type Description
SelectionMemberRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_shipmentTypeReservations

Related HDB object(s).

Declaration
protected ShipmentTypeReservationRows _shipmentTypeReservations
Field Value
Type Description
ShipmentTypeReservationRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_udefLarge

Related HDB object(s).

Declaration
protected UDPersonLargeRow _udefLarge
Field Value
Type Description
UDPersonLargeRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_udefSmall

Related HDB object(s).

Declaration
protected UDPersonSmallRow _udefSmall
Field Value
Type Description
UDPersonSmallRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_updatedAssociate

Related HDB object(s).

Declaration
protected AssociateRow _updatedAssociate
Field Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

_urls

Related HDB object(s).

Declaration
protected URLRows _urls
Field Value
Type Description
URLRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Properties

ActiveInterests

"Number of records in pintr table; select count(*) from pintr pi where pi.person_id = this.person_id == activeInterests is always true"

Declaration
public short ActiveInterests { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Address

Related object AddressRow: Contact and Person addresses

Declaration
public AddressRow Address { get; set; }
Property Value
Type Description
AddressRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Associate

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow Associate { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Business

Related object BusinessRow: Business list table

Declaration
public BusinessRow Business { get; set; }
Property Value
Type Description
BusinessRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Category

Related object CategoryRow: Category list table

Declaration
public CategoryRow Category { get; set; }
Property Value
Type Description
CategoryRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Contact

Related object Contact: Companies and Organisations

Declaration
public Contact Contact { get; set; }
Property Value
Type Description
Contact
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Country

Related object CountryRow: Country information

Declaration
public CountryRow Country { get; set; }
Property Value
Type Description
CountryRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

CreatedAssociate

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow CreatedAssociate { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

CustomFields

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public EntityCustomFieldsHelper CustomFields { get; }
Property Value
Type Description
EntityCustomFieldsHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

DayOfBirth

Birth date (day of month)

Declaration
public short DayOfBirth { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Department

Internal department address

Declaration
public string Department { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

ExtraFields

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public EntityExtraFieldsHelper ExtraFields { get; }
Property Value
Type Description
EntityExtraFieldsHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Faxes

Related object PhoneRows: Contact and Person phonenumbers (+fax)

Declaration
public PhoneRows Faxes { get; }
Property Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Firstname

First name

Declaration
public string Firstname { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Gender

Male/female. No jokes please. To be used for selecting correct salutations & grammar. 0 = unknown, 1 = female, 2 = male

Declaration
public short Gender { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GroupId

Our contact's original group, if this is a B2C person, otherwise mirror of contact.group_id

Declaration
public int GroupId { get; set; }
Property Value
Type Description
int
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Info

Related object TextRow: Long text fields from all over the system

Declaration
public TextRow Info { get; set; }
Property Value
Type Description
TextRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Initials

Where Pierre van Mever becomes P. van Mever. Actually, initials to be used in formal addresses, mostly in the Ducth market

Declaration
public string Initials { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

IsDeleted

Is the row deleted?

Declaration
public override bool IsDeleted { get; }
Property Value
Type Description
bool
Overrides
NestedPersist.IsDeleted
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

IsMarkedForDelete

Gets or sets a value indicating whether this instance is marked for delete.

Declaration
public override bool IsMarkedForDelete { get; set; }
Property Value
Type Description
bool

true if this instance is marked for delete; otherwise, false.

Overrides
NestedPersist.IsMarkedForDelete
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

IsNew

Is the row new, e.g. not been inserted to the database?

Declaration
public override bool IsNew { get; }
Property Value
Type Description
bool
Overrides
EntityBase.IsNew
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Kanafname

Kana last name, used in Japanese versions only

Declaration
public string Kanafname { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Kanalname

Kana last name, used in Japanese versions only

Declaration
public string Kanalname { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Lastname

Last name

Declaration
public string Lastname { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

MainRow

Return the main row for the Entity.

Declaration
protected override TableRowBase MainRow { get; }
Property Value
Type Description
TableRowBase
Overrides
EntityBase.MainRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

MiddleName

Middle name or 'van' etc.

Declaration
public string MiddleName { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

MobilePhones

Related object PhoneRows: Contact and Person phonenumbers (+fax)

Declaration
public PhoneRows MobilePhones { get; }
Property Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

MonthOfBirth

Birth month

Declaration
public short MonthOfBirth { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Mrmrs

e.g. Mrs sex_title

Declaration
public string Mrmrs { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Nomailing

Do not send DM's to this person

Declaration
public short Nomailing { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OfficePhones

Related object PhoneRows: Contact and Person phonenumbers (+fax)

Declaration
public PhoneRows OfficePhones { get; }
Property Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Pagers

Related object PhoneRows: Contact and Person phonenumbers (+fax)

Declaration
public PhoneRows Pagers { get; }
Property Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

PersonId

Primary key

Declaration
public int PersonId { get; }
Property Value
Type Description
int
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

PersonNumber

Alphanumeric user field

Declaration
public string PersonNumber { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

PhonePresent

flag to show there are phone registrations

Declaration
public short PhonePresent { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Position

Related object PersPosRow: PersPos list table

Declaration
public PersPosRow Position { get; set; }
Property Value
Type Description
PersPosRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Post1

Postal address, used in Japanese versions only

Declaration
public string Post1 { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Post2

Postal address, used in Japanese versions only

Declaration
public string Post2 { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Post3

Postal address, used in Japanese versions only

Declaration
public string Post3 { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

PrivatePhones

Related object PhoneRows: Contact and Person phonenumbers (+fax)

Declaration
public PhoneRows PrivatePhones { get; }
Property Value
Type Description
PhoneRows
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

ProjectMemberships

Related object ProjectMemberCollection: Project members

Declaration
public ProjectMemberCollection ProjectMemberships { get; }
Property Value
Type Description
ProjectMemberCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Rank

Display sort sequence for default sort order

Declaration
public short Rank { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Registered

Registered date

Declaration
public DateTime Registered { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Retired

1 = the user is retired and should have no rights, not appear in lists, etc.

Declaration
public short Retired { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Row

The encapsulated object PersonRow.

Declaration
public PersonRow Row { get; }
Property Value
Type Description
PersonRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Sales

Related object SaleCollection: Sales

Declaration
public SaleCollection Sales { get; }
Property Value
Type Description
SaleCollection
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Salutation

Academic title, populated from Salutation list but can be overwritten with anything at all

Declaration
public string Salutation { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Source

How did we get this person? For future integration needs

Declaration
public short Source { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

TableInfo

Get a TableInfo object for the person table.

Declaration
public PersonTableInfo TableInfo { get; }
Property Value
Type Description
PersonTableInfo
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Title

Title

Declaration
public string Title { get; set; }
Property Value
Type Description
string
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

UdefHelper

Get the Udef class of EntityUdefHelper for working with udef fields

Declaration
public EntityUdefHelper UdefHelper { get; }
Property Value
Type Description
EntityUdefHelper
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

UdefLarge

Related object UDPersonLargeRow: User-defined fields

Declaration
public UDPersonLargeRow UdefLarge { get; set; }
Property Value
Type Description
UDPersonLargeRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

UdefSmall

Related object UDPersonSmallRow: User-defined fields

Declaration
public UDPersonSmallRow UdefSmall { get; set; }
Property Value
Type Description
UDPersonSmallRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Updated

Last updated date

Declaration
public DateTime Updated { get; set; }
Property Value
Type Description
DateTime
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

UpdatedAssociate

Related object AssociateRow: Employees, resources and other users - except for External persons

Declaration
public AssociateRow UpdatedAssociate { get; set; }
Property Value
Type Description
AssociateRow
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

UpdatedCount

Number of times updated

Declaration
public short UpdatedCount { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Usepersonaddress

If 1, use person's address for mailing instead of company address

Declaration
public short Usepersonaddress { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

YearOfBirth

Birth year (4 digit)

Declaration
public short YearOfBirth { get; set; }
Property Value
Type Description
short
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Methods

CreateNew()

Create a new instance of the Person entity.

Declaration
public static Person CreateNew()
Returns
Type Description
Person

A new instance of the Person entity.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

CreateNew(PersonIdxBase)

Create a new instance of the Person entity, by reading from the database using the specified index (represented by a nested index class).

Declaration
public static Person CreateNew(Person.PersonIdxBase idx)
Parameters
Type Name Description
Person.PersonIdxBase idx

Index search, represented by a subclass if the Person.PersonIdxBase nested index class

Returns
Type Description
Person

A new instance of the Person entity.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

DeleteAsync()

Delete the row.

Declaration
public override Task DeleteAsync()
Returns
Type Description
Task
Overrides
EntityBase.DeleteAsync()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

ForceEntityUpdate()

Force Updated and UpdatedAssociate to be updated with current time and Currently logged in associate. This will again be overridden in the Database update operation by a query processor.

Declaration
protected override void ForceEntityUpdate()
Overrides
EntityBase.ForceEntityUpdate()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

FromPersonRow(PersonRow)

Operator asigning a Person from a PersonRow.

Declaration
public static Person FromPersonRow(PersonRow row)
Parameters
Type Name Description
PersonRow row

PersonRow object

Returns
Type Description
Person

Person Entity

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

FromPersonRow(PersonRow, PersonIdxBase)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public static Person FromPersonRow(PersonRow row, Person.PersonIdxBase idx)
Parameters
Type Name Description
PersonRow row
Person.PersonIdxBase idx
Returns
Type Description
Person
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetChatEmailsAsync(CancellationToken)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public Task<EmailRows> GetChatEmailsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<EmailRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetConsentPersonsAsync(CancellationToken)

Related object ConsentPersonRows: Link table between person and ConsentPerson

Declaration
public Task<ConsentPersonRows> GetConsentPersonsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<ConsentPersonRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetEmailsAsync(CancellationToken)

Related object EmailRows: Email addresses

Declaration
public Task<EmailRows> GetEmailsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<EmailRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetFromCustomSearch(CustomSearch)

Create a new instance of the Person object, and populate it with data from a custom search. If the search returns no results, an empty entity will be returned; if the result contains rows, one Person object representing the first row will be returned. Any further rows in the result will be ignored.

Declaration
public static Person GetFromCustomSearch(Person.CustomSearch query)
Parameters
Type Name Description
Person.CustomSearch query

The custom search to execute against the database

Returns
Type Description
Person

A new instance of the Person object, reflecting the result of the query.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetFromCustomSearchAsync(CustomSearch, CancellationToken)

Create a new instance of the Person object, and populate it with data from a custom search. If the search returns no results, an empty entity will be returned; if the result contains rows, one Person object representing the first row will be returned. Any further rows in the result will be ignored.

Declaration
[CreateSyncVersion(OmitNullableDirective = true)]
public static Task<Person> GetFromCustomSearchAsync(Person.CustomSearch query, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Person.CustomSearch query

The custom search to execute against the database

CancellationToken cancellationToken
Returns
Type Description
Task<Person>

A new instance of the Person object, reflecting the result of the query.

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetFromIdxPersonId(int)

Create a new instance of the Person object, by querying the database table via the index 'IDXPersId'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
public static Person GetFromIdxPersonId(int personId)
Parameters
Type Name Description
int personId

Primary key

Returns
Type Description
Person

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the Person table. Non-unique indexes have corresponding inner classes and methods in the PersonCollection collection, since they may return more than one row.

GetFromIdxPersonIdAsync(int, CancellationToken)

Create a new instance of the Person object, by querying the database table via the index 'IDXPersId'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
[CreateSyncVersion(OmitNullableDirective = true)]
public static Task<Person> GetFromIdxPersonIdAsync(int personId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int personId

Primary key

CancellationToken cancellationToken
Returns
Type Description
Task<Person>

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the Person table. Non-unique indexes have corresponding inner classes and methods in the PersonCollection collection, since they may return more than one row.

GetInterestHelperAsync(CancellationToken)

Interest helper. The helpers provide functionality that combines MDO list and 'what is actually selected', i.e., they combine entity subcollections with mdo lists. See the base class InterestHelper for more information!

Declaration
public Task<IInterestHelper> GetInterestHelperAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<IInterestHelper>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetInterestsAsync(CancellationToken)

Related object PersonInterestRows: Link table between person and person interest

Declaration
public Task<PersonInterestRows> GetInterestsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<PersonInterestRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetInternetPhonesAsync(CancellationToken)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public Task<EmailRows> GetInternetPhonesAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<EmailRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetInvitationsAsync(CancellationToken)

Related object AppointmentCollection: "Tasks, appointments, followups, phone calls; and documents"

Declaration
public Task<AppointmentCollection> GetInvitationsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<AppointmentCollection>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)

Append all the related objects to a list of INestedPersist.

Declaration
protected override Task GetRelatedNestedPersistAsync(List<INestedPersist> relatedObjects, bool lacyFetchIfNeeded, CancellationToken cancellationToken = default)
Parameters
Type Name Description
List<INestedPersist> relatedObjects

List to append related objects to.

bool lacyFetchIfNeeded
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
EntityBase.GetRelatedNestedPersistAsync(List<INestedPersist>, bool, CancellationToken)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetSaleHistoryAsync(CancellationToken)

Related object SaleHistRows: Mirror image of the Sale table, providing a full transaction history

Declaration
public Task<SaleHistRows> GetSaleHistoryAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<SaleHistRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetSelectionMembershipsAsync(CancellationToken)

Related object SelectionMemberRows: Selection members

Declaration
public Task<SelectionMemberRows> GetSelectionMembershipsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<SelectionMemberRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetShipmentTypeReservationsAsync(CancellationToken)

Related object ShipmentTypeReservationRows: Link table between person and ShipmentTypeReservation

Declaration
public Task<ShipmentTypeReservationRows> GetShipmentTypeReservationsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<ShipmentTypeReservationRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

GetUrlsAsync(CancellationToken)

Related object URLRows: Unified Resource Locators

Declaration
public Task<URLRows> GetUrlsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<URLRows>
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

IsNumberValidAsync(CancellationToken)

Validate number2 field - is it unique/blank according to numbering rules?

Declaration
public Task<bool> IsNumberValidAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<bool>

true if Number2 is ok

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnIdUpdateAsync()

Update related objects with correct id's to make sure that relations are consistent before saving to the database.

Declaration
protected override Task OnIdUpdateAsync()
Returns
Type Description
Task
Overrides
EntityBase.OnIdUpdateAsync()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnIdUpdateImplementation()

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected override void OnIdUpdateImplementation()
Overrides
EntityBase.OnIdUpdateImplementation()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnPostSaveMe()

Handle actions needed to be taken after this object has been saved, but before saving objects depending upon this one.

Declaration
protected virtual void OnPostSaveMe()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnPreIdUpdateAsync()

Allow for "fake id's" to be forced upon related objects.

Declaration
protected override Task OnPreIdUpdateAsync()
Returns
Type Description
Task
Overrides
EntityBase.OnPreIdUpdateAsync()
Remarks

In order to figure out which objects taking part of the nested save operation that actually needs to be saved, this method allows for "fake id's" to be forced upon related objects. Upon receiving the "fake id", the objects receiving such an id can determine if they needs to be persisted (e.g. saved) to the database. However, the fake id's forced upon related objects must be set to correct id's in the OnIdUpdate method taking place later in the save operation.

OnPreIdUpdateImplementationAsync()

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected override Task OnPreIdUpdateImplementationAsync()
Returns
Type Description
Task
Overrides
EntityBase.OnPreIdUpdateImplementationAsync()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnPreSaveMe()

Handle actions needed to be taken after objects this object depends on have been saved, but before this object is saved.

Declaration
protected virtual void OnPreSaveMe()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnRowLoad(SoDataReader, TableRowBase)

Event raised when the row is loaded from the database

Declaration
protected override void OnRowLoad(SoDataReader reader, TableRowBase row)
Parameters
Type Name Description
SoDataReader reader
TableRowBase row
Overrides
EntityBase.OnRowLoad(SoDataReader, TableRowBase)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnRowLoaded()

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected override void OnRowLoaded()
Overrides
EntityBase.OnRowLoaded()
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnSaveAsync(BatchSave)

Update the number of active interests so it reflects the current state

Declaration
protected override Task OnSaveAsync(BatchSave batchSave)
Parameters
Type Name Description
BatchSave batchSave
Returns
Type Description
Task
Overrides
EntityBase.OnSaveAsync(BatchSave)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

OnSavedAsync(bool)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
protected override Task OnSavedAsync(bool succeeded)
Parameters
Type Name Description
bool succeeded
Returns
Type Description
Task
Overrides
EntityBase.OnSavedAsync(bool)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

SetDefaultsAsync(DefaulterStrategy, CancellationToken)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public Task SetDefaultsAsync(DefaulterStrategy strategy, CancellationToken cancellationToken = default)
Parameters
Type Name Description
DefaulterStrategy strategy
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

SetDefaultsAsync(int, DefaulterStrategy, CancellationToken)

Set default values for the entity.

Declaration
public Task SetDefaultsAsync(int contactId, DefaulterStrategy strategy, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int contactId

Id of the contact the person belongs to.

DefaulterStrategy strategy

Strategy used when appliying default values.

CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

SetDefaultsAsync(int, CancellationToken)

Set default values for the entity.

Declaration
public Task SetDefaultsAsync(int contactId, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int contactId

Id of the contact the person belongs to.

CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

SetDefaultsAsync(CancellationToken)

Set default values for the entity.

Declaration
public Task SetDefaultsAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

UndeleteAsync(CancellationToken)

Persons in a company or an organization

Entity Object for table 'person'. Entity objects represent full entities with both the base table object and all related objects, such as udef, and things like owner associate and whatever else is logically related to the base object.
Declaration
public Task UndeleteAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

ValidateAsync(CancellationToken)

Check the entity and related objects for consistency and required fields, and return fields and error messages.

Declaration
public override Task<Dictionary<string, string>> ValidateAsync(CancellationToken cancellationToken)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<Dictionary<string, string>>

Field names and error messages

Overrides
EntityBase.ValidateAsync(CancellationToken)
Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Operators

explicit operator Person(PersonRow)

Operator assigning a Person from a PersonRow.

Declaration
public static explicit operator Person(PersonRow row)
Parameters
Type Name Description
PersonRow row

PersonRow object

Returns
Type Description
Person

Person Entity

Remarks

Entity objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the SuperOffice.CRM.Data.Person.Save method and corresponding row(s) in the database are created, and the objects' primary key field updated. This is the preferred way to insert new entities into the database.
  • You can create a (nested) Person Person.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(CustomSearch) method to apply the query to the database and obtain the result as an Entity object. This is how you select existing entities from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the SuperOffice.CRM.Data.Person.IsNew and SuperOffice.CRM.Data.Person.IsDirty properties set to true. Such an Entity object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
Non-unique indexes are handled through the PersonCollection collection, which has nested classes and GetFromIdx methods for each non-unique index. There are no 'GetFromReader' methods, since that would be rather complex (multiple TableInfo objects required).

Unique indexes on Person are:
Index fieldsNested index class name
PersonIdPersonId:

Primary key

Nested index class: Person.IdxPersonId

Static Get method: GetFromIdxPersonId(int)
Non-unique indexes on table Person are:
Index fieldsNested index class name
CategoryIdxCategoryIdx:

Category if this is a B2C person, otherwise mirror of contact.category_idx

Nested index class: PersonCollection.IdxCategoryIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxCategoryIdx
PersonNumberPersonNumber:

Alphanumeric user-field

Nested index class: PersonCollection.IdxPersonNumber

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxPersonNumber
BusinessIdxBusinessIdx:

Business if this is a B2C person, otherwise mirror of contact.business_idx

Nested index class: PersonCollection.IdxBusinessIdx

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxBusinessIdx
UserdefIdUserdefId:

User-defined table record 1

Nested index class: PersonCollection.IdxUserdefId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdefId
KanalnameKanalname:

JPN

Nested index class: PersonCollection.IdxKanalname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanalname
LastnameLastname:

Last name

Nested index class: PersonCollection.IdxLastname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxLastname
ContactIdContactId:

Owning contact ID, 0 is not allowed

Nested index class: PersonCollection.IdxContactId

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactId
Userdef2IdUserdef2Id:

User-defined table record 2

Nested index class: PersonCollection.IdxUserdef2Id

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxUserdef2Id
FirstnameFirstname:

First name

Nested index class: PersonCollection.IdxFirstname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxFirstname
SourceSource:

How did we get this person? For future integration requirements

Nested index class: PersonCollection.IdxSource

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxSource
KanafnameKanafname:

JPN

Nested index class: PersonCollection.IdxKanafname

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxKanafname
ContactId, RankContactId:

Owning contact ID, 0 is not allowed

Rank:

Display sort sequence; person with rank 1 has special role in selections (rank is unique within each contact and starts on 1).

Nested index class: PersonCollection.IdxContactIdRank

Static Get method: SuperOffice.CRM.Entities.PersonCollection.GetFromIdxContactIdRank

Implements

INestedPersist
ITableRowLoadHandler
IEntityUdefHelperContainer

Extension Methods

EnumUtil.MapEnums<From, To>(From)
PersonNameFormatter.GetFormalName(Person)
PersonNameFormatter.GetFullName(Person)
PersonNameFormatter.GetFullName(Person, PersonNameFormatter.NameFormatStylePreference)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top