- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/WebForm/WebFormScenarioService.php
- Класс: Bitrix\Crm\Service\WebForm\WebFormScenarioService
- Вызов: WebFormScenarioService::prepareDeliveryAddressScenario
private function prepareDeliveryAddressScenario(BaseScenario $baseScenario, bool $usePayment = false): BaseScenario
{
$scheme = $usePayment ? Entity::ENUM_ENTITY_SCHEME_DEAL_INVOICE : Entity::ENUM_ENTITY_SCHEME_DEAL;
$optionsBuilder = (new ScenarioOptionBuilder())
->usePayment($usePayment)
->addAgreements(true)
->addCaptcha(true)
->addRecaptcha()
->addFields([
['name' => 'CONTACT_NAME', 'autocomplete' => true, 'required'=> true],
['name' => 'CONTACT_PHONE','autocomplete' => true, 'required'=> true ],
['name' => 'CONTACT_DELIVERY_ADDRESS', 'autocomplete' => true, 'required'=> true ],
['name' => 'DEAL_COMMENTS', 'label' => Loc::getMessage('CRM_WEBFORM_COMMENTS_DELIVERY_DATE')],
['type' => 'product', 'bigPic' => false,],
])
->setButtonCaption(
$usePayment
? Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_DELIVERY_AND_PAY_BUTTON')
: Loc::getMessage('CRM_SERVICE_FORM_SCENARIO_DELIVERY_BUTTON')
)
->addDocumentScheme($scheme)
;
$this->prepareDealAndResponsibilitiesConfiguration($optionsBuilder, false);
return $baseScenario->setCategory(ScenarioCategory::DELIVERY)
->setCreateDateInTitle(true)
->setMenuItems([
ScenarioMenuItem::FIELDS['id'],
ScenarioMenuItem::AGREEMENTS['id'],
ScenarioMenuItem::CRM['id'],
ScenarioMenuItem::PAY_SYSTEMS['id'],
ScenarioMenuItem::BUTTON_AND_HEADER['id'],
ScenarioMenuItem::DESIGN['id'],
ScenarioMenuItem::OTHER['id'],
])
->setExpertModeMenuItems($this->getExpertModeDefaultItems())
->prepareBuilder($optionsBuilder)
;
}