• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Field/Number.php
  • Класс: Bitrix\Crm\Field\Number
  • Вызов: Number::processAfterSave
public function processAfterSave(Item $itemBeforeSave, Item $item, Context $context = null): FieldAfterSaveResult
{
	$result = new FieldAfterSaveResult();

	if ($itemBeforeSave->isNew() && empty($item->get($this->getName())))
	{
		$number = $this->getNumberByEvent($item->getId());
		if (!$number)
		{
			$number = $this->getNumberByNumerator($item->getId());
		}
		if (!$number)
		{
			$number = $item->getId();
			if (!$this->isValueUnique($number))
			{
				$number = null;
			}
		}
		if ($number)
		{
			$result->setNewValue($this->getName(), $number);
		}
		else
		{
			$result->addError(new Error('Could not generate new number'));
		}
	}

	return $result;
}