humanresources.hcmlink.field.value.set
Передать значения полей HCM Link
Описание
Метод humanresources.hcmlink.field.value.set передает значения полей системы кадрового учета для сотрудников.
Метод работает только в контексте авторизации приложения.
Параметры
company
string
обязательный
Код компании в системе кадрового учета или идентификатор компании CRM.
Код компании можно получить методом humanresources.hcmlink.company.list.
Идентификатор компании CRM можно получить методом crm.item.list с параметром entityTypeId = 4 и фильтром isMyCompany = Y. Если передан job, компания может быть определена по заданию
data
array
обязательный
Список значений полей (подробное описание)
job
object
необязательный
Данные для обновления задания синхронизации (подробное описание).
Передавайте параметр, если метод выполняется в ответ на событие OnHumanResourcesHcmLinkFieldValueRequested, OnHumanResourcesHcmLinkPinRequested или OnHumanResourcesHcmLinkSalaryVacationRequested. Идентификатор задания приходит в событии в поле jobId
Элемент массива data
field
string
обязательный
Код поля в системе кадрового учета.
Получить код можно из fields[].field в ответе метода humanresources.hcmlink.company.list
employee
string
обязательный
Код сотрудника в системе кадрового учета.
Получить код можно из employees[].employee в ответе метода humanresources.hcmlink.employee.list
value
string
обязательный
Значение поля
Параметр job
id
integer
обязательный
Идентификатор задания синхронизации.
Приходит в событиях OnHumanResourcesHcmLinkFieldValueRequested, OnHumanResourcesHcmLinkPinRequested или OnHumanResourcesHcmLinkSalaryVacationRequested в поле jobId
fields
object
обязательный
Новые данные задания синхронизации (подробное описание)
Параметр job.fields
status
string
обязательный
Новый статус задания.
Возможные значения:
IN_PROGRESS— выполняетсяDONE— выполненоCANCELED— отменено
total
integer
необязательный
Общее количество элементов в задании
sent
integer
необязательный
Количество обработанных элементов
data
object
необязательный
Дополнительные данные задания
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"company":"hr-company-001","data":[{"field":"personal_number","employee":"employee-001","value":"TN-1001"}],"job":{"id":101,"fields":{"status":"DONE","total":1,"sent":1}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/humanresources.hcmlink.field.value.set
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make({
method: 'humanresources.hcmlink.field.value.set',
params: {
company: 'hr-company-001',
data: [
{
field: 'personal_number',
employee: 'employee-001',
value: 'TN-1001',
},
],
job: {
id: 101,
fields: {
status: 'DONE',
total: 1,
sent: 1,
},
},
},
requestId: Text.getUuidRfc4122()
})
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
console.info(response.getData()!.result)
}
} catch (error) {
console.error(error)
}
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function setHcmLinkFieldValues() {
try {
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'humanresources.hcmlink.field.value.set',
params: {
company: 'hr-company-001',
data: [
{
field: 'personal_number',
employee: 'employee-001',
value: 'TN-1001'
}
],
job: {
id: 101,
fields: {
status: 'DONE',
total: 1,
sent: 1
}
}
},
requestId: B24Js.Text.getUuidRfc4122()
})
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
console.info(response.getData().result)
} catch (error) {
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', setHcmLinkFieldValues)
</script>
try {
$response = $b24Service
->core
->call(
'humanresources.hcmlink.field.value.set',
[
'company' => 'hr-company-001',
'data' => [
[
'field' => 'personal_number',
'employee' => 'employee-001',
'value' => 'TN-1001',
],
],
'job' => [
'id' => 101,
'fields' => [
'status' => 'DONE',
'total' => 1,
'sent' => 1,
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting field values: ' . $e->getMessage();
}
BX24.callMethod(
'humanresources.hcmlink.field.value.set',
{
company: 'hr-company-001',
data: [{ field: 'personal_number', employee: 'employee-001', value: 'TN-1001' }],
job: { id: 101, fields: { status: 'DONE', total: 1, sent: 1 } }
},
function(result)
{
if (result.error())
{
console.error(result.error(), result.error_description());
}
else
{
console.dir(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'humanresources.hcmlink.field.value.set',
[
'company' => 'hr-company-001',
'data' => [
[
'field' => 'personal_number',
'employee' => 'employee-001',
'value' => 'TN-1001',
],
],
'job' => [
'id' => 101,
'fields' => [
'status' => 'DONE',
'total' => 1,
'sent' => 1,
],
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "humanresources.hcmlink.field.value.set", b24.Params{
"company": "hr-company-001",
"data": []b24.Params{
{
"field": "personal_number",
"employee": "employee-001",
"value": "TN-1001",
},
},
"job": b24.Params{
"id": 101,
"fields": b24.Params{
"status": "DONE",
"total": 1,
"sent": 1,
},
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("humanresources.hcmlink.field.value.set: %w", err)
}
var result struct {
Status string `json:"status"`
Errors []string `json:"errors"`
}
if err := json.Unmarshal(res.Result, &result); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(result.Status, result.Errors)
Ответ
HTTP-статус: 200
{
"result": {
"status": "ok",
"errors": []
},
"time": {
"start": 1739860000.123,
"finish": 1739860000.456,
"duration": 0.333,
"processing": 0.111,
"date_start": "2026-08-06T19:51:02+03:00",
"date_finish": "2026-08-06T19:51:02+03:00"
}
}
Возвращаемые данные
result
object
Результат обработки значений полей
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 200
{
"result": {
"status": "error",
"errors": [
"Parameter 'data' must be a non empty array "
]
}
}
| Код | Описание | Значение |
|---|---|---|
0 |
Operation failed | Не удалось обновить задание синхронизации, переданное в параметре job |
| — | Parameter 'data' must be a non empty array | Не передан список значений полей |
| — | Item #... field '...' not found for company '...' | Поле не найдено в компании |
| — | Item #... employee '...' not found for company '...' | Сотрудник не найден в компании |
| — | Item #... does not match PIN request job '...' | Значение не соответствует заданию запроса ПИН-кода |
| — | Item #... does not match salary/vacation request job '...' | Значение не соответствует заданию запроса расчетных листков или остатков отпусков |
| — | Job '...' result is incomplete | Для задания передан статус DONE, но в ответе нет всех запрошенных значений |
ACCESS_DENIED |
Access denied! Access denied. | Пользователь не является администратором |
WRONG_AUTH_TYPE |
Application context required | Метод вызван не в контексте приложения |

