- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/crmentitydataprovider.php
- Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\CrmEntityDataProvider
- Вызов: CrmEntityDataProvider::getComplexFieldData
private function getComplexFieldData(string $fieldName, array $fieldDescription, string $dataProviderClass): array
{
if (!is_a($dataProviderClass, DataProvider::class, true))
{
return [];
}
$data = [];
$value = $this->getValue($fieldName);
if (!is_a($value, $dataProviderClass) && !empty($value))
{
$value = DataProviderManager::getInstance()->getValueFromList($value);
$value = DataProviderManager::getInstance()->createDataProvider($fieldDescription, $value, $this, $fieldName);
}
if (is_a($value, $dataProviderClass))
{
$data = DataProviderManager::getInstance()->getArray($value);
}
return $data;
}