• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/dataprovidermanager.php
  • Класс: BitrixDocumentGeneratorDataProviderManager
  • Вызов: DataProviderManager::getValueByType
protected function getValueByType($value, $type, $format)
{
	if(empty($value) && !is_numeric($value))
	{
		return $value;
	}
	if($value instanceof Value)
	{
		return $value;
	}
	if($type === DataProvider::FIELD_TYPE_DATE || $value instanceof Date)
	{
		$value = new DateTime($value, $format);
	}
	elseif($type === DataProvider::FIELD_TYPE_NAME && is_array($value))
	{
		$value = new Name($value, $format);
	}
	elseif($type === DataProvider::FIELD_TYPE_PHONE)
	{
		$value = new PhoneNumber($value, $format);
	}
	elseif(is_a($type, Value::class, true))
	{
		$value = new $type($value, $format);
	}

	return $value;
}