- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/update/entity/lastactivityfields.php
- Класс: Bitrix\Crm\Update\Entity\LastActivityFields
- Вызов: LastActivityFields::processRow
private function processRow(Factory $factory, EntityObject $row): void
{
$identifier = new ItemIdentifier($factory->getEntityTypeId(), $row->getId());
[$lastActivityTime, $lastActivityBy] = $this->monitor->calculateLastActivityInfo($identifier);
$lastActivityTime ??= $row->get($factory->getEntityFieldNameByMap(Item::FIELD_NAME_CREATED_TIME));
$lastActivityBy ??= $row->get($factory->getEntityFieldNameByMap(Item::FIELD_NAME_CREATED_BY));
if ($factory->isFieldExists(Item::FIELD_NAME_LAST_ACTIVITY_TIME))
{
$row->set(
$factory->getEntityFieldNameByMap(Item::FIELD_NAME_LAST_ACTIVITY_TIME),
$lastActivityTime,
);
}
if ($factory->isFieldExists(Item::FIELD_NAME_LAST_ACTIVITY_BY))
{
$row->set(
$factory->getEntityFieldNameByMap(Item::FIELD_NAME_LAST_ACTIVITY_BY),
$lastActivityBy,
);
}
$row->save();
}