• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/publicaction/form.php
  • Класс: BitrixLandingPublicActionForm
  • Вызов: Form::getCrmFields
static function getCrmFields(?array $options = null)
{
	if (
		Loader::includeModule('crm')
		&& static::checkFormPermission()
	)
	{
		$hiddenTypes = [];
		if ((int)($options['hideVirtual'] ?? 0))
		{
			$hiddenTypes[] = EntityFieldProvider::TYPE_VIRTUAL;
		}
		if ((int)($options['hideRequisites'] ?? 1))
		{
			$hiddenTypes[] = CCrmOwnerType::Requisite;
		}
		if ((int)($options['hideSmartDocument'] ?? 0))
		{
			$hiddenTypes[] = CCrmOwnerType::SmartDocument;
		}

		if (isset($options['presetId']) && is_numeric($options['presetId']))
		{
			$presetId = (int)$options['presetId'];
		}
		else
		{
			$presetId = null;
		}

		$fields = EntityFieldProvider::getFieldsTree($hiddenTypes, $presetId);
		foreach ($fields as $key => $item)
		{
			if (strpos($key, 'DYNAMIC_') === 0)
			{
				$dynamicId = str_replace('DYNAMIC_', '', $key);
				$fields[$key]["DYNAMIC_ID"] = CCrmOwnerType::ResolveUserFieldEntityID($dynamicId);
			}
		}
	}
	else
	{
		$fields = [];
	}

	$publicActionResult = new PublicActionResult();
	$publicActionResult->setResult($fields);

	return $publicActionResult;
}