• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/ml/model/dealscoring.php
  • Класс: Bitrix\Crm\Ml\Model\DealScoring
  • Вызов: DealScoring::getUserFieldName
static function getUserFieldName()
{
	static $result;

	if (!is_null($result))
	{
		return $result;
	}

	$result = [];
	$dealUserType = new CCrmUserType(
		$GLOBALS['USER_FIELD_MANAGER'],
		CCrmDeal::GetUserFieldEntityID()
	);

	$userFields = $dealUserType->GetFields();
	foreach ($userFields as $fieldName => $fieldDescription)
	{
		switch ($fieldDescription["USER_TYPE_ID"])
		{
			case "enumeration":
			case "string":
				$result[$fieldDescription["FIELD_NAME"]] = ["dataType" => "text"];
				break;
			case "boolean":
				$result[$fieldDescription["FIELD_NAME"]] = ["dataType" => "bool"];
				break;
			case "integer":
			case "double":
				$result[$fieldDescription["FIELD_NAME"]] = ["dataType" => "int"];
				break;
			case "date":
				$result[$fieldDescription["FIELD_NAME"]."_DAY_OF_WEEK"] = ["dataType" => "string"];
				$result[$fieldDescription["FIELD_NAME"]."_MONTH"] = ["dataType" => "string"];
				break;
			case "datetime":
				$result[$fieldDescription["FIELD_NAME"]."_DAY_OF_WEEK"] = ["dataType" => "string"];
				$result[$fieldDescription["FIELD_NAME"]."_MONTH"] = ["dataType" => "string"];
				$result[$fieldDescription["FIELD_NAME"]."_TIME"] = ["dataType" => "string"];
				break;
			default:
				$result[$fieldName."_FILLED"] = ["dataType" => "bool"];
				break;
		}
	}

	return $result;
}