biconnector.dataset.fields.update
Обновить поля датасета
Описание
Метод biconnector.dataset.fields.update обновляет поля существующего датасета.
Параметры
id
integer
обязательный
Идентификатор датасета, можно получить методами biconnector.dataset.list или biconnector.dataset.add
add
object
необязательный
Объект, содержащий массив добавляемых полей со следующей структурой:
{
"type" : "int",
"name": "NAME",
"externalCode":"NAME"
},
type— тип поляname— название поляexternalCode— внешний код поля
update
object
необязательный
Объект, содержащий массив обновляемых полей со следующей структурой:
{
"id": 12,
"visible": false
},
id— Идентификатор поля, можно получить методом biconnector.dataset.getvisible— видимость поля
delete
integer[]
необязательный
Объект, содержащий массив идентификаторов полей для их удаления. Идентификаторы полей можно получить методом biconnector.dataset.get
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"id": 10,
"add": [
{
"type": "int",
"name": "NAME",
"externalCode": "NAME"
},
{
"type": "int",
"name": "ID",
"externalCode": "ID"
}
],
"update": [
{
"id": 12,
"visible": false
},
{
"id": 13,
"visible": true
}
],
"delete": [
14,
15
]
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/biconnector.dataset.fields.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"id": 10,
"add": [
{
"type": "int",
"name": "NAME",
"externalCode": "NAME"
},
{
"type": "int",
"name": "ID",
"externalCode": "ID"
}
],
"update": [
{
"id": 12,
"visible": false
},
{
"id": 13,
"visible": true
}
],
"delete": [
14,
15
],
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/biconnector.dataset.fields.update
// 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
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'biconnector.dataset.fields.update',
params: {
id: 10,
add: [
{
type: 'int',
name: 'NAME',
externalCode: 'NAME',
},
{
type: 'int',
name: 'ID',
externalCode: 'ID',
},
],
update: [
{
id: 12,
visible: false,
},
{
id: 13,
visible: true,
},
],
delete: [14, 15],
},
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('Dataset fields updated:', result)
}
} 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 updateDatasetFields() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'biconnector.dataset.fields.update',
params: {
id: 10,
add: [
{
type: 'int',
name: 'NAME',
externalCode: 'NAME',
},
{
type: 'int',
name: 'ID',
externalCode: 'ID',
},
],
update: [
{
id: 12,
visible: false,
},
{
id: 13,
visible: true,
},
],
delete: [14, 15],
},
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('Dataset fields updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateDatasetFields)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.biconnector.dataset.fields.update(
bitrix_id=10,
add=[
{
"type": "int",
"name": "NAME",
"externalCode": "NAME",
},
{
"type": "int",
"name": "ID",
"externalCode": "ID",
},
],
update=[
{
"id": 12,
"visible": False,
},
{
"id": 13,
"visible": True,
},
],
delete=[
14,
15,
],
).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(
'biconnector.dataset.fields.update',
[
'id' => 10,
'add' => [
[
'type' => "int",
'name' => "NAME",
'externalCode' => "NAME"
],
[
'type' => "int",
'name' => "ID",
'externalCode' => "ID"
]
],
'update' => [
[
'id' => 12,
'visible' => false
],
[
'id' => 13,
'visible' => true
]
],
'delete' => [14, 15]
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
echo 'Data: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating dataset fields: ' . $e->getMessage();
}
BX24.callMethod(
'biconnector.dataset.fields.update',
{
id: 10,
add: [
{
type: "int",
name: "NAME",
externalCode: "NAME"
},
{
type: "int",
name: "ID",
externalCode: "ID"
}
],
update: [
{
"id": 12,
"visible": false
},
{
"id": 13,
"visible": true
}
],
delete: [
14,
15
]
},
(result) => {
result.error()
? console.error(result.error())
: console.info(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'biconnector.dataset.fields.update',
[
'id' => 10,
'add' => [
[
'type' => 'int',
'name' => 'NAME',
'externalCode' => 'NAME'
],
[
'type' => 'int',
'name' => 'ID',
'externalCode' => 'ID'
]
],
'update' => [
[
'id' => 12,
'visible' => false
],
[
'id' => 13,
'visible' => true
]
],
'delete' => [14, 15]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "biconnector.dataset.fields.update", b24.Params{
"id": 10,
"add": []b24.Params{
{
"type": "int",
"name": "NAME",
"externalCode": "NAME",
},
{
"type": "int",
"name": "ID",
"externalCode": "ID",
},
},
"update": []b24.Params{
{
"id": 12,
"visible": false,
},
{
"id": 13,
"visible": true,
},
},
"delete": []int{14, 15},
})
if err != nil {
return fmt.Errorf("biconnector.dataset.fields.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1725365418.056843,
"finish": 1725365419.671506,
"duration": 1.6146628856658936,
"processing": 1.3475170135498047,
"date_start": "2024-09-03T14:10:18+02:00",
"date_finish": "2024-09-03T14:10:19+02:00"
}
}
Возвращаемые данные
result
boolean
Корневой элемент ответа, содержит true в случае успеха
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 200
{
"error": "VALIDATION_ID_NOT_PROVIDED",
"error_description": "ID is missing."
}
| Код | Описание | Значение |
|---|---|---|
VALIDATION_ID_NOT_PROVIDED |
ID is missing. | Идентификатор не указан |
VALIDATION_INVALID_ID_FORMAT |
ID has to be a positive integer. | Неверный формат ID |
DATASET_NOT_FOUND |
Dataset was not found. | Датасет не найден |
DATASET_UPDATE_ERROR |
Error updating dataset. | Ошибка обновления датасета |
VALIDATION_DUPLICATE_FIELD_CODE |
Duplicate values found in the "code" parameter: #LIST_CODES# | Обнаружены дубликаты в параметре externalCode полей датасета |
VALIDATION_DUPLICATE_FIELD_NAME |
Duplicate values found in the "name" parameter: #LIST_NAMES# | Обнаружены дубликаты в параметре name полей датасета |
VALIDATION_FIELD_NAME_INVALID_FORMAT |
Field "name" has to start with an uppercase Latin character. Possible entry includes uppercase Latin characters (A-Z), numbers (0-9) and underscores. | Неправильный формат названия поля. Название должно начинаться с буквы, можно использовать только заглавные латинские буквы (A-Z), цифры и знак _ |
VALIDATION_FIELD_NAME_TOO_LONG |
Field "name" must not exceed 32 characters. | Название поля не должно превышать 32 символов |
VALIDATION_FIELD_INVALID_TYPE |
Invalid field type. | Некорректный тип поля |
VALIDATION_DUPLICATE_EXIST_CODE |
The following "externalCode" values already exist in the current fields: #LIST_CODES# | Поля с таким параметром externalCode уже существуют |
VALIDATION_DUPLICATE_EXIST_NAME |
The following "name" values already exist in the current fields: #LIST_NAMES# | Поля с таким параметром name уже существуют |
VALIDATION_FIELD_ADD_MISSING_REQUIRED_FIELDS |
Field to be added must include the required parameters: "name", "externalCode" and "type". | Поле для добавления должно включать параметры name, externalCode и type |
VALIDATION_FIELD_UPDATE_MISSING_REQUIRED_FIELDS |
Field to be updated must include the required parameters: "id" and "visible". | Поле для обновления должно включать параметры id и visible |
VALIDATION_FIELD_DELETE_INVALID_ID |
ID to be deleted must be a positive integer. | Неверный формат id для удаления |

