- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/update/entity/lastactivityfields.php
- Класс: Bitrix\Crm\Update\Entity\LastActivityFields
- Вызов: LastActivityFields::getRowsToProcess
private function getRowsToProcess(Factory $factory, ?int $lastId): Collection
{
$query = $factory->getDataClass()::query();
$select = [
Item::FIELD_NAME_ID,
$factory->getEntityFieldNameByMap(Item::FIELD_NAME_CREATED_TIME),
$factory->getEntityFieldNameByMap(Item::FIELD_NAME_CREATED_BY),
];
if ($factory->isFieldExists(Item::FIELD_NAME_LAST_ACTIVITY_TIME))
{
$select[] = $factory->getEntityFieldNameByMap(Item::FIELD_NAME_LAST_ACTIVITY_TIME);
}
if ($factory->isFieldExists(Item::FIELD_NAME_LAST_ACTIVITY_BY))
{
$select[] = $factory->getEntityFieldNameByMap(Item::FIELD_NAME_LAST_ACTIVITY_BY);
}
$query
->setSelect($select)
->setOrder([
Item::FIELD_NAME_ID => 'ASC',
])
->setLimit(self::getSingleEntityStepLimit())
;
if (!is_null($lastId))
{
$query->where(Item::FIELD_NAME_ID, '>', $lastId);
}
return $query->exec()->fetchCollection();
}