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

	$this->prepareDealAndResponsibilitiesConfiguration($optionBuilder);

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