- Модуль: 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;
}