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