- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/connectors/client.php
- Класс: Bitrix\Sender\Integration\Crm\Connectors\Client
- Вызов: Client::getUiFilterPresets
static function getUiFilterPresets()
{
$list = array(
'crm_client_all' => array(
'name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_ALL'),
'sender_segment_name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_SEGMENT_ALL'),
'fields' => array(
self::FIELD_FOR_PRESET_ALL => self::YES,
)
),
'crm_client_deal_in_work' => array(
'name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_DEAL_INW'),
'sender_segment_name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_SEGMENT_DEAL_INW'),
'fields' => array(
'DEAL_STAGE_SEMANTIC_ID' => array(PhaseSemantics::PROCESS),
)
),
'crm_client_deal_won' => array(
'name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_DEAL_WON'),
'sender_segment_name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_SEGMENT_DEAL_WON'),
'fields' => array(
'DEAL_STAGE_SEMANTIC_ID' => array(PhaseSemantics::SUCCESS),
)
),
'crm_client_deal_loose' => array(
'name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_DEAL_LOOSE'),
'sender_segment_name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_SEGMENT_DEAL_LOOSE'),
'fields' => array(
'DEAL_STAGE_SEMANTIC_ID' => array(PhaseSemantics::FAILURE),
)
),
'crm_client_birthday' => array(
'name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_BIRTH'),
'sender_segment_name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_SEGMENT_BIRTH'),
'sender_segment_business_case' => true,
'fields' => array(
'CONTACT_BIRTHDATE_datesel' => 'NEXT_DAY',
'CONTACT_BIRTHDATE_days' => '5',
'CONTACT_BIRTHDATE_allow_year' => '0',
'CLIENT_TYPE' => \CCrmOwnerType::ContactName
)
),
'crm_client_aft_deal_clo' => array(
'name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_AFTER_CLOSE_DEAL'),
'sender_segment_name' => Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_SEGMENT_AFTER_CLOSE_DEAL'),
'sender_segment_business_case' => true,
'fields' => array(
'DEAL_CLOSEDATE_datesel' => 'PREV_DAY',
'DEAL_CLOSEDATE_days' => "30",
'DEAL_CLOSEDATE_allow_year' => '1',
)
),
);
foreach (Holiday::getList() as $holiday)
{
$code = $holiday->getCode();
$name = $holiday->getName(
Loc::getMessage('SENDER_INTEGRATION_CRM_CONNECTOR_CLIENT_PRESET_HOLIDAY'),
'%holiday_name%'
);
$list["crm_client_$code"] = [
'name' => $name,
'sender_segment_name' => $name,
'sender_segment_business_case' => true,
'fields' => [
'DEAL_DATE_CREATE_datesel' => 'RANGE',
'DEAL_DATE_CREATE_from' => $holiday->getDateFrom()->toString(),
'DEAL_DATE_CREATE_to' => $holiday->getDateTo()->toString(),
'DEAL_DATE_CREATE_allow_year' => '0',
]
];
}
return $list;
}