• Модуль: 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;
}