Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить список пунктов чек-листа task.checklistitem.getlist», проанализируем лучшие практики и покажем, как правильно использовать task.checklistitem.getlist в реальных задачах.
Получить список пунктов чек-листа task.checklistitem.getlist
> Scope: task
>
> Кто может выполнять метод: любой пользователь с правом доступа на чтение задачи или выше
Метод task.checklistitem.getlist получает список пунктов чек-листов в задаче.
Параметры метода
Названиетип | Описание |
|---|---|
TASKID*integer | Идентификатор задачи. Идентификатор можно получить при создании задачи или методом получения списка задач |
ORDERobject | Объект для сортировки результата вида {"поле": "значение сортировки", ... }.Сортировать можно по полям: Направление сортировки может принимать значения: По умолчанию результат сортируется по |
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID":8017,"ORDER":{"IS_COMPLETE":"ASC"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/task.checklistitem.getlist- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID":8017,"ORDER":{"IS_COMPLETE":"ASC"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/task.checklistitem.getlist- JS
// callListMethod: Получает все данные сразу.
// Используйте только для небольших выборок (< 1000 элементов) из-за высокой
// нагрузки на память.
try {
const response = await $b24.callListMethod(
'task.checklistitem.getlist',
{
TASKID: 8017,
ORDER: {
IS_COMPLETE: 'ASC'
}
},
(progress: number) => { console.log('Progress:', progress) }
);
const items = response.getData() || [];
for (const entity of items) { console.log('Entity:', entity) }
} catch (error: any) {
console.error('Request failed', error)
}
// fetchListMethod: Выбирает данные по частям с помощью итератора.
// Используйте для больших объемов данных для эффективного потребления памяти.
try {
const generator = $b24.fetchListMethod('task.checklistitem.getlist', {
TASKID: 8017,
ORDER: {
IS_COMPLETE: 'ASC'
}
}, 'ID');
for await (const page of generator) {
for (const entity of page) { console.log('Entity:', entity) }
}
} catch (error: any) {
console.error('Request failed', error)
}
// callMethod: Ручное управление постраничной навигацией через параметр start.
// Используйте для точного контроля над пакетами запросов.
// Для больших данных менее эффективен, чем fetchListMethod.
try {
const response = await $b24.callMethod('task.checklistitem.getlist', {
TASKID: 8017,
ORDER: {
IS_COMPLETE: 'ASC'
}
}, 0);
const result = response.getData().result || [];
for (const entity of result) { console.log('Entity:', entity) }
} catch (error: any) {
console.error('Request failed', error)
}- PHP
try {
$response = $b24Service
->core
->call(
'task.checklistitem.getlist',
[
'TASKID' => 8017,
'ORDER' => [
'IS_COMPLETE' => 'ASC'
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching checklist items: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'task.checklistitem.getlist',
{
'TASKID': 8017,
'ORDER': {
'IS_COMPLETE': 'ASC'
}
},
function(result){
console.info(result.data());
console.log(result);
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'task.checklistitem.getlist',
[
'TASKID' => 8017,
'ORDER' => [
'IS_COMPLETE' => 'ASC'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": [
{
"ID": "477",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Подготовить договор Светлана Иванова",
"SORT_INDEX": "2",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": "503",
"TOGGLED_DATE": "2025-11-10T15:02:30+03:00",
"MEMBERS": [
{
"ID": "103",
"TYPE": "A",
"NAME": "Светлана Иванова",
"PERSONAL_PHOTO": "8644",
"PERSONAL_GENDER": "F",
"IMAGE": "https://mysite.ru/b17053/resize_cache/8644/c0120a8d7c10d63c83e32398d1ec4d9e/main/45f/45fff10d17d398a5583184c8350cd197/buh.jpg",
"IS_COLLABER": false
}
],
"ATTACHMENTS": {
"1113": {
"ATTACHMENT_ID": 1113,
"NAME": "Инструкция.docx",
"SIZE": "115161",
"FILE_ID": "5065",
"DOWNLOAD_URL": "/bitrix/tools/disk/uf.php?attachedId=1113&action=download&ncc=1",
"VIEW_URL": "/bitrix/tools/disk/uf.php?attachedId=1113&action=show&ncc=1"
},
"1115": {
"ATTACHMENT_ID": 1115,
"NAME": "Список документов.xlsx",
"SIZE": "14675",
"FILE_ID": "5067",
"DOWNLOAD_URL": "/bitrix/tools/disk/uf.php?attachedId=1115&action=download&ncc=1",
"VIEW_URL": "/bitrix/tools/disk/uf.php?attachedId=1115&action=show&ncc=1"
}
}
},
{
"ID": "431",
"TASK_ID": "8017",
"PARENT_ID": 0,
"CREATED_BY": "503",
"TITLE": "Чек-лист 1",
"SORT_INDEX": "0",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "447",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Согласовать с клиентом детали",
"SORT_INDEX": "1",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "469",
"TASK_ID": "8017",
"PARENT_ID": "447",
"CREATED_BY": "503",
"TITLE": "Согласовать с руководителем Андрей Карпов Андрей Сергеев",
"SORT_INDEX": "2",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [
{
"ID": "3",
"TYPE": "A",
"NAME": "Андрей Карпов",
"PERSONAL_PHOTO": "249",
"PERSONAL_GENDER": "M",
"IMAGE": "https://mysite.ru/b17053/resize_cache/249/c0120a8d7c10d63c83e32398d1ec4d9e/main/cd526b0644e7ff4d794ea41cb36bc423/odmin.png",
"IS_COLLABER": false
},
{
"ID": "11",
"TYPE": "U",
"NAME": "Андрей Сергеев",
"PERSONAL_PHOTO": "231",
"PERSONAL_GENDER": "",
"IMAGE": "https://mysite.ru/b17053/resize_cache/231/c0120a8d7c10d63c83e32398d1ec4d9e/main/026bf59e161a0bd50f401d3796800651/66b.jpg",
"IS_COLLABER": false
}
],
"ATTACHMENTS": []
},
{
"ID": "471",
"TASK_ID": "8017",
"PARENT_ID": "447",
"CREATED_BY": "503",
"TITLE": "Подготовить решение",
"SORT_INDEX": "1",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "491",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Подписать договор",
"SORT_INDEX": "3",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "433",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Найти все документы по клиенту",
"SORT_INDEX": "0",
"IS_COMPLETE": "Y",
"IS_IMPORTANT": "N",
"TOGGLED_BY": "503",
"TOGGLED_DATE": "2025-11-10T15:02:30+03:00",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "485",
"TASK_ID": "8017",
"PARENT_ID": "447",
"CREATED_BY": "503",
"TITLE": "Договориться о встрече Андрей Сергеев",
"SORT_INDEX": "0",
"IS_COMPLETE": "Y",
"IS_IMPORTANT": "N",
"TOGGLED_BY": "503",
"TOGGLED_DATE": "2025-11-10T15:02:33+03:00",
"MEMBERS": [
{
"ID": "11",
"TYPE": "U",
"NAME": "Андрей Сергеев",
"PERSONAL_PHOTO": "231",
"PERSONAL_GENDER": "",
"IMAGE": "https://mysite.ru/b17053/resize_cache/231/c0120a8d7c10d63c83e32398d1ec4d9e/main/026bf59e161a0bd50f401d3796800651/66b.jpg",
"IS_COLLABER": false
}
],
"ATTACHMENTS": []
}
],
"time": {
"start": 1762780903,
"finish": 1762780903.978847,
"duration": 0.9788470268249512,
"processing": 0,
"date_start": "2025-11-10T16:21:43+03:00",
"date_finish": "2025-11-10T16:21:43+03:00",
"operating_reset_at": 1762781503,
"operating": 0.3446669578552246
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultarray | Список объектов с описанием полей пунктов чек-листа |
timetime | Информация о времени выполнения запроса |
Поля объекта result {#result-fields}
Названиетип | Описание |
|---|---|
IDstring | Идентификатор пункта чек-листа |
TASK_IDstring | Идентификатор задачи, к которой относится пункт |
PARENT_IDstring | Идентификатор родительского пункта. Значение |
CREATED_BYstring | Идентификатор автора пункта |
TITLEstring | Текст пункта чек-листа. Если |
SORT_INDEXstring | Индекс сортировки. Чем меньше значение, тем выше пункт в списке или подсписке |
IS_COMPLETEboolean | Статус выполнения пункта. Возможные значения: — Y — выполнен,— N — не выполнен |
IS_IMPORTANTboolean | Отметка важности пункта. Возможные значения: — Y — важный,— N — обычный |
TOGGLED_BYstring | Идентификатор пользователя, который последний раз сменил статус пункта. Может быть |
TOGGLED_DATEstring | Дата и время изменения статуса пункта в формате ISO 8601 |
MEMBERSarray | Список объектов с описанием участников |
ATTACHMENTSobject | Объект с описанием прикрепленных файлов. Ключ — идентификатор прикрепления файла |
Объект members {#members}
Названиетип | Описание |
|---|---|
IDstring | Идентификатор пользователя |
TYPEstring | Роль пользователя в пункте чек-листа. Возможные значения: — A — соисполнитель,— U — наблюдатель |
NAMEstring | Имя пользователя |
PERSONAL_PHOTOstring | Идентификатор файла с аватаром пользователя на Диске |
PERSONAL_GENDERstring | Пол пользователя. Возможные значения: — M — мужчина,— F — женщина |
IMAGEstring | Ссылка на аватар пользователя |
IS_COLLABERboolean | Признак, что пользователь является внешним участником |
Объект attachments {#attachments}
Названиетип | Описание |
|---|---|
ATTACHMENT_IDinteger | Идентификатор прикрепления |
NAMEstring | Имя файла |
SIZEstring | Размер файла в байтах |
FILE_IDstring | Идентификатор файла на Диске |
DOWNLOAD_URLstring | Ссылка для скачивания файла |
VIEW_URLstring | Ссылка для просмотра файла в браузере |
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_CORE",
"error_description":"TASKS_ERROR_EXCEPTION_#8; Action failed; 8\/TE\/ACTION_FAILED_TO_BE_PROCESSED\u003Cbr\u003E"
}Возможные коды ошибок
| Код | Описание | Значение |
|---|---|---|
ERROR_CORE | TASKS_ERROR_EXCEPTION_#8; Action failed; 8\/TE\/ACTION_FAILED_TO_BE_PROCESSED\u003Cbr\u003E | У пользователя нет доступа к задаче |
ERROR_CORE | TASKS_ERROR_EXCEPTION_#256; Param #0 (taskId) for method ctaskchecklistitem::getlist() expected to be of type \u0022integer\u0022, but given something else.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр TASKID или указано значение неверного типа |
ERROR_CORE | TASKS_ERROR_EXCEPTION_#256; Param #1 (arOrder) for method ctaskchecklistitem::getlist() must not contain key \u0022IS_COMPLETED\u0022.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Указано неверное поле в ORDER |
- [](./index)
- [](./task-checklist-item-add)
- [](./task-checklist-item-update)
- [](./task-checklist-item-get)
- [](./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.getlist, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Получить список пунктов чек-листа task.checklistitem.getlist».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru