• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/entity/entityeditor.php
  • Класс: Bitrix\Crm\Entity\EntityEditor
  • Вызов: EntityEditor::prepareMultiFieldDataModel
static function prepareMultiFieldDataModel($entityTypeID, $entityID, $typeID, array &$entityMultiFields, array $params = null)
{
	$entityTypeName = \CCrmOwnerType::ResolveName($entityTypeID);
	$multiFieldEntityTypes = \CCrmFieldMulti::GetEntityTypes();
	$multiFieldViewClassNames = array(
		'PHONE' => 'crm-entity-phone-number',
		'EMAIL' => 'crm-entity-email',
		'IM' => 'crm-entity-phone-number'
	);

	for($i = 0, $length = count($entityMultiFields); $i < $length; $i++)
	{
		$value = $entityMultiFields[$i]['VALUE'];
		$valueTypeID = $entityMultiFields[$i]['VALUE_TYPE'];
		$multiFieldEntityType = $multiFieldEntityTypes[$typeID];

		$entityMultiFields[$i] =
			array_merge(
				$entityMultiFields[$i],
				array(
					'VIEW_DATA' => \CCrmViewHelper::PrepareMultiFieldValueItemData(
						$typeID,
						array(
							'VALUE' => $value,
							'VALUE_TYPE_ID' => $valueTypeID,
							'VALUE_TYPE' => isset($multiFieldEntityType[$valueTypeID]) ? $multiFieldEntityType[$valueTypeID] : null,
							'CLASS_NAME' => isset($multiFieldViewClassNames[$typeID]) ? $multiFieldViewClassNames[$typeID] : ''
						),
						array(
							'ENABLE_SIP' => false,
							'SIP_PARAMS' => array(
								'ENTITY_TYPE_NAME' => $entityTypeName,
								'ENTITY_ID' => $entityID,
								'AUTO_FOLD' => true
							)
						)
					)
				)
			);
	}
}