- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/entity/compatibility/adapter/operation.php
- Класс: Bitrix\Crm\Entity\Compatibility\Adapter\Operation
- Вызов: Operation::exposeFields
private function exposeFields(
array $compatibleData,
array $providedFields,
array $fieldsToExposeAdditionally,
bool $exposeAllUserFields
): array
{
$result = [];
foreach ($providedFields as $providedFieldName => $providedValue)
{
if (array_key_exists($providedFieldName, $compatibleData))
{
$result[$providedFieldName] = $compatibleData[$providedFieldName];
}
else
{
$result[$providedFieldName] = $providedValue;
}
}
foreach ($compatibleData as $fieldName => $value)
{
if (
in_array($fieldName, $fieldsToExposeAdditionally, true)
|| ($exposeAllUserFields && mb_strpos($fieldName, 'UF_') === 0)
)
{
$result[$fieldName] = $value;
}
}
return $result;
}