Получить отчет о выявленных отсутствиях timeman.timecontrol.reports.get
Scope:
timemanКто может выполнять метод: любой пользователь с правом просмотра отчетов
Метод timeman.timecontrol.reports.get получает отчет о выявленных отсутствиях.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
USER_ID* |
Идентификатор пользователя, для которого запрашиваются отчеты. Получить идентификатор пользователя можно методом user.get |
|
MONTH* |
Номер месяца |
|
YEAR* |
Год |
|
IDLE_MINUTES |
Максимальное время отсутствия на рабочем месте, которое не учитывается как отсутствие. Параметр доступен руководителю и администратору. Если не указывать, используется время из настроек модуля |
|
WORKDAY_HOURS |
Продолжительность рабочего дня в часах. По умолчанию — 8 часов |
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"USER_ID":3,"MONTH":5,"YEAR":2025,"IDLE_MINUTES":15,"WORKDAY_HOURS":8}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/timeman.timecontrol.reports.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"USER_ID":3,"MONTH":5,"YEAR":2025,"IDLE_MINUTES":15,"WORKDAY_HOURS":8,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/timeman.timecontrol.reports.get
try
{
const response = await $b24.callMethod(
'timeman.timecontrol.reports.get',
{
'USER_ID': 3,
'MONTH': 5,
'YEAR': 2025,
'IDLE_MINUTES': 15,
'WORKDAY_HOURS': 8
}
);
const result = response.getData().result;
console.info(result);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'timeman.timecontrol.reports.get',
[
'USER_ID' => 3,
'MONTH' => 5,
'YEAR' => 2025,
'IDLE_MINUTES' => 15,
'WORKDAY_HOURS' => 8
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
echo 'Info: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting time control reports: ' . $e->getMessage();
}
BX24.callMethod(
'timeman.timecontrol.reports.get',
{
'USER_ID': 3,
'MONTH': 5,
'YEAR': 2025,
'IDLE_MINUTES': 15,
'WORKDAY_HOURS': 8
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'timeman.timecontrol.reports.get',
[
'USER_ID' => 3,
'MONTH' => 5,
'YEAR' => 2025,
'IDLE_MINUTES' => 15,
'WORKDAY_HOURS' => 8
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Обработка ответа
HTTP-статус: 200
{
"result": {
"report": {
"month_title": "Май",
"date_start": "2025-05-01T00:00:00+03:00",
"date_finish": "2025-05-31T23:59:59+03:00",
"days": [
{
"index": "20250526",
"day_title": "26.05.2025",
"workday_date_start": "2025-05-26T14:44:47+03:00",
"workday_date_finish": "2025-05-26T14:45:29+03:00",
"workday_complete": true,
"workday_time_leaks_user": 0,
"workday_time_leaks_final": 28758,
"workday_duration": 42,
"workday_duration_final": 42,
"workday_duration_config": 28800,
"reports": [
{
"id": "27",
"user_id": "503",
"type": "TM_START",
"date_start": "2025-05-26T14:44:47+03:00",
"date_finish": "2025-05-26T14:44:47+03:00",
"duration": 0,
"active": false,
"entry_id": "2237",
"report_type": "WORK",
"report_text": "Работал над проектом",
"system_text": null,
"source_start": "TM_EVENT",
"source_finish": "TM_EVENT",
"ip_start": "83.219.151.30",
"ip_finish": "83.219.151.30",
"ip_start_network": false,
"ip_finish_network": false
},
{
"id": "29",
...
}
],
"workday_time_leaks_real": 0
}
]
},
"user": {
"id": 3,
"active": true,
"name": "Мария Ившина",
"first_name": "Мария",
"last_name": "Ившина",
"work_position": "IT-специалист",
"avatar": "http://test.bitrix24.com/upload/resize_cache/45749/7acf4ca766af5d8/main/c89/c89c6b73470635c/4R5A1256.png",
"personal_gender": "F",
"last_activity_date": "2025-05-29T17:15:56+03:00"
},
"time": {
"start": 1748528193.688745,
"finish": 1748528193.730104,
"duration": 0.04135894775390625,
"processing": 0.014277935028076172,
"date_start": "2025-05-29T17:16:33+03:00",
"date_finish": "2025-05-29T17:16:33+03:00",
"operating_reset_at": 1748528793,
"operating": 0
}
}
}
Если в ответе пустой days
Если метод возвращает пустой массив days, настройте инструмент контроля времени.
-
Выполните под администратором метод timeman.timecontrol.settings.set с параметрами:
BX24.callMethod( 'timeman.timecontrol.settings.set', { active: true, REPORT_SIMPLE_TYPE: 'all', REPORT_FULL_TYPE: 'all', report_request_type: 'user', report_request_users: 3, }, function(result){ if(result.error()) { console.error(result.error().ex); } else { console.log(result.data()); } } ); -
Откройте или закройте рабочий день пользователя.
-
Выполните метод
timeman.timecontrol.reports.get. В ответе появятся данные вdays.
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой элемент ответа |
|
report |
Информация об отчете |
|
month_title |
Название месяца |
|
date_start |
Дата начала периода выборки в формате ATOM |
|
date_finish |
Дата окончания периода выборки в формате ATOM |
|
days |
Список объектов с описанием отработанных дней |
|
user |
Объект с информацией о пользователе |
|
time |
Информация о времени выполнения запроса |
Объекты days
|
Название |
Описание |
|
index |
Индекс дня недели формате |
|
day_title |
Дата в формате сайта |
|
workday_date_start |
Дата начала рабочего дня в формате ATOM |
|
workday_date_finish |
Дата окончания рабочего дня в формате ATOM. Если |
|
workday_complete |
Рабочий день завершен |
|
workday_time_leaks_user |
Продолжительность перерыва в секундах |
|
workday_time_leaks_final |
Продолжительность времени в секундах, которое пользователь недоработал или переработал.
|
|
workday_duration |
Продолжительность рабочего дня по табелю в секундах, с учетом перерыва |
|
workday_duration_final |
Продолжительность рабочего дня по фактической выработке в секундах. Учитываются:
|
|
workday_duration_config |
Необходимая продолжительность рабочего дня в секундах |
|
reports |
Список объектов с записями выявленных отсутствий. Значения выводятся в полной детализации отчета и для руководителя |
|
workday_time_leaks_real |
Продолжительность перерыва установленного автоматической системой фиксации. Содержит не подтвержденные отсутствия и отсутствия по личным делам |
Объекты reports
|
Название |
Описание |
|
id |
Идентификатор записи |
|
user_id |
Идентификатор пользователя |
|
type |
Тип записи. Возможные значения:
|
|
date_start |
Дата начала фиксации в формате ATOM |
|
date_finish |
Дата окончания фиксации в формате ATOM. Если |
|
duration |
Длительность |
|
active |
Активность записи |
|
entry_id |
Идентификатор записи времени |
|
report_type |
Тип отсутствия. Возможные значения:
|
|
report_text |
Описание причины отсутствия |
|
system_text |
Системное описание причины отсутствия. Только для руководителя |
|
source_start |
Поставщик данных начала записи. Возможные значения:
|
|
source_finish |
Поставщик данных окончания записи. Возможные значения:
|
|
ip_start |
IP-адрес на момент начала записи. Только для руководителя |
|
ip_finish |
IP-адрес на момент окончания записи. Только для руководителя |
|
Объект с расшифровкой IP-адреса для начала записи, если IP-адрес не входит в офисную сеть. Для офисной сети вернет Только для руководителя |
|
|
Объект с расшифровкой IP-адреса для окончания записи, если IP-адрес не входит в офисную сеть. Для офисной сети вернет Только для руководителя |
Объект ip_network
|
Название |
Описание |
|
ip |
IP-адрес |
|
range |
Диапазон, в который входит указанный IP-адрес |
|
name |
Название диапазона, в который входит указанный IP-адрес |
Объект user
|
Название |
Описание |
|
id |
Идентификатор пользователя |
|
active |
Активность |
|
name |
Имя и фамилия пользователя |
|
first_name |
Имя пользователя |
|
last_name |
Фамилия пользователя |
|
work_position |
Должность |
|
avatar |
URL аватара пользователя. Если значение пустое, у пользователя нет аватара |
|
personal_gender |
Пол пользователя |
|
last_activity_date |
Дата последнего действия пользователя в формате ATOM |
Обработка ошибок
HTTP-статус: 400
{
"error": "USER_ACCESS_ERROR",
"error_description": "You don't have access to report for this user"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Описание |
Значение |
|
|
You don't have access to this method |
У вас нет доступа к этому методу |
|
|
You don't have access to report for this user |
У вас нет доступа к отчетам этого пользователя |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Контроль времени: обзор методов
- Добавить отчет об отсутствии timeman.timecontrol.report.add
- Получить список пользователей подразделения timeman.timecontrol.reports.users.get