- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/automation/trigger/fieldchangedtrigger.php
- Класс: Bitrix\Crm\Automation\Trigger\FieldChangedTrigger
- Вызов: FieldChangedTrigger::getFields
static function getFields($entityTypeId): array
{
$fields = array_values(Bizproc\Automation\Helper::getDocumentFields(
\CCrmBizProcHelper::ResolveDocumentType($entityTypeId))
);
$filter = function ($field) use ($entityTypeId)
{
$id = $field['Id'];
if (
$id === 'ID'
|| $id === 'LEAD_ID'
|| $id === 'DEAL_ID'
|| $id === 'CONTACT_ID'
|| $id === 'CONTACT_IDS'
|| $id === 'COMPANY_ID'
|| $id === 'CREATED_BY_ID'
|| $id === 'MODIFY_BY_ID'
|| $id === 'DATE_CREATE'
|| $id === 'DATE_MODIFY'
|| $id === 'WEBFORM_ID'
|| $id === 'STATUS_ID'
|| $id === 'STAGE_ID'
|| $id === 'CATEGORY_ID'
|| $id === 'ORIGINATOR_ID'
|| $id === 'ORIGIN_ID'
|| $field['Type'] === 'phone'
|| $field['Type'] === 'web'
|| $field['Type'] === 'email'
|| $field['Type'] === 'im'
|| strpos($id, 'EVENT_') === 0
|| strpos($id, 'PHONE_') === 0
|| strpos($id, 'WEB_') === 0
|| strpos($id, 'EMAIL_') === 0
|| strpos($id, 'IM_') === 0
|| strpos($id, 'OPPORTUNITY') !== false
|| strpos($id, 'CURRENCY_ID') !== false
|| strpos($id, 'ASSIGNED_BY') !== false
|| strpos($id, 'RESPONSIBLE') !== false
|| strpos($id, '.') !== false
|| strpos($id, '_PRINTABLE') !== false
|| ($entityTypeId === \CCrmOwnerType::Order && strpos($id, 'UF_') === 0)
)
{
return false;
}
return true;
};
return array_values(array_filter($fields, $filter));
}