• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/inttype.php
  • Класс: BitrixBizprocBaseTypeIntType
  • Вызов: IntType::extractValue
static function extractValue(FieldType $fieldType, array $field, array $request)
{
	$value = Base::extractValue($fieldType, $field, $request);

	if ($value !== null && is_string($value) && $value <> '')
	{
		if (CBPActivity::isExpression($value))
			return $value;

		$value = str_replace(' ', '', $value);
		if (preg_match('#^[0-9-]+$#', $value))
		{
			$value = (int) $value;
		}
		else
		{
			$value = null;
			static::addError(array(
				'code' => 'ErrorValue',
				'message' => Loc::getMessage('BPDT_INT_INVALID'),
				'parameter' => static::generateControlName($field),
			));
		}
	}
	elseif (is_numeric($value))
	{
		$value = (int)$value;
	}
	else
	{
		$value = null;
	}

	return $value;
}