• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/WebForm/WebFormScenarioService.php
  • Класс: Bitrix\Crm\Service\WebForm\WebFormScenarioService
  • Вызов: WebFormScenarioService::prepareProductsScenario
private function prepareProductsScenario(
	BaseScenario $baseScenario,
	bool $bigPic = false,
	int $schema = Entity::ENUM_ENTITY_SCHEME_DEAL,
	bool $usePayment = false,
	string $title = null
): BaseScenario
{
	$optionScenario = (new ScenarioOptionBuilder())
		->addAgreements(true)
		->addCaptcha(true)
		->addRecaptcha()
		->addFields([
			['name' => 'CONTACT_NAME', 'autocomplete' => true, 'required'=> true],
			['name' => 'CONTACT_PHONE', 'autocomplete' => true, 'required'=> true],
			['name' => 'CONTACT_EMAIL','autocomplete' => true, 'required'=> false ],
			['type' => 'product', 'bigPic' => $bigPic,],
		])
		->usePayment($usePayment)
		->addDocumentScheme($schema)
	;
	$this->prepareDealAndResponsibilitiesConfiguration($optionScenario, false);

	return $baseScenario->setCategory(ScenarioCategory::PRODUCTS)
		->setCreateDateInTitle(true)
		->prepareBuilder($optionScenario)
		->setExpertModeMenuItems($this->getExpertModeDefaultItems())
		->setMenuItems([
			ScenarioMenuItem::FIELDS['id'],
			ScenarioMenuItem::AGREEMENTS['id'],
			ScenarioMenuItem::CRM['id'],
			ScenarioMenuItem::PAY_SYSTEMS['id'],
			ScenarioMenuItem::DESIGN['id'],
			ScenarioMenuItem::OTHER['id'],
		])
		->setTitle($title)
	;
}