catalog.vat.add
Добавить ставку НДС
Описание
Метод добавляет новую ставку НДС.
Параметры
fields
object
обязательный
Значения полей для создания новой ставки НДС (подробное описание)
Параметр fields
name
string
обязательный
Название ставки НДС
active
string
необязательный
Индикатор активности ставки НДС. Возможные значения:
- Y — активен
- N — неактивен
По умолчанию Y
rate
double
обязательный
Величина ставки НДС
sort
integer
необязательный
Сортировка.
По умолчанию 100
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"name":"Налог 13%","rate":13,"sort":10,"active":"Y"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/catalog.vat.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"name":"Налог 13%","rate":13,"sort":10,"active":"Y"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/catalog.vat.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, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type CatalogVatAddResult = {
vat: {
active: string
id: number
name: string
rate: number
sort: number
timestampX: ISODate
}
}
try {
const response = await $b24.actions.v2.call.make<CatalogVatAddResult>({
method: 'catalog.vat.add',
params: {
fields: {
name: 'Tax 13%',
rate: 13,
sort: 10,
active: 'Y',
},
},
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 VAT rate:', result.vat.id, result.vat.name, result.vat.rate)
}
} 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 addVatRate() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'catalog.vat.add',
params: {
fields: {
name: 'Tax 13%',
rate: 13,
sort: 10,
active: 'Y',
},
},
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 VAT rate:', result.vat.id, result.vat.name, result.vat.rate)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addVatRate)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.catalog.vat.add(
fields={
"name": "Налог 13%",
"rate": 13,
"sort": 10,
"active": "Y",
},
).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.vat.add',
[
'fields' => [
'name' => 'Налог 13%',
'rate' => 13,
'sort' => 10,
'active' => "Y",
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding VAT: ' . $e->getMessage();
}
BX24.callMethod(
'catalog.vat.add',
{
fields: {
name: 'Налог 13%',
rate: 13,
sort: 10,
active: "Y",
}
},
function(result) {
if (result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'catalog.vat.add',
[
'fields' => [
'name' => 'Налог 13%',
'rate' => 13,
'sort' => 10,
'active' => "Y"
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "catalog.vat.add", b24.Params{
"fields": b24.Params{
"name": "Налог 13%",
"rate": 13,
"sort": 10,
"active": "Y",
},
})
if err != nil {
return fmt.Errorf("catalog.vat.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "vat".
raw, ok := b24.Unwrap(res.Result, "vat")
if !ok {
return fmt.Errorf("в ответе нет ключа vat")
}
var item struct {
Active string `json:"active"`
ID b24.ID `json:"id"`
Name string `json:"name"`
Rate int `json:"rate"`
Sort int `json:"sort"`
TimestampX string `json:"timestampX"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Active, item.ID)
Ответ
HTTP-статус: 200
{
"result": {
"vat": {
"active": "Y",
"id": 5,
"name": "Налог 13%",
"rate": 13,
"sort": 10,
"timestampX": "2024-09-16T11:20:38+02:00"
}
},
"time": {
"start": 1716552521.40908,
"finish": 1716552521.69852,
"duration": 0.289434909820557,
"processing": 0.011207103729248,
"date_start": "2024-09-16T11:20:38+02:00",
"date_finish": "2024-09-16T11:20:38+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа
vat
catalog_vat
Объект с информацией о созданной ставке НДС
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": 200040300020,
"error_description": "Access Denied"
}
| Код | Описание | Значение |
|---|---|---|
200040300020 |
Недостаточно прав для редактирования | |
100 |
Не передан обязательный параметр fields |
|
0 |
Не установлены обязательные поля | |
0 |
Другие ошибки (например, фатальные ошибки) |

