- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/fieldmultitable.php
- Класс: Bitrix\Crm\FieldMultiTable
- Вызов: FieldMultiTable::prepareItemData
static function prepareItemData(array $row): ?array
{
$value = $row['VALUE'] ?? '';
if(empty($value))
{
return null;
}
$valueType = $row['VALUE_TYPE'];
$multiFieldComplexID = $row['COMPLEX_ID'];
$typeID = $row['TYPE_ID'];
if(
$typeID === 'PHONE'
|| $typeID === 'EMAIL'
|| ($typeID === 'IM' && static::isImOpenLinesValue($value))
)
{
$formattedValue = $typeID === 'PHONE'
? Parser::getInstance()->parse($value)->format()
: $value;
// keys are a mess, made to fit data from old api.
return [
'ID' => $row['ID'],
'TYPE_ID' => $typeID,
'ENTITY_ID' => $row['ELEMENT_ID'],
'ELEMENT_ID' => $row['ELEMENT_ID'],
'ENTITY_TYPE_NAME' => \CCrmOwnerType::ResolveName($row['ENTITY_ID']),
'ENTITY_TYPE_ID' => $row['ENTITY_ID'],
'VALUE' => $value,
'VALUE_TYPE' => $valueType,
'VALUE_FORMATTED' => $formattedValue,
'COMPLEX_ID' => $multiFieldComplexID,
'COMPLEX_NAME' => \CCrmFieldMulti::GetEntityNameByComplex($multiFieldComplexID, false),
];
}
return null;
}