Блог Горошко Андрея Bitrix24,PHP Изменить пункт чек-листа task.checklistitem.update

Изменить пункт чек-листа task.checklistitem.update

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Изменить пункт чек-листа task.checklistitem.update». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Изменить пункт чек-листа task.checklistitem.update

> Scope: task
>
> Кто может выполнять метод:
> — любой пользователь с доступом к редактированию задачи
> — постановщик, исполнитель и соисполнители задачи

Метод task.checklistitem.update изменяет существующий пункт чек-листа.

Проверить права на изменение пункта можно методом task.checklistitem.isactionallowed.

Параметры метода

Передавайте параметры в запросе в соответствии с порядком в таблице. Если нарушить порядок, запрос вернет ошибку.

Название
тип
Описание
TASKID
integer
Идентификатор задачи.

Идентификатор задачи можно получить при создании новой задачи или методом получения списка задач

ITEMID
integer
Идентификатор пункта чек-листа.

Идентификатор пункта можно получить при добавлении нового пункта или методом получения списка пунктов чек-листа

FIELDS*
object
Объект с полями пункта чек-листа

Параметр FIELDS {#fields}

Название
тип
Описание
TITLE
string
Текст пункта чек-листа.

Если передать PARENT_ID со значением 0, то TITLE — название чек-листа

SORT_INDEX
integer
Индекс сортировки. Чем меньше значение, тем выше пункт в списке или подсписке
IS_COMPLETE
boolean
Статус выполнения пункта. Возможные значения:
— Y — выполнен
— N — не выполнен

По умолчанию — N

IS_IMPORTANT
boolean
Отметка, что пункт важный. Возможные значения:
— Y — важный
— N — обычный
MEMBERS
object
Объект с описанием участников пункта чек-листа. Ключ — идентификатор пользователя, значение — объект с параметром типа участника TYPE. Возможные значения типа участника:
— 'TYPE': 'A' — соисполнитель
— 'TYPE': 'U' — наблюдатель

Поле MEMBERS заменяется полностью. Чтобы сохранить текущих участников, передайте их вместе с новыми значениями.

Система добавит участников пункта чек-листа в задачу в тех же ролях

PARENT_ID
integer
Идентификатор родительского пункта. Используйте для вложенных чек-листов.

— Если передать PARENT_ID со значением 0, система создаст в задаче новый чек-лист
— Если в задаче нет пункта чек-листа с указанным PARENT_ID, система создаст новый чек-лист
— Если переместить главный пункт чек-листа под пункт другого чек-листа, то он переместится вместе со своими подпунктами с сохранением иерархии. Чек-листы объединятся в один

Примеры кода

  • 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
    }
}

Возвращаемые данные

Название
тип
Описание
result
null
Возвращает null, если пункт чек-листа успешно обновлен
time
time
Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error":"ERROR_CORE",
    "error_description":"TASKS_ERROR_EXCEPTION_#4; Нет доступа к редактированию задачи; 4\/TE\/ACTION_NOT_ALLOWED\u003Cbr\u003E"
}

Возможные коды ошибок

КодОписаниеЗначение
ERROR_CORETASKS_ERROR_EXCEPTION_#4; Нет доступа к редактированию задачи; 4\/TE\/ACTION_NOT_ALLOWED\u003Cbr\u003EНет прав доступа к редактированию задачи, чтобы изменять пункт чек-листа
ERROR_CORETASKS_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_CORETASKS_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 и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Как использовать D7Debug::endTime() в 1С-Битрикс: пример кодаКак использовать D7Debug::endTime() в 1С-Битрикс: пример кода

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать D7Debug::endTime() в 1С-Битрикс: пример кода», разберем

Виджет в виде пункта контекстного меню сообщения IM_CONTEXT_MENUВиджет в виде пункта контекстного меню сообщения IM_CONTEXT_MENU

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Виджет в виде пункта контекстного меню сообщения IM_CONTEXT_MENU»,

Create Controller: Руководство разработчикаCreate Controller: Руководство разработчика

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Create Controller: Руководство разработчика». Вы узнаете экспертные методики работы с create controller и