Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Изменить пункт чек-листа task.checklistitem.update». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.
Изменить пункт чек-листа task.checklistitem.update
> Scope: task
>
> Кто может выполнять метод:
> — любой пользователь с доступом к редактированию задачи
> — постановщик, исполнитель и соисполнители задачи
Метод task.checklistitem.update изменяет существующий пункт чек-листа.
Проверить права на изменение пункта можно методом task.checklistitem.isactionallowed.
Параметры метода
Передавайте параметры в запросе в соответствии с порядком в таблице. Если нарушить порядок, запрос вернет ошибку.
Названиетип | Описание |
|---|---|
TASKIDinteger | Идентификатор задачи. Идентификатор задачи можно получить при создании новой задачи или методом получения списка задач |
ITEMIDinteger | Идентификатор пункта чек-листа. Идентификатор пункта можно получить при добавлении нового пункта или методом получения списка пунктов чек-листа |
FIELDS*object | Объект с полями пункта чек-листа |
Параметр FIELDS {#fields}
Названиетип | Описание |
|---|---|
TITLEstring | Текст пункта чек-листа. Если передать |
SORT_INDEXinteger | Индекс сортировки. Чем меньше значение, тем выше пункт в списке или подсписке |
IS_COMPLETEboolean | Статус выполнения пункта. Возможные значения: — Y — выполнен— N — не выполненПо умолчанию — |
IS_IMPORTANTboolean | Отметка, что пункт важный. Возможные значения: — Y — важный— N — обычный |
MEMBERSobject | Объект с описанием участников пункта чек-листа. Ключ — идентификатор пользователя, значение — объект с параметром типа участника TYPE. Возможные значения типа участника:— 'TYPE': 'A' — соисполнитель— 'TYPE': 'U' — наблюдательПоле Система добавит участников пункта чек-листа в задачу в тех же ролях |
PARENT_IDinteger | Идентификатор родительского пункта. Используйте для вложенных чек-листов. — Если передать |
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID":13,"ITEMID":475,"FIELDS":{"TITLE":"Подготовить отчет","PARENT_ID":447,"SORT_INDEX":100,"IS_COMPLETE":"N","IS_IMPORTANT":"N","MEMBERS":{"547":{"TYPE":"A"},"125":{"TYPE":"U"}}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/task.checklistitem.update- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID":13,"ITEMID":475,"FIELDS":{"TITLE":"Подготовить отчет","PARENT_ID":447,"SORT_INDEX":100,"IS_COMPLETE":"N","IS_IMPORTANT":"N","MEMBERS":{"547":{"TYPE":"A"},"125":{"TYPE":"U"}}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/task.checklistitem.update- JS
try
{
const response = await $b24.callMethod(
'task.checklistitem.update',
{
TASKID: 13,
ITEMID: 475,
FIELDS: {
TITLE: 'Подготовить отчет',
PARENT_ID: 447,
SORT_INDEX: 100,
IS_COMPLETE: 'N',
IS_IMPORTANT: 'N',
MEMBERS: {
547: {
TYPE: 'A'
},
125: {
TYPE: 'U'
}
}
}
}
);
const result = response.getData().result;
console.log('Updated checklist item with ID:', result);
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'task.checklistitem.update',
[
'TASKID' => 13,
'ITEMID' => 475,
'FIELDS' => [
'TITLE' => 'Подготовить отчет',
'PARENT_ID' => 447,
'SORT_INDEX' => 100,
'IS_COMPLETE' => 'N',
'IS_IMPORTANT' => 'N',
'MEMBERS' => [
547 => [
'TYPE' => 'A'
],
125 => [
'TYPE' => 'U'
]
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating checklist item: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'task.checklistitem.update',
{
'TASKID': 13,
'ITEMID': 475,
'FIELDS': {
'TITLE': 'Подготовить отчет',
'PARENT_ID': 447,
'SORT_INDEX': 100,
'IS_COMPLETE': 'N',
'IS_IMPORTANT': 'N',
'MEMBERS': {
547: {
'TYPE': 'A'
},
125: {
'TYPE': 'U'
}
}
}
},
function(result){
console.info(result.data());
console.log(result);
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'task.checklistitem.update',
[
'TASKID' => 13,
'ITEMID' => 475,
'FIELDS' => [
'TITLE' => 'Подготовить отчет',
'PARENT_ID' => 447,
'SORT_INDEX' => 100,
'IS_COMPLETE' => 'N',
'IS_IMPORTANT' => 'N',
'MEMBERS' => [
547 => [
'TYPE' => 'A'
],
125 => [
'TYPE' => 'U'
]
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": null,
"time": {
"start": 1762432505,
"finish": 1762432505.206889,
"duration": 0.20688891410827637,
"processing": 0,
"date_start": "2025-11-06T15:35:05+03:00",
"date_finish": "2025-11-06T15:35:05+03:00",
"operating_reset_at": 1762433105,
"operating": 0.13953208923339844
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultnull | Возвращает null, если пункт чек-листа успешно обновлен |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_CORE",
"error_description":"TASKS_ERROR_EXCEPTION_#4; Нет доступа к редактированию задачи; 4\/TE\/ACTION_NOT_ALLOWED\u003Cbr\u003E"
}Возможные коды ошибок
| Код | Описание | Значение |
|---|---|---|
ERROR_CORE | TASKS_ERROR_EXCEPTION_#4; Нет доступа к редактированию задачи; 4\/TE\/ACTION_NOT_ALLOWED\u003Cbr\u003E | Нет прав доступа к редактированию задачи, чтобы изменять пункт чек-листа |
ERROR_CORE | TASKS_ERROR_EXCEPTION_#8; Указано некорректное значение [] для поля [ENTITY_ID] в элементе [, Подготовить отчет]; 8\/TE\/ACTION_FAILED_TO_BE_PROCESSED\u003Cbr\u003E | Нарушен порядок передачи параметров |
ERROR_CORE | «TASKS_ERROR_EXCEPTION_#256; Param #1 (itemId) for method ctaskchecklistitem::update() expected to be of type \u0022integer\u0022, but given something else.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр TASKID или указан неверный тип значения для TASKID |
ERROR_CORE | «TASKS_ERROR_EXCEPTION_#256; Param #1 (itemId) expected by method ctaskchecklistitem::update(), but not given.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр ITEMID или указан неверный тип значения для ITEMID |
ERROR_CORE | TASKS_ERROR_EXCEPTION_#256; Param #2 (arFields) expected by method ctaskchecklistitem::update(), but not given.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр FIELDS или передан пустой |
- [](./index)
- [](./task-checklist-item-add)
- [](./task-checklist-item-get)
- [](./task-checklist-item-get-list)
- [](./task-checklist-item-delete)
- [](./task-checklist-item-move-after-item)
- [](./task-checklist-item-complete)
- [](./task-checklist-item-renew)
- [](./task-checklist-item-is-action-allowed)
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Изменить пункт чек-листа task.checklistitem.update»:
Использование современных стандартов D7 при работе с task.checklistitem.update позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru