protected function getFieldsSettings(): array
{
return [
Item::FIELD_NAME_ID => [
'TYPE' => Field::TYPE_INTEGER,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
],
Item::FIELD_NAME_HONORIFIC => [
'TYPE' => Field::TYPE_CRM_STATUS,
'CRM_STATUS_TYPE' => StatusTable::ENTITY_ID_HONORIFIC,
],
Item::FIELD_NAME_NAME => [
'TYPE' => Field::TYPE_STRING,
],
Item::FIELD_NAME_SECOND_NAME => [
'TYPE' => Field::TYPE_STRING,
],
Item::FIELD_NAME_LAST_NAME => [
'TYPE' => Field::TYPE_STRING,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::HasDefaultValue],
'CLASS' => Field\LastName::class
],
Item::FIELD_NAME_FULL_NAME => [
'TYPE' => Field::TYPE_STRING,
'ATTRIBUTES' => [
\CCrmFieldInfoAttr::Hidden,
\CCrmFieldInfoAttr::ReadOnly,
\CCrmFieldInfoAttr::AutoGenerated,
],
'CLASS' => Field\FullName::class,
],
Item\Contact::FIELD_NAME_PHOTO => [
'TYPE' => Field::TYPE_FILE,
'VALUE_TYPE' => Field::VALUE_TYPE_IMAGE,
'CLASS' => Field\Photo::class,
],
Item::FIELD_NAME_BIRTHDATE => [
'TYPE' => Field::TYPE_DATE,
],
Item::FIELD_NAME_BIRTHDAY_SORT => [
'TYPE' => Field::TYPE_INTEGER,
'ATTRIBUTES' => [
\CCrmFieldInfoAttr::Hidden,
\CCrmFieldInfoAttr::ReadOnly,
\CCrmFieldInfoAttr::AutoGenerated,
],
'CLASS' => Field\BirthdaySort::class,
],
Item::FIELD_NAME_TYPE_ID => [
'TYPE' => Field::TYPE_CRM_STATUS,
'CRM_STATUS_TYPE' => StatusTable::ENTITY_ID_CONTACT_TYPE,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::HasDefaultValue],
],
Item::FIELD_NAME_SOURCE_ID => [
'TYPE' => Field::TYPE_CRM_STATUS,
'CRM_STATUS_TYPE' => StatusTable::ENTITY_ID_SOURCE,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::HasDefaultValue],
],
Item::FIELD_NAME_SOURCE_DESCRIPTION => [
'TYPE' => Field::TYPE_TEXT,
],
Item::FIELD_NAME_POST => [
'TYPE' => Field::TYPE_STRING,
],
Item::FIELD_NAME_COMMENTS => [
'TYPE' => Field::TYPE_TEXT,
'VALUE_TYPE' => Field::VALUE_TYPE_BB,
'ATTRIBUTES' => [],
'CLASS' => Field\Comments::class,
],
Item::FIELD_NAME_OPENED => [
'TYPE' => Field::TYPE_BOOLEAN,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::Required],
'CLASS' => Field\Opened::class,
],
Item\Contact::FIELD_NAME_EXPORT => [
'TYPE' => Field::TYPE_BOOLEAN,
'ATTRIBUTES' => [],
],
Item::FIELD_NAME_HAS_PHONE => [
'TYPE' => Field::TYPE_BOOLEAN,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\HasPhone::class,
],
Item::FIELD_NAME_HAS_EMAIL => [
'TYPE' => Field::TYPE_BOOLEAN,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\HasEmail::class,
],
Item::FIELD_NAME_HAS_IMOL => [
'TYPE' => Field::TYPE_BOOLEAN,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\HasImol::class,
],
Item::FIELD_NAME_ASSIGNED => [
'TYPE' => Field::TYPE_USER,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::CanNotBeEmptied, \CCrmFieldInfoAttr::HasDefaultValue],
'CLASS' => Field\Assigned::class,
],
Item::FIELD_NAME_CREATED_BY => [
'TYPE' => Field::TYPE_USER,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\CreatedBy::class,
],
Item::FIELD_NAME_UPDATED_BY => [
'TYPE' => Field::TYPE_USER,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\UpdatedBy::class,
],
Item::FIELD_NAME_LAST_ACTIVITY_BY => [
'TYPE' => Field::TYPE_USER,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
],
Item::FIELD_NAME_CREATED_TIME => [
'TYPE' => Field::TYPE_DATETIME,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\CreatedTime::class,
],
Item::FIELD_NAME_UPDATED_TIME => [
'TYPE' => Field::TYPE_DATETIME,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\UpdatedTime::class,
],
Item::FIELD_NAME_LAST_ACTIVITY_TIME => [
'TYPE' => Field::TYPE_DATETIME,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::ReadOnly, \CCrmFieldInfoAttr::AutoGenerated],
'CLASS' => Field\LastActivityTime::class,
],
Item::FIELD_NAME_COMPANY_ID => [
'TYPE' => Field::TYPE_CRM_COMPANY,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::NotDisplayed, \CCrmFieldInfoAttr::Deprecated],
],
Item\Contact::FIELD_NAME_COMPANY_IDS => [
'TYPE' => Field::TYPE_CRM_COMPANY,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::Multiple],
],
Item\Contact::FIELD_NAME_COMPANIES => [
'TYPE' => Field::TYPE_CRM_COMPANY,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::Multiple]
],
Item::FIELD_NAME_LEAD_ID => [
'TYPE' => Field::TYPE_CRM_LEAD,
'SETTINGS' => [
'parentEntityTypeId' => \CCrmOwnerType::Lead,
],
],
Item::FIELD_NAME_ORIGINATOR_ID => [
'TYPE' => Field::TYPE_STRING,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::NotDisplayed],
],
Item::FIELD_NAME_ORIGIN_ID => [
'TYPE' => Field::TYPE_STRING,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::NotDisplayed],
],
Item::FIELD_NAME_ORIGIN_VERSION => [
'TYPE' => Field::TYPE_STRING,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::NotDisplayed],
],
Item::FIELD_NAME_FACE_ID => [
'TYPE' => Field::TYPE_INTEGER,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::Hidden],
],
Item::FIELD_NAME_CATEGORY_ID => [
'TYPE' => Field::TYPE_CRM_CATEGORY,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::NotDisplayed, \CCrmFieldInfoAttr::HasDefaultValue],
'CLASS' => Field\Category::class,
],
Item::FIELD_NAME_FM => [
'TYPE' => Field::TYPE_CRM_MULTIFIELD,
'ATTRIBUTES' => [\CCrmFieldInfoAttr::Multiple],
'CLASS' => Field\Multifield::class,
],
];
}