• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxbitrix.php
  • Класс: BitrixSaleCashboxCashboxBitrix
  • Вызов: CashboxBitrix::getSettings
static function getSettings($modelId = 0)
{
	$settings = array();

	$kkmList = static::getSupportedKkmModels();
	if (isset($kkmList[$modelId]))
	{
		$defaultSettings = $kkmList[$modelId]['SETTINGS'];

		if (isset($defaultSettings['PAYMENT_TYPE']))
		{
			$settings['PAYMENT_TYPE'] = array(
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_SETTINGS_P_TYPE'),
				'REQUIRED' => 'Y',
				'ITEMS' => array()
			);

			foreach ($defaultSettings['PAYMENT_TYPE'] as $type => $value)
			{
				$settings['PAYMENT_TYPE']['ITEMS'][$type] = array(
					'TYPE' => 'STRING',
					'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_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' => $defaultSettings['VAT']['NOT_VAT']
				)
			)
		);

		if (MainLoader::includeModule('catalog'))
		{
			$dbRes = CatalogVatTable::getList(array('filter' => array('ACTIVE' => 'Y')));
			$vatList = $dbRes->fetchAll();
			if ($vatList)
			{
				foreach ($vatList as $vat)
				{
					$value = '';
					if (isset($defaultSettings['VAT'][(int)$vat['RATE']]))
						$value = $defaultSettings['VAT'][(int)$vat['RATE']];

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

	$hours = array();
	for ($i = 0; $i < 24; $i++)
	{
		$value = ($i < 10) ? '0'.$i : $i;
		$hours[$i] = $value;
	}

	$minutes = array();
	for ($i = 0; $i < 60; $i+=5)
	{
		$value = ($i < 10) ? '0'.$i : $i;
		$minutes[$i] = $value;
	}

	$settings['Z_REPORT'] = array(
		'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_SETTINGS_Z_REPORT'),
		'ITEMS' => array(
			'TIME' => array(
				'TYPE' => 'DELIVERY_MULTI_CONTROL_STRING',
				'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_SETTINGS_Z_REPORT_LABEL'),
				'ITEMS' => array(
					'H' => array(
						'TYPE' => 'ENUM',
						'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_SETTINGS_Z_REPORT_LABEL_H'),
						'VALUE' => 23,
						'OPTIONS' => $hours
					),
					'M' => array(
						'TYPE' => 'ENUM',
						'LABEL' => LocalizationLoc::getMessage('SALE_CASHBOX_BITRIX_SETTINGS_Z_REPORT_LABEL_M'),
						'VALUE' => 30,
						'OPTIONS' => $minutes
					),
				)
			)
		)
	);

	return $settings;
}