Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Установить локализации для валюты crm.currency.localizations.set», проанализируем лучшие практики и покажем, как правильно использовать crm.currency.localizations.set в реальных задачах.
Установить локализации для валюты crm.currency.localizations.set
> Scope: crm
>
> Кто может выполнять метод: любой пользователь с доступом к изменению настроек CRM
Метод обновляет локализации для валюты или добавляет, если локализация для указанного языка не существует.
Параметры метода
Название /тип | Описание |
|---|---|
idstring | Идентификатор валюты. Соответствует стандарту ISO 4217. Идентификатор можно получить методом crm.currency.list |
localizationsobject | Параметры локализации валюты. Объект в формате {"lang_1": "value_1", ... "lang_N": "value_N"}, где lang_N — идентификатор языка, для которого надо добавить/изменить локализацию, а value — объект типа crm_currency_localization.Существующие локализации, которые не переданы в метод, не будут изменены. |
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":"CLF","localizations":{"en":{"FULL_NAME":"Unidad de Fomento","FORMAT_STRING":"CLF#VALUE#","DEC_POINT":".","THOUSANDS_VARIANT":"C","DECIMALS":4},"ru":{"FULL_NAME":"Единица развития","FORMAT_STRING":"#VALUE# CLF","DEC_POINT":".","THOUSANDS_VARIANT":"B","DECIMALS":4}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.currency.localizations.set- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":"CLF","localizations":{"en":{"FULL_NAME":"Unidad de Fomento","FORMAT_STRING":"CLF#VALUE#","DEC_POINT":".","THOUSANDS_VARIANT":"C","DECIMALS":4},"ru":{"FULL_NAME":"Единица развития","FORMAT_STRING":"#VALUE# CLF","DEC_POINT":".","THOUSANDS_VARIANT":"B","DECIMALS":4}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.currency.localizations.set- JS
try
{
const response = await $b24.callMethod(
"crm.currency.localizations.set",
{
id: 'CLF',
localizations: {
en: {
FULL_NAME: 'Unidad de Fomento',
FORMAT_STRING: 'CLF#VALUE#',
DEC_POINT: '.',
THOUSANDS_VARIANT: 'C',
DECIMALS: 4,
},
ru: {
FULL_NAME: 'Единица развития',
FORMAT_STRING: '#VALUE# CLF',
DEC_POINT: '.',
THOUSANDS_VARIANT: 'B',
DECIMALS: 4,
}
}
}
);
const result = response.getData().result;
console.log(result);
}
catch( error )
{
console.error(error);
}- PHP
try {
$response = $b24Service
->core
->call(
'crm.currency.localizations.set',
[
'id' => 'CLF',
'localizations' => [
'en' => [
'FULL_NAME' => 'Unidad de Fomento',
'FORMAT_STRING' => 'CLF#VALUE#',
'DEC_POINT' => '.',
'THOUSANDS_VARIANT' => 'C',
'DECIMALS' => 4,
],
'ru' => [
'FULL_NAME' => 'Единица развития',
'FORMAT_STRING' => '#VALUE# CLF',
'DEC_POINT' => '.',
'THOUSANDS_VARIANT' => 'B',
'DECIMALS' => 4,
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting currency localizations: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
"crm.currency.localizations.set",
{
id: 'CLF',
localizations: {
en: {
FULL_NAME: 'Unidad de Fomento',
FORMAT_STRING: 'CLF#VALUE#',
DEC_POINT: '.',
THOUSANDS_VARIANT: 'C',
DECIMALS: 4,
},
ru: {
FULL_NAME: 'Единица развития',
FORMAT_STRING: '#VALUE# CLF',
DEC_POINT: '.',
THOUSANDS_VARIANT: 'B',
DECIMALS: 4,
}
}
},
)
.then(
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result);
}
},
function(error)
{
console.info(error);
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'crm.currency.localizations.set',
[
'id' => 'CLF',
'localizations' => [
'en' => [
'FULL_NAME' => 'Unidad de Fomento',
'FORMAT_STRING' => 'CLF#VALUE#',
'DEC_POINT' => '.',
'THOUSANDS_VARIANT' => 'C',
'DECIMALS' => 4,
],
'ru' => [
'FULL_NAME' => 'Единица развития',
'FORMAT_STRING' => '#VALUE# CLF',
'DEC_POINT' => '.',
'THOUSANDS_VARIANT' => 'B',
'DECIMALS' => 4,
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1718122481.837301,
"finish": 1718122483.141736,
"duration": 1.3044350147247314,
"processing": 0.08866286277770996,
"date_start": "2024-06-11T18:14:41+02:00",
"date_finish": "2024-06-11T18:14:43+02:00",
"operating": 0
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultboolean | Возвращает: — true — в случае успеха— false – в случае, когда операцию выполнить не удалось, но ошибки нет, либо ситуация не считается ошибочной. Возможные варианты:— отсутствует модуль валют — передан пустой объект с локализациями — не была добавлена/изменена ни одна локализация |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "The parameter id is invalid or not defined."
}Возможные коды ошибок
| Код | Описание | Значение |
|---|---|---|
| Пустая строка | Access denied. | Недостаточно прав доступа |
| Пустая строка | The parameter id is invalid or not defined. | Пустой идентификатор валюты |
- [](./crm-currency-localizations-get)
- [](./crm-currency-localizations-delete)
- [](./crm-currency-localizations-fields)
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Установить локализации для валюты crm.currency.localizations.set»:
Использование современных стандартов D7 при работе с crm.currency.localizations.set позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru