← К документации

Модули коробки

Задачи: REST и внутренний PHP API

Чтение и создание задач, права участников и переход от старых комментариев к чатам.

REST-примеры рассчитаны на приложение с BX24.js в облаке или коробке. Внутренние PHP-классы доступны только в коробке.

Прочитать задачу

Для приложения используйте публичный REST в контексте пользователя. Пример выбирает несколько полей задачи; ID 123 заменяется существующим ID.

BX24.init(function () {
    BX24.callMethod("tasks.task.get", {
    "taskId": 123,
    "select": [
        "ID",
        "TITLE",
        "RESPONSIBLE_ID",
        "STATUS"
    ]
}, function (result) {
        if (result.error()) {
            console.error(result.error());
            return;
        }
        console.log(result.data());
    });
});

Создать задачу

Ответственный и название задаются внутри fields. Создание задачи может отправить уведомления участникам, поэтому этот пример не запускается автоматически.

BX24.init(function () {
    BX24.callMethod("tasks.task.add", {
    "fields": {
        "TITLE": "Проверить импорт",
        "RESPONSIBLE_ID": 15
    }
}, function (result) {
        if (result.error()) {
            console.error(result.error());
            return;
        }
        console.log(result.data());
    });
});

Изменение и удаление — отдельные методы tasks.task.update и tasks.task.delete. Успешное чтение не подтверждает право удалить задачу.

TaskTable и CTaskItem в коробке

TaskTable удобно использовать для административной диагностики. Прямой запрос ORM не равен пользовательскому списку задач и не добавляет проверку прав автоматически. Для пользовательских действий выбирайте API задач, который проверяет контекст исполнителя.

Legacy-класс CTaskItem остаётся полезен при сопровождении старого кода. Его методы и формат результата сверяются с установленной версией модуля; не заменяйте их прямым обновлением b_tasks.

Комментарии и новые чаты задач

С версии модуля tasks 25.700.0 модель работы с комментариями изменилась: старые методы task.commentitem.* относятся к прежнему механизму. Для нового чата нужен ID диалога задачи и актуальные методы чата, а не поиск форума по старому примеру.

Числа task ID, chat ID и message ID не взаимозаменяемы. Для просмотра доступной истории используйте API сообщений. Внутренний признак TASKS_TASK в таблице чатов зависит от версии и не является универсальным публичным контрактом.

Источники