- Модуль: salescenter
- Путь к файлу: ~/bitrix/modules/salescenter/lib/delivery/wizard/base.php
- Класс: BitrixSalesCenterDeliveryWizardBase
- Вызов: Base::buildFieldsFromSettings
protected function buildFieldsFromSettings(array $settings): Result
{
$result = new Result();
$validationResult = $this->validateSettings($settings);
if (!$validationResult->isSuccess())
{
return $result->addErrors($validationResult->getErrors());
}
if (!Loader::includeModule('currency'))
{
return $result->addError(new Error(Loc::getMessage('SALESCENTER_CONTROLLER_DELIVERY_INSTALLATION_CURRENCY_MODULE_NOT_INSTALLED')));
}
$currency = SiteCurrencyTable::getSiteCurrency(SITE_ID);
if (empty($currency))
{
$currency = CurrencyManager::getBaseCurrency();
}
/** @var BitrixSaleDeliveryServicesBase $handlerClass */
$handlerClass = $this->handler->getHandlerClass();
$vatRate = $handlerClass::getDefaultVatRate();
return $result->setData(
[
'FIELDS' => [
'NAME' => $settings['NAME'],
'CURRENCY' => $currency,
'ACTIVE' => $settings['ACTIVE'],
'CLASS_NAME' => $handlerClass,
'LOGOTIP' => CFile::SaveFile(
CFile::MakeFileArray(
Application::getDocumentRoot() . $this->handler->getWorkingImagePath()
),
'sale/delivery/logotip'
),
'VAT_ID' => (!is_null($vatRate) && Loader::includeModule('catalog'))
? VatTable::getActiveVatIdByRate($vatRate, true)
: null,
]
]
);
}