static function getMap()
{
return array(
'ID' => array(
'data_type' => 'integer',
'primary' => true,
'autocomplete' => true,
),
'CODE' => array(
'data_type' => 'string',
'validation' => function ()
{
return array(
//new EntityValidatorUnique
);
}
),
'NAME' => array(
'data_type' => 'string',
'required' => true,
'title' => Loc::getMessage('SENDER_ENTITY_GROUP_FIELD_TITLE_NAME')
),
'DATE_INSERT' => array(
'data_type' => 'datetime',
'required' => true,
'default_value' => new TypeDateTime(),
),
'DATE_UPDATE' => array(
'data_type' => 'datetime',
'required' => true,
'default_value' => new TypeDateTime(),
),
'DATE_USE' => array(
'data_type' => 'datetime',
),
'DATE_USE_EXCLUDE' => array(
'data_type' => 'datetime',
),
'ACTIVE' => array(
'data_type' => 'boolean',
'required' => true,
'default_value' => 'Y',
'values' => array('N', 'Y'),
),
'HIDDEN' => array(
'data_type' => 'boolean',
'required' => true,
'default_value' => 'N',
'values' => array('N', 'Y'),
),
'IS_SYSTEM' => array(
'data_type' => 'boolean',
'required' => true,
'default_value' => 'N',
'values' => array('N', 'Y'),
),
'DESCRIPTION' => array(
'data_type' => 'string',
'title' => Loc::getMessage('SENDER_ENTITY_GROUP_FIELD_TITLE_DESCRIPTION'),
'validation' => array(__CLASS__, 'validateDescription'),
),
'SORT' => array(
'data_type' => 'integer',
'required' => true,
'default_value' => 100,
'title' => Loc::getMessage('SENDER_ENTITY_GROUP_FIELD_TITLE_SORT')
),
'ADDRESS_COUNT' => array(
'data_type' => 'integer',
'default_value' => 0,
'required' => true,
),
'USE_COUNT' => array(
'data_type' => 'integer',
'default_value' => 0,
'required' => true,
),
'USE_COUNT_EXCLUDE' => array(
'data_type' => 'integer',
'default_value' => 0,
'required' => true,
),
'GROUP_CONNECTOR' => array(
'data_type' => 'BitrixSenderGroupConnectorTable',
'reference' => array('=this.ID' => 'ref.GROUP_ID'),
),
'MAILING_GROUP' => array(
'data_type' => 'BitrixSenderMailingGroupTable',
'reference' => array('=this.ID' => 'ref.GROUP_ID'),
),
'DEAL_CATEGORY' => new ReferenceField(
'DEAL_CATEGORY',
GroupDealCategoryTable::class,
[
'=this.ID' => 'ref.GROUP_ID',
],
['join_type' => 'LEFT']
),
'STATUS' => [
'data_type' => 'string',
'default_value' => self::STATUS_NEW,
'values' => [
self::STATUS_NEW,
self::STATUS_IN_PROGRESS,
self::STATUS_READY_TO_USE,
self::STATUS_DONE,
]
],
);
}