• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/WebForm/WebFormScenarioService.php
  • Класс: Bitrix\Crm\Service\WebForm\WebFormScenarioService
  • Вызов: WebFormScenarioService::prepareContactsScenario
private function prepareContactsScenario(BaseScenario $baseScenario): BaseScenario
{
	$scenarioOptionBuilder = (new ScenarioOptionBuilder())
		->addAgreements(true)
		->addCaptcha(true)
		->setButtonCaption(Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_CONTACTS_BUTTON'))
		->addRecaptcha()
		->addResult(
			Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_CONTACTS_SUCCESS_TEXT'),
			Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_CONTACTS_FAILURE_TEXT'),
		)
		->addFields([
			['name' => 'CONTACT_NAME', 'autocomplete' => true, 'required'=> true],
			['name' => 'CONTACT_LAST_NAME', 'autocomplete' => true, 'required'=> false],
			['name' => 'CONTACT_EMAIL', 'autocomplete' => true, 'required'=> false],
			[
				'name' => 'CONTACT_PHONE',
				'autocomplete' => true,
				'required'=> true,
				'editing' => [
					'editable' => ['valueType' => 'WORK'],
				],
			],
		])
		->addDocumentScheme(Entity::ENUM_ENTITY_SCHEME_DEAL);

	$this->prepareDealAndResponsibilitiesConfiguration($scenarioOptionBuilder);

	return $baseScenario->setCategory(ScenarioCategory::CRM)
		->setExpertModeMenuItems($this->getExpertModeDefaultItems())
		->prepareBuilder($scenarioOptionBuilder)
	;
}