Документация для разработчиков
Темная тема

CheckFields

Описание и параметры

boolean
CCurrency::CheckFields(
	$ACTION,
	&$arFields
	$strCurrencyID = false
);

Выполняет проверку полей валюты при добавлении или изменении. Нестатический метод.

Параметры метода

Параметр Описание
ACTION Равен ADD или UPDATE с учетом регистра. Если значение в другом регистре или другое значение - вернет false без текста ошибки (exception). Если значение равно UPDATE, то дополнительно проверяется CurrencyID. Если значение пустое - вернет ошибку, если не пустое, то обрежет до 3 символов.
arFields Ключи:
  • CURRENCY - (обязательный), обрезается до 3 символов. Обязательно будет проверен, если присутствует в массиве (даже если это обновление). При добавлении будет дополнительно проверен на формат - 3 латинских символа. (При обновлении такая проверка не выполняется в целях сохранения совместимости.) Если формат верен, то будет выполнен поиск - не существует ли уже такая валюта (БЕЗ УЧЕТА регистра). Если не существует - код валюты будет приведен к верхнему регистру. При обновлении проверки существования в методе CheckFields не производится.
  • AMOUNT_CNT - номинал (обязательный). Может быть только целым числом > 0.
  • AMOUNT - базовый курс (обязательный). Берется, если нет курсов по датам. Может быть только вещественным числом > 0.
  • SORT - сортировка. Целое число. Приводится к типу целого.
  • NUMCODE - трехзначный цифровой код валюты.
  • BASE - флаг (Y/N) является ли валюта базовой.
  • CREATED_BY - ID пользователя, добавившего валюту.
  • MODIFIED_BY - ID последнего пользователя, изменившего валюту.
  • DATE_UPDATE - время обновления - задается системой. Если есть такой ключ в массиве - удаляется.
CurrencyID Код обновляемой валюты. Необязательный параметр.

Возвращаемое значение

В случае успеха возвращает true. В случае ошибки - false. Текст ошибки можно получить через $APPLICATION->GetException().

Примеры использования

$arFields = array(
	'CURRENCY' => 'руб',
	'AMOUNT_CNT' => 1,
	'AMOUNT' => 0
);
	
$boolRes = CCurrency::CheckFields('ADD', $arFields);
if (!$boolRes)
{
	if ($ex = $APPLICATION->GetException())
	{
		$strError = $ex->GetString();
		ShowError($strError);
	}
}
	
/*
Вернет ошибки по полям CURRENCY и AMOUNT
*/


© «Битрикс», 2001-2024, «1С-Битрикс», 2024