• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/template.php
  • Класс: BitrixDocumentGeneratorTemplate
  • Вызов: Template::getPriorityField
protected function getPriorityField(array $fields): array
{
	$resultField = [];
	$templateField = $providerField = $defaultField = null;

	foreach($fields as $field)
	{
		if($field['TEMPLATE_ID'] === $this->ID)
		{
			$templateField = $field;
			break;
		}
		elseif($field['PROVIDER'] == $this->sourceType)
		{
			$providerField = $field;
		}
		elseif(!$field['TEMPLATE_ID'] && empty($field['PROVIDER']))
		{
			$defaultField = $field;
		}
	}

	if($templateField)
	{
		$resultField = $templateField;
	}
	elseif($providerField)
	{
		if(!empty($providerField['PROVIDER_NAME']) && DataProviderManager::checkProviderName($providerField['PROVIDER_NAME']))
		{
			$providerField['PROVIDER'] = $providerField['PROVIDER_NAME'];
			unset($providerField['PROVIDER_NAME']);
		}
		else
		{
			unset($providerField['PROVIDER']);
		}
		$resultField = $providerField;
	}
	elseif($defaultField)
	{
		$resultField = $defaultField;
	}

	return $resultField;
}