catalog.measure.add
Добавить единицу измерения
Описание
Метод добавляет новую единицу измерения.
Параметры
fields
object
обязательный
Значения полей для создания новой единицы измерения
Параметр fields
code
integer
обязательный
Уникальный код единицы измерения
isDefault
string
необязательный
Используется ли текущая единица измерения в качестве единицы измерения по умолчанию для новых товаров. Возможные значения:
- Y — да
- N — нет
Если значение поля не указано, то автоматически устанавливается значение N.
Только одна единица измерения из всего справочника может принимать значение Y
measureTitle
string
обязательный
Название единицы измерения
symbol
string
необязательный
Условное обозначение
symbolIntl
string
необязательный
Международное условное обозначение
symbolLetterIntl
string
необязательный
Международное кодовое буквенное обозначение
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"code":715,"measureTitle":"Пара","symbol":"пар","symbolLetterIntl":"NPR","symbolIntl":"pr; 2","isDefault":"N"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/catalog.measure.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"code":715,"measureTitle":"Пара","symbol":"пар","symbolLetterIntl":"NPR","symbolIntl":"pr; 2","isDefault":"N"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/catalog.measure.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type MeasureAddResult = {
measure: {
code: number
id: number
isDefault: string
measureTitle: string
symbol: string
symbolIntl: string
symbolLetterIntl: string
}
}
try {
const response = await $b24.actions.v2.call.make<MeasureAddResult>({
method: 'catalog.measure.add',
params: {
fields: {
code: 715,
measureTitle: 'Pair',
symbol: 'pr',
symbolLetterIntl: 'NPR',
symbolIntl: 'pr; 2',
isDefault: 'N',
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Added measure:', result.measure.id, result.measure.measureTitle)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addMeasure() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'catalog.measure.add',
params: {
fields: {
code: 715,
measureTitle: 'Pair',
symbol: 'pr',
symbolLetterIntl: 'NPR',
symbolIntl: 'pr; 2',
isDefault: 'N',
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Added measure:', result.measure.id, result.measure.measureTitle)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addMeasure)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.catalog.measure.add(
fields={
"code": 715,
"measureTitle": "Пара",
"symbol": "пар",
"symbolLetterIntl": "NPR",
"symbolIntl": "pr; 2",
"isDefault": "N",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'catalog.measure.add',
[
'fields' => [
'code' => 715,
'measureTitle' => "Пара",
'symbol' => 'пар',
'symbolLetterIntl' => 'NPR',
'symbolIntl' => 'pr; 2',
'isDefault' => 'N',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding measure: ' . $e->getMessage();
}
BX24.callMethod(
'catalog.measure.add',
{
fields: {
code: 715,
measureTitle: "Пара",
symbol: 'пар',
symbolLetterIntl: 'NPR',
symbolIntl: 'pr; 2',
isDefault: 'N'
}
},
function(result) {
if (result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'catalog.measure.add',
[
'fields' => [
'code' => 715,
'measureTitle' => "Пара",
'symbol' => 'пар',
'symbolLetterIntl' => 'NPR',
'symbolIntl' => 'pr; 2',
'isDefault' => 'N'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "catalog.measure.add", b24.Params{
"fields": b24.Params{
"code": 715,
"measureTitle": "Пара",
"symbol": "пар",
"symbolLetterIntl": "NPR",
"symbolIntl": "pr; 2",
"isDefault": "N",
},
})
if err != nil {
return fmt.Errorf("catalog.measure.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "measure".
raw, ok := b24.Unwrap(res.Result, "measure")
if !ok {
return fmt.Errorf("в ответе нет ключа measure")
}
var item struct {
Code int `json:"code"`
ID b24.ID `json:"id"`
IsDefault string `json:"isDefault"`
MeasureTitle string `json:"measureTitle"`
Symbol string `json:"symbol"`
SymbolIntl string `json:"symbolIntl"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Code, item.ID)
Ответ
HTTP-статус: 200
{
"result": {
"measure": {
"code": 715,
"id": 6,
"isDefault": "N",
"measureTitle": "Пара",
"symbol": "пар",
"symbolIntl": "pr; 2",
"symbolLetterIntl": "NPR"
}
},
"time": {
"start": 1716552521.40908,
"finish": 1716552521.69852,
"duration": 0.289434909820557,
"processing": 0.011207103729248,
"date_start": "2024-05-24T14:08:41+02:00",
"date_finish": "2024-05-24T14:08:41+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа
measure
catalog_measure
Объект с информацией о созданной единице измерения
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": 200040300020,
"error_description": "Access Denied"
}
| Код | Описание | Значение |
|---|---|---|
200040300020 |
Нет доступа к редактированию | |
200600000000 |
Единица измерения с заданным параметром code уже существует |
|
200600000010 |
Единица измерения, у которой параметр isDefault равен Y, уже существует |
|
100 |
Не передан обязательный параметр fields |
|
0 |
Не установлены обязательные поля | |
0 |
Другие ошибки (например, фатальные ошибки) |

