• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/options.php
  • Класс: Bitrix\Crm\WebForm\Options
  • Вызов: Options::getArray
public function getArray()
{
	$formData = $this->form->get();
	$config = $this->config->toArray();
	$dynamicCategory = $formData['FORM_SETTINGS']['DYNAMIC_CATEGORY'] ?? null;
	$dynamicDcEnabled = ($formData['FORM_SETTINGS']['DYNAMIC_DC_ENABLED'] ?? 'N') === 'Y';
	$refill = ($formData['FORM_SETTINGS']['REFILL']['ACTIVE'] ?? 'N') === 'Y';

	return [
		'data' => $config['data'],

		'id' => $this->form->getId(),
		'name' => $formData['NAME'],

		'templateId' => $formData['TEMPLATE_ID'],
		'presetFields' => $this->getPresetFields(),
		'payment' => [
			'use' => $formData['IS_PAY'] === 'Y',
			'payer' => '',
			'disabledSystems' => $this->convertPaySystemIds(
				$formData['FORM_SETTINGS']['DISABLED_PAY_SYSTEMS'] ?? []
			),
		],
		'captcha' => [
			'key' => ReCaptcha::getKey(2),
			'secret' => ReCaptcha::getSecret(2),
			'hasDefaults' => ReCaptcha::getDefaultKey(2) && ReCaptcha::getDefaultSecret(2)
		],
		'document' => [
			'scheme' => $formData['ENTITY_SCHEME'],
			'duplicateMode' => $formData['DUPLICATE_MODE'],
			'deal' => [
				'category' => $formData['FORM_SETTINGS']['DEAL_CATEGORY'],
				'duplicatesEnabled' => $formData['FORM_SETTINGS']['DEAL_DC_ENABLED'] === 'Y',
			],
			'dynamic' => [
				'category' => $dynamicCategory === null ? null : (int)$dynamicCategory,
				'duplicatesEnabled' => $dynamicDcEnabled,
			],
		],

		'responsible' => [
			'users' => $formData['ASSIGNED_BY_ID'],
			'checkWorkTime' => $formData['ASSIGNED_WORK_TIME'] === 'Y',
			'supportWorkTime' => ResponsibleQueue::isSupportedWorkTime(),
		],
		'agreements' => [
			'use' => $formData['USE_LICENCE'] === 'Y',
		],
		'result' => [
			'success' => [
				'url' => $formData['RESULT_SUCCESS_URL'],
				'text' => $formData['RESULT_SUCCESS_TEXT'],
			],
			'failure' => [
				'url' => $formData['RESULT_FAILURE_URL'],
				'text' => $formData['RESULT_FAILURE_TEXT'],
			],
			'redirectDelay' => $formData['FORM_SETTINGS']['REDIRECT_DELAY'],
			'refill' => [
				'caption' => $refill ? $formData['FORM_SETTINGS']['REFILL']['CAPTION'] : '',
				'active' => $refill
			]
		],
		'callback' => [
			'use' => $formData['IS_CALLBACK_FORM'] === 'Y',
			'from' => $formData['CALL_FROM'],
			'text' => $formData['CALL_TEXT'],
		],
		'whatsapp' => [
			'use' => $formData['IS_WHATSAPP_FORM'] === 'Y',
		],
		'analytics' => $this->getAnalytics(),
		'integration' => $this->form->getIntegration()->toArray(),
		'embedding' => $this->getEmbedding(),
	];
}