- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxyookassa.php
- Класс: BitrixSaleCashboxCashboxYooKassa
- Вызов: CashboxYooKassa::getSettings
static function getSettings($modelId = 0): array
{
$settings = [];
$settings['TAX'] = [
'LABEL' => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SETTINGS_SNO'),
'REQUIRED' => 'Y',
'ITEMS' => [
'SNO' => [
'TYPE' => 'ENUM',
'LABEL' => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SETTINGS_SNO_LABEL'),
'VALUE' => 1,
'OPTIONS' => [
1 => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SNO_OSN'),
2 => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SNO_UI'),
3 => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SNO_UIO'),
4 => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SNO_ENVD'),
5 => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SNO_ESN'),
6 => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SNO_PATENT'),
],
],
],
];
$settings['VAT'] = [
'LABEL' => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SETTINGS_VAT'),
'REQUIRED' => 'Y',
'COLLAPSED' => 'Y',
'ITEMS' => [
'NOT_VAT' => [
'TYPE' => 'STRING',
'LABEL' => Loc::getMessage('SALE_CASHBOX_YOOKASSA_SETTINGS_VAT_LABEL_NOT_VAT'),
'VALUE' => self::CODE_NO_VAT,
],
],
];
if (Loader::includeModule('catalog'))
{
$dbRes = BitrixCatalogVatTable::getList(['filter' => [
'ACTIVE' => 'Y',
'EXCLUDE_VAT' => 'N',
]]);
$vatList = $dbRes->fetchAll();
if ($vatList)
{
$defaultVatList = [
0 => self::CODE_VAT_0,
10 => self::CODE_VAT_10,
20 => self::CODE_VAT_20,
];
foreach ($vatList as $vat)
{
$value = $defaultVatList[(int)$vat['RATE']] ?? '';
$settings['VAT']['ITEMS'][(int)$vat['ID']] = [
'TYPE' => 'STRING',
'LABEL' => $vat['NAME'] . ' (' . (int)$vat['RATE'] . '%)',
'VALUE' => $value,
];
}
}
}
$measureItems = [
'DEFAULT' => [
'TYPE' => 'STRING',
'LABEL' => Loc::getMessage('SALE_CASHBOX_MEASURE_SUPPORT_SETTINGS_DEFAULT_VALUE'),
'VALUE' => 'piece',
],
];
if (Loader::includeModule('catalog'))
{
$measuresList = CCatalogMeasure::getList();
while ($measure = $measuresList->fetch())
{
$measureItems[$measure['CODE']] = [
'TYPE' => 'STRING',
'LABEL' => $measure['MEASURE_TITLE'],
'VALUE' => MeasureCodeToTag2108MapperYooKassa::getTag2108Value($measure['CODE']),
];
}
}
$settings['MEASURE'] = [
'LABEL' => Loc::getMessage('SALE_CASHBOX_MEASURE_SUPPORT_SETTINGS'),
'REQUIRED' => 'Y',
'COLLAPSED' => 'Y',
'ITEMS' => $measureItems,
];
return $settings;
}