CCrmStatus::Update

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmStatus
  4. Update
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_status.php
  • Класс: \CCrmStatus
  • Вызов: CCrmStatus::Update
public function Update($ID, array $arFields, array $arOptions = array())
{
	$ID = (int) $ID;
	$this->LAST_ERROR = '';

	if (!$this->CheckFields($arFields))
	{
		return false;
	}

	$arFields['SORT'] = (int)$arFields['SORT'];
	if($arFields['SORT'] <= 0)
	{
		$arFields['SORT'] = 10;
	}

	$arFields_u['SORT'] = $arFields['SORT'];
	if(!empty($arFields['NAME']))
	{
		$arFields_u['NAME'] = $arFields['NAME'];
	}

	if (isset($arFields['SYSTEM']))
	{
		$arFields_u['SYSTEM'] = ($arFields['SYSTEM'] === 'Y' ? 'Y' : 'N');
	}

	if(
		isset($arOptions['ENABLE_STATUS_ID'])
		&& $arOptions['ENABLE_STATUS_ID']
		&& isset($arFields['STATUS_ID']))
	{
		$arFields_u['STATUS_ID'] = $arFields['STATUS_ID'];
	}

	if(
		isset($arOptions['ENABLE_NAME_INIT'])
		&& $arOptions['ENABLE_NAME_INIT']
		&& isset($arFields['NAME_INIT']))
	{
		$arFields_u['NAME_INIT'] = $arFields['NAME_INIT'];
	}

	if(isset($arFields['COLOR']))
	{
		if(mb_strpos($arFields['COLOR'], '#') !== 0)
		{
			$arFields['COLOR'] = '#' . $arFields['COLOR'];
		}
		$arFields_u['COLOR'] = $arFields['COLOR'];
	}
	if(isset($arFields['SEMANTICS']))
	{
		$arFields_u['SEMANTICS'] = $arFields['SEMANTICS'];
	}

	$result = StatusTable::update($ID, $arFields_u);
	if(!$result->isSuccess())
	{
		$this->LAST_ERROR = $result->getErrorMessages()[0];
	}

	return $ID;
}

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