• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxorangedata.php
  • Класс: BitrixSaleCashboxCashboxOrangeData
  • Вызов: CashboxOrangeData::getSettings
static function getSettings($modelId = 0)
{
	$settings = [
		'SECURITY' => [
			'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SECURITY'),
			'ITEMS' => [
				'PKEY' => [
					'TYPE' => 'DATABASE_FILE',
					'CLASS' => 'adm-designed-file',
					'REQUIRED' => 'Y',
					'NO_DELETE' => 'Y',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SECURITY_PKEY'),
				],
				'SSL_CERT' => [
					'TYPE' => 'DATABASE_FILE',
					'CLASS' => 'adm-designed-file',
					'REQUIRED' => 'Y',
					'NO_DELETE' => 'Y',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SECURITY_SSL_CERT'),
				],
				'SSL_KEY' => [
					'TYPE' => 'DATABASE_FILE',
					'CLASS' => 'adm-designed-file',
					'REQUIRED' => 'Y',
					'NO_DELETE' => 'Y',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SECURITY_SSL_KEY'),
				],
				'SSL_KEY_PASS' => [
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SECURITY_SSL_KEY_PASS'),
				],
				'KEY_SIGN' => [
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SECURITY_KEY_SIGN'),
				],
			]
		]
	];

	$settings['SERVICE'] = [
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SERVICE'),
		'REQUIRED' => 'Y',
		'ITEMS' => [
			'INN' => [
				'TYPE' => 'STRING',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SERVICE_INN_LABEL')
			]
		]
	];

	$settings['CLIENT'] = [
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_CLIENT'),
		'ITEMS' => [
			'INFO' => [
				'TYPE' => 'ENUM',
				'VALUE' => 'NONE',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_CLIENT_INFO'),
				'OPTIONS' => [
					'DEFAULT' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_CLIENT_DEFAULT'),
					'PHONE' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_CLIENT_PHONE'),
					'EMAIL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_CLIENT_EMAIL'),
				]
			],
		]
	];

	$settings['VAT'] = [
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_VAT'),
		'REQUIRED' => 'Y',
		'ITEMS' => [
			'NOT_VAT' => [
				'TYPE' => 'STRING',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_VAT_LABEL_NOT_VAT'),
				'VALUE' => 6
			]
		]
	];

	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' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SNO'),
		'REQUIRED' => 'Y',
		'ITEMS' => [
			'SNO' => [
				'TYPE' => 'ENUM',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_SNO_LABEL'),
				'VALUE' => 0,
				'OPTIONS' => [
					0 => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SNO_OSN'),
					1 => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SNO_UI'),
					2 => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SNO_UIO'),
					3 => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SNO_ENVD'),
					4 => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SNO_ESN'),
					5 => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SNO_PATENT')
				]
			]
		]
	];

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

	$settings['INTERACTION'] = [
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_INTERACTION'),
		'ITEMS' => [
			'MODE_HANDLER' => [
				'TYPE' => 'ENUM',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_SETTINGS_MODE_HANDLER_LABEL'),
				'OPTIONS' => [
					static::HANDLER_MODE_ACTIVE => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_MODE_ACTIVE'),
					static::HANDLER_MODE_TEST => LocalizationLoc::getMessage('SALE_CASHBOX_ORANGE_DATA_MODE_TEST'),
				]
			]
		]
	];

	return $settings;
}