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