• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxatolfarm.php
  • Класс: BitrixSaleCashboxCashboxAtolFarm
  • Вызов: CashboxAtolFarm::getSettings
static function getSettings($modelId = 0)
{
	$settings = array(
		'AUTH' => array(
			'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_AUTH'),
			'REQUIRED' => 'Y',
			'ITEMS' => array(
				'LOGIN' => array(
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_AUTH_LOGIN_LABEL')
				),
				'PASS' => array(
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_AUTH_PASS_LABEL')
				),
			)
		),
		'SERVICE' => array(
			'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_SERVICE'),
			'REQUIRED' => 'Y',
			'ITEMS' => array(
				'INN' => array(
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_SERVICE_INN_LABEL')
				),
				'P_ADDRESS' => array(
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_SERVICE_URL_LABEL')
				),
			)
		),
		'CLIENT' => [
			'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_CLIENT'),
			'ITEMS' => array(
				'INFO' => array(
					'TYPE' => 'ENUM',
					'VALUE' => 'NONE',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_CLIENT_INFO'),
					'OPTIONS' => array(
						'NONE' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_CLIENT_NONE'),
						'PHONE' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_CLIENT_PHONE'),
						'EMAIL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_CLIENT_EMAIL'),
					)
				),
			)
		]
	);

	$settings['PAYMENT_TYPE'] = array(
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_P_TYPE'),
		'REQUIRED' => 'Y',
		'ITEMS' => array()
	);

	$systemPaymentType = array(
		Check::PAYMENT_TYPE_CASH => 0,
		Check::PAYMENT_TYPE_CASHLESS => 1,
	);
	foreach ($systemPaymentType as $type => $value)
	{
		$settings['PAYMENT_TYPE']['ITEMS'][$type] = array(
			'TYPE' => 'STRING',
			'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_P_TYPE_LABEL_'.ToUpper($type)),
			'VALUE' => $value
		);
	}

	$settings['VAT'] = array(
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_SETTINGS_VAT'),
		'REQUIRED' => 'Y',
		'ITEMS' => array(
			'NOT_VAT' => array(
				'TYPE' => 'STRING',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_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']] = array(
					'TYPE' => 'STRING',
					'LABEL' => $vat['NAME'].' ['.(int)$vat['RATE'].'%]',
					'VALUE' => $value
				);
			}
		}
	}

	$settings['TAX'] = array(
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_SNO'),
		'REQUIRED' => 'Y',
		'ITEMS' => array(
			'SNO' => array(
				'TYPE' => 'ENUM',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SETTINGS_SNO_LABEL'),
				'VALUE' => 'osn',
				'OPTIONS' => array(
					'osn' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SNO_OSN'),
					'usn_income' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SNO_UI'),
					'usn_income_outcome' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SNO_UIO'),
					'envd' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SNO_ENVD'),
					'esn' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SNO_ESN'),
					'patent' => LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_FARM_SNO_PATENT')
				)
			)
		)
	);

	if (static::hasMeasureSettings())
	{
		$settings['MEASURE'] = static::getMeasureSettings();
	}

	return $settings;
}