- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/counter/monitor/entitychange.php
- Класс: Bitrix\Crm\Counter\Monitor\EntityChange
- Вызов: EntityChange::create
static function create(
int $entityTypeId,
int $entityId,
array $oldFields,
array $newFields
): ?self
{
$factory = Container::getInstance()->getFactory($entityTypeId);
if (!$factory)
{
return null;
}
if ($entityId <= 0)
{
return null;
}
$assignedByFiledName = $factory->getEntityFieldNameByMap(Item::FIELD_NAME_ASSIGNED);
$stageIdFieldName = $factory->getEntityFieldNameByMap(Item::FIELD_NAME_STAGE_ID);
$categoryIdFieldName = $factory->getEntityFieldNameByMap(Item::FIELD_NAME_CATEGORY_ID);
$change = new self(
new ItemIdentifier($entityTypeId, $entityId),
isset($oldFields[$assignedByFiledName]) ? (int)$oldFields[$assignedByFiledName] : null,
isset($newFields[$assignedByFiledName]) ? (int)$newFields[$assignedByFiledName] : null,
isset($oldFields[$stageIdFieldName]) ? (string)$oldFields[$stageIdFieldName] : null,
isset($newFields[$stageIdFieldName]) ? (string)$newFields[$stageIdFieldName] : null,
isset($oldFields[$categoryIdFieldName]) ? (int)$oldFields[$categoryIdFieldName] : null,
isset($newFields[$categoryIdFieldName]) ? (int)$newFields[$categoryIdFieldName] : null
);
return $change;
}