...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_activity.php
- Класс: \CAllCrmActivity
- Вызов: CAllCrmActivity::SynchronizeUserActivity
static function SynchronizeUserActivity($ownerTypeID, $ownerID, $userID) { $ownerTypeID = intval($ownerTypeID); $ownerID = intval($ownerID); $userID = intval($userID); if($userID < 0) { $userID = 0; } if($ownerTypeID <= CCrmOwnerType::Undefined || $ownerID <= 0) { return; } $arResult = CCrmActivity::GetNearest($ownerTypeID, $ownerID, $userID); if(is_array($arResult)) { $activityID = isset($arResult['ID']) ? intval($arResult['ID']) : 0; $deadline = isset($arResult['DEADLINE']) ? $arResult['DEADLINE'] : ''; } else { $activityID = 0; $deadline = ''; } if($activityID > 0 && $deadline !== '' && CheckDateTime($deadline)) { CCrmActivity::DoSaveNearestUserActivity( array( 'USER_ID' => $userID, 'OWNER_ID' => $ownerID, 'OWNER_TYPE_ID' => $ownerTypeID, 'ACTIVITY_ID' => $activityID, 'ACTIVITY_TIME' => $deadline, 'SORT' => ($userID > 0 ? '1' : '0').date('YmdHis', MakeTimeStamp($deadline) - CTimeZone::GetOffset()) ) ); } else { global $DB; $tableName = CCrmActivity::USER_ACTIVITY_TABLE_NAME; $DB->Query( "DELETE FROM {$tableName} WHERE USER_ID = {$userID} AND OWNER_TYPE_ID = {$ownerTypeID} AND OWNER_ID = {$ownerID}", false, 'File: '.__FILE__.'
Line: '.__LINE__ ); } $counter = new CCrmUserCounter($userID, CCrmUserCounter::CurrentActivies); $counter->Synchronize(); }