• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/WebForm/WebFormScenarioService.php
  • Класс: Bitrix\Crm\Service\WebForm\WebFormScenarioService
  • Вызов: WebFormScenarioService::prepareDependencyScenario
private function prepareDependencyScenario(BaseScenario $baseScenario, array $fields, array $dependencies = []): BaseScenario
{
	$scenarioOptionBuilder = (new ScenarioOptionBuilder())
		->addAgreements(true)
		->addCaptcha(true)
		->addRecaptcha()
		->addFields($fields)
		->addDocumentScheme(Entity::ENUM_ENTITY_SCHEME_DEAL);
	;

	$this->prepareDealAndResponsibilitiesConfiguration($scenarioOptionBuilder);

	foreach ($dependencies as $dependency)
	{
		$scenarioOptionBuilder->addDependency($dependency);
	}

	return $baseScenario->setCategory(ScenarioCategory::DEPENDENCY_FIELD)
		->setMenuItems([
			ScenarioMenuItem::FIELDS['id'],
			ScenarioMenuItem::AGREEMENTS['id'],
			ScenarioMenuItem::CRM['id'],
			ScenarioMenuItem::BUTTON_AND_HEADER['id'],
			ScenarioMenuItem::FIELDS_RULES['id'],
			ScenarioMenuItem::DESIGN['id'],
			ScenarioMenuItem::OTHER['id'],
		])
		->setExpertModeMenuItems($this->getExpertModeDefaultItems())
		->setDefaultSection(
			ScenarioMenuItem::FIELDS_RULES['id'],
		)
		->prepareBuilder($scenarioOptionBuilder);
}