• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxrobokassa.php
  • Класс: BitrixSaleCashboxCashboxRobokassa
  • Вызов: CashboxRobokassa::getSettings
static function getSettings($modelId = 0): array
{
	$settings['VAT'] = [
		'LABEL' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SETTINGS_VAT'),
		'REQUIRED' => 'Y',
		'ITEMS' => [
			'NOT_VAT' => [
				'TYPE' => 'STRING',
				'LABEL' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SETTINGS_VAT_LABEL_NOT_VAT'),
				'VALUE' => 'none'
			]
		]
	];

	if (MainLoader::includeModule('catalog'))
	{
		$dbRes = CatalogVatTable::getList(['filter' => ['ACTIVE' => 'Y']]);
		$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 = '';
				if (isset($defaultVatList[(int)$vat['RATE']]))
				{
					$value = $defaultVatList[(int)$vat['RATE']];
				}

				$settings['VAT']['ITEMS'][(int)$vat['ID']] = [
					'TYPE' => 'STRING',
					'LABEL' => $vat['NAME'].' ['.(int)$vat['RATE'].'%]',
					'VALUE' => $value
				];
			}
		}
	}

	$settings['TAX'] = [
		'LABEL' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SETTINGS_SNO'),
		'REQUIRED' => 'Y',
		'ITEMS' => [
			'SNO' => [
				'TYPE' => 'ENUM',
				'LABEL' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SETTINGS_SNO_LABEL'),
				'VALUE' => 'osn',
				'OPTIONS' => [
					'osn' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SNO_OSN'),
					'usn_income' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SNO_UI'),
					'usn_income_outcome' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SNO_UIO'),
					'envd' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SNO_ENVD'),
					'esn' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SNO_ESN'),
					'patent' => MainLocalizationLoc::getMessage('SALE_CASHBOX_ROBOKASSA_SNO_PATENT')
				]
			]
		]
	];

	return $settings;
}