CAllCrmActivity::SynchronizeUserActivity

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CAllCrmActivity
  4. SynchronizeUserActivity
  • Модуль: 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(); }

Добавить комментарий