• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/rest/cashboxservice.php
  • Класс: BitrixSaleCashboxRestCashboxService
  • Вызов: CashboxService::addCashbox
static function addCashbox($params, $page, $server)
{
	HelpersRestAccessChecker::checkAccessPermission();
	$params = self::prepareHandlerParams($params, $server);
	self::checkParamsBeforeAddCashbox($params);

	$settings = $params['SETTINGS'] ?: [];
	$settings['REST']['REST_CODE'] = $params['REST_CODE'];

	$cashboxFields = [
		'NAME' => $params['NAME'],
		'HANDLER' => '\' . CashboxRest::class,
		'OFD' => empty($params['OFD']) ? '' : self::getOfdHandlerClassByCode($params['OFD']),
		'OFD_SETTINGS' => $params['OFD_SETTINGS'] ?: [],
		'EMAIL' => $params['EMAIL'],
		'NUMBER_KKM' => empty($params['NUMBER_KKM']) ? '' : $params['NUMBER_KKM'],
		'KKM_ID' => empty($params['KKM_ID']) ? '' : $params['KKM_ID'],
		'ACTIVE' => ($params['ACTIVE'] === 'Y') ? 'Y' : 'N',
		'SORT' => is_numeric($params['SORT']) ? (int)$params['SORT'] : 100,
		'USE_OFFLINE' => ($params['USE_OFFLINE'] === 'Y') ? 'Y' : 'N',
		'ENABLED' => 'Y',
		'SETTINGS' => $settings,
	];

	$result = Manager::add($cashboxFields);
	if ($result->isSuccess())
	{
		return $result->getId();
	}

	$errors = implode("n", $result->getErrorMessages());
	throw new RestException($errors, self::ERROR_CASHBOX_ADD);
}