- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/posting/builder.php
- Класс: BitrixSenderPostingBuilder
- Вызов: Builder::checkUsedFields
protected function checkUsedFields($entityType, $ids, $usedPersonalizeFields, &$dataList)
{
$usedFields = [];
foreach ($usedPersonalizeFields as $personalizeField)
{
foreach ($personalizeField as $usedField)
{
$usedFieldExploded = explode('.', $usedField);
if (
$entityType == $usedFieldExploded[0] &&
isset
(
$usedFieldExploded[1]
))
{
unset($usedFieldExploded[0]);
$usedFields[$usedField] = implode('.', $usedFieldExploded);
}
}
}
$fields = IntegrationCrmConnectorsHelper::getData(
$entityType, $ids, $usedFields
);
foreach ($fields as &$entity)
{
foreach ($entity as $key => $field)
{
$entity[$entityType.'.'.$key] = $field;
unset($entity[$key]);
}
}
foreach($dataList as &$data)
{
if(
isset($fields[(int)$data['FIELDS']['CRM_ENTITY_ID']])
&& $data['FIELDS']['CRM_ENTITY_TYPE'] === $entityType
)
{
$data['FIELDS'] = array_merge(
$data['FIELDS'],
$fields[$data['FIELDS']['CRM_ENTITY_ID']]
);
}
}
return $usedFields;
}