task.elapseditem.getlist
Получить список записей о затраченном времени
Описание
Метод task.elapseditem.getlist возвращает список записей о затраченном времени по задаче.
Параметры
taskId
integer
необязательный
Идентификатор задачи.
Идентификатор задачи можно получить при создании новой задачи или методом получения списка задач
order
object
необязательный
Объект для сортировки результата (подробное описание приведено ниже)
filter
object
необязательный
Объект для фильтрации результата (подробное описание приведено ниже)
select
array
необязательный
Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение "*", то будут возвращены все доступные поля.
По умолчанию будут возвращены все поля основной таблицы запроса
params
object
необязательный
Объект для опций вызова. Элементом является объект NAV_PARAMS вида {'опция вызова': 'значение' [, ...]} (подробное описание приведено ниже) в виде структуры
Параметр order
ID
string
необязательный
Идентификатор записи о затраченном времени. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
USER_ID
string
необязательный
Идентификатор пользователя, от имени которого была сделана запись о затраченном времени. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
MINUTES
string
необязательный
Затраченное время, минуты. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
SECONDS
string
необязательный
Затраченное время, секунды. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
CREATED_DATE
string
необязательный
Дата создания записи. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
DATE_START
string
необязательный
Дата начала. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
DATE_STOP
string
необязательный
Дата конца. Может принимать значения:
- asc — по возрастанию
- desc — по убыванию
Параметр filter
ID
integer
необязательный
Идентификатор записи о затраченном времени
USER_ID
integer
необязательный
Идентификатор пользователя, от имени которого была сделана запись о затраченном времени
CREATED_DATE
datetime
необязательный
Дата создания записи
Параметр NAV_PARAMS
nPageSize
integer
необязательный
Количество элементов на странице. В целях ограничения нагрузки на постраничную навигацию наложено ограничение в 50 записей
iNumPage
integer
необязательный
Номер страницы при постраничной навигации
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '[3839,{"ID":"asc"},{"USER_ID":1},["ID","TASK_ID","USER_ID","SECONDS","MINUTES","COMMENT_TEXT","CREATED_DATE"],{"NAV_PARAMS":{"nPageSize":2,"iNumPage":1}}]' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.elapseditem.getlist
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '[3839,{"ID":"asc"},{"USER_ID":1},["ID","TASK_ID","USER_ID","SECONDS","MINUTES","COMMENT_TEXT","CREATED_DATE"],{"NAV_PARAMS":{"nPageSize":2,"iNumPage":1}}]' \
https://**put_your_bitrix24_address**/rest/task.elapseditem.getlist?auth=**put_access_token_here**
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
type ElapsedItem = {
ID: string
TASK_ID: string
USER_ID: string
COMMENT_TEXT: string
SECONDS: string
MINUTES: string
SOURCE: string
CREATED_DATE: ISODate | null
DATE_START: ISODate | null
DATE_STOP: ISODate | null
}
try {
// task.elapseditem.getlist returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make variant when sort matters.
const response = await $b24.actions.v2.call.make<ElapsedItem[]>({
method: 'task.elapseditem.getlist',
params: [
3839,
{ ID: 'asc' },
{ USER_ID: 1 },
['ID', 'TASK_ID', 'USER_ID', 'SECONDS', 'MINUTES', 'COMMENT_TEXT', 'CREATED_DATE'],
{ NAV_PARAMS: { nPageSize: 2, iNumPage: 1 } },
],
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Elapsed items count:', result.length, 'First item:', result[0])
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function getElapsedItems() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// task.elapseditem.getlist returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'task.elapseditem.getlist',
params: [
3839,
{ ID: 'asc' },
{ USER_ID: 1 },
['ID', 'TASK_ID', 'USER_ID', 'SECONDS', 'MINUTES', 'COMMENT_TEXT', 'CREATED_DATE'],
{ NAV_PARAMS: { nPageSize: 2, iNumPage: 1 } },
],
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Elapsed items count:', result.length, 'First item:', result[0])
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getElapsedItems)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
order = {
"ID": "asc",
}
filter = {
"USER_ID": 1,
}
try:
bitrix_response = client.task.elapseditem.getlist(
taskid=3839,
order=order,
filter=filter,
select=["ID", "TASK_ID", "USER_ID", "SECONDS", "MINUTES", "COMMENT_TEXT", "CREATED_DATE"],
params={
"NAV_PARAMS": {
"nPageSize": 2,
"iNumPage": 1,
},
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'task.elapseditem.getlist',
[
3839,
['ID' => 'asc'],
['USER_ID' => 1],
['ID', 'TASK_ID', 'USER_ID', 'SECONDS', 'MINUTES', 'COMMENT_TEXT', 'CREATED_DATE'],
[
'NAV_PARAMS' => [
'nPageSize' => 2,
'iNumPage' => 1,
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting elapsed time records: ' . $e->getMessage();
}
BX24.callMethod(
'task.elapseditem.getlist',
[
3839,
{'ID': 'asc'},
{'USER_ID': 1},
['ID', 'TASK_ID', 'USER_ID', 'SECONDS', 'MINUTES', 'COMMENT_TEXT', 'CREATED_DATE'],
{"NAV_PARAMS":{
"nPageSize":2,
"iNumPage":1
}
},
],
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'task.elapseditem.getlist',
[
3839,
['ID' => 'asc'],
['USER_ID' => 1],
['ID', 'TASK_ID', 'USER_ID', 'SECONDS', 'MINUTES', 'COMMENT_TEXT', 'CREATED_DATE'],
[
'NAV_PARAMS' => [
'nPageSize' => 2,
'iNumPage' => 1,
],
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "task.elapseditem.getlist", []any{
3839,
b24.Params{
"ID": "asc",
},
b24.Params{
"USER_ID": 1,
},
[]string{"ID", "TASK_ID", "USER_ID", "SECONDS", "MINUTES", "COMMENT_TEXT", "CREATED_DATE"},
b24.Params{
"NAV_PARAMS": b24.Params{
"nPageSize": 2,
"iNumPage": 1,
},
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("task.elapseditem.getlist: %w", err)
}
var items []struct {
ID b24.ID `json:"ID"`
TaskID b24.ID `json:"TASK_ID"`
UserID b24.ID `json:"USER_ID"`
CommentText string `json:"COMMENT_TEXT"`
Seconds string `json:"SECONDS"`
Minutes string `json:"MINUTES"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID, it.TaskID)
}
Ответ
HTTP-статус: 200
{
"result":[
{
"ID": "153",
"TASK_ID": "3839",
"USER_ID": "1",
"COMMENT_TEXT": "",
"SECONDS": "5100",
"MINUTES": "85",
"CREATED_DATE": "2025-12-18T14:16:51+03:00"
},
{
"ID": "155",
"TASK_ID": "3839",
"USER_ID": "1",
"COMMENT_TEXT": "",
"SECONDS": "23",
"MINUTES": "0",
"CREATED_DATE": "2025-12-18T14:16:37+03:00"
}
],
"total": 2,
"time":{
"start":1787829762,
"finish":1787829762.985642,
"duration":0.9856419563293457,
"processing":0,
"date_start":"2026-08-27T14:22:42+03:00",
"date_finish":"2026-08-27T14:22:42+03:00",
"operating_reset_at":1787830362,
"operating":0.11980605125427246
}
}
Возвращаемые данные
result
array
Массив объектов с информацией о записях о затраченном времени по задаче
total
integer
Общее количество найденных записей
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_CORE",
"error_description":"ACTION_NOT_ALLOWED"
}
| Код | Описание | Значение |
|---|---|---|
0x100002 |
Доступ запрещен | |
0x000004 |
Действие не разрешено | |
0x000040 |
Неизвестная ошибка | |
0x000100 |
Переданы неверные параметры метода | |
ERROR_CORE |
Ошибка выполнения действия. Проверьте доступ к задаче и порядок позиционных параметров метода |

