timeman.schedule.get
Получить рабочий график
Описание
Метод timeman.schedule.get получает рабочий график по идентификатору. Если графика с указанным идентификатором не существует — вернет пустой массив.
Параметры
id
integer
необязательный
Идентификатор графика.
Узнать идентификатор графика можно в списке графиков на странице *Сотрудники > Время и отчеты > Рабочие графики*
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":1}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/timeman.schedule.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":1,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/timeman.schedule.get
// 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
// Shape of the payload returned in result (match the "response handling" section of the page)
type ScheduleGetResult = {
ID: number
NAME: string
SCHEDULE_TYPE: string
REPORT_PERIOD: string
REPORT_PERIOD_OPTIONS: {
START_WEEK_DAY: number
}
CALENDAR_ID: number
ALLOWED_DEVICES: {
browser: boolean
}
DELETED: string
IS_FOR_ALL_USERS: boolean
WORKTIME_RESTRICTIONS: string[]
CONTROLLED_ACTIONS: number
UPDATED_BY: number
DELETED_BY: number
DELETED_AT: string
CREATED_BY: number
CREATED_AT: ISODate
SHIFTS: {
ID: number
NAME: string
BREAK_DURATION: number
WORK_TIME_START: number
WORK_TIME_END: number
WORK_DAYS: string
SCHEDULE_ID: number
DELETED: boolean
}[]
CALENDAR: {
ID: number
NAME: string
PARENT_CALENDAR_ID: number
SYSTEM_CODE: string
EXCLUSIONS: string[]
}
SCHEDULE_VIOLATION_RULES: {
ID: number
SCHEDULE_ID: number
ENTITY_CODE: string
MAX_EXACT_START: number
MIN_EXACT_END: number
MAX_OFFSET_START: number
MIN_OFFSET_END: number
RELATIVE_START_FROM: number
RELATIVE_START_TO: number
RELATIVE_END_FROM: number
RELATIVE_END_TO: number
MIN_DAY_DURATION: number
MAX_ALLOWED_TO_EDIT_WORK_TIME: number
MAX_WORK_TIME_LACK_FOR_PERIOD: number
PERIOD_TIME_LACK_AGENT_ID: number
MAX_SHIFT_START_DELAY: number
MISSED_SHIFT_START: number
USERS_TO_NOTIFY: {
FIXED_START_END: string[]
FIXED_PER_RECORD: string[]
FIXED_EDIT_WORKTIME: string[]
FIXED_PERIODIC: string[]
SHIFT_DELAY: string[]
SHIFT_MISSED_START: string[]
}
}
}
try {
const response = await $b24.actions.v2.call.make<ScheduleGetResult>({
method: 'timeman.schedule.get',
params: {
id: 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('Schedule:', result.ID, result.NAME, result.SCHEDULE_TYPE)
}
} 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 getSchedule() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'timeman.schedule.get',
params: {
id: 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('Schedule:', result.ID, result.NAME, result.SCHEDULE_TYPE)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getSchedule)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.timeman.schedule.get(bitrix_id=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(
'timeman.schedule.get',
[
'id' => 1
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
var_dump($result->data());
if ($result->more()) {
$result->next();
}
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting schedule: ' . $e->getMessage();
}
BX24.callMethod(
"timeman.schedule.get",
{
id: 1
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.dir(result.data());
if(result.more())
result.next();
}
}
);
require_once('crest.php');
$result = CRest::call(
'timeman.schedule.get',
[
'id' => 1
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "timeman.schedule.get", b24.Params{
"id": 1,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("timeman.schedule.get: %w", err)
}
var item struct {
ID b24.ID `json:"ID"`
Name string `json:"NAME"`
ScheduleType string `json:"SCHEDULE_TYPE"`
ReportPeriod string `json:"REPORT_PERIOD"`
CalendarID b24.ID `json:"CALENDAR_ID"`
Deleted string `json:"DELETED"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.Name)
Ответ
HTTP-статус: 200
{
"result": {
"ID": 1,
"NAME": "Для всех сотрудников",
"SCHEDULE_TYPE": "FIXED",
"REPORT_PERIOD": "MONTH",
"REPORT_PERIOD_OPTIONS": {
"START_WEEK_DAY": 0
},
"CALENDAR_ID": 1,
"ALLOWED_DEVICES": {
"browser": true
},
"DELETED": "0",
"IS_FOR_ALL_USERS": true,
"WORKTIME_RESTRICTIONS": [
"[]"
],
"CONTROLLED_ACTIONS": 3,
"UPDATED_BY": 503,
"DELETED_BY": 0,
"DELETED_AT": "",
"CREATED_BY": 0,
"CREATED_AT": "2019-09-19T21:22:22+03:00",
"SHIFTS": [
{
"ID": 1,
"NAME": "",
"BREAK_DURATION": 3600,
"WORK_TIME_START": 28800,
"WORK_TIME_END": 61200,
"WORK_DAYS": "12345",
"SCHEDULE_ID": 1,
"DELETED": false
}
],
"CALENDAR": {
"ID": 1,
"NAME": "",
"PARENT_CALENDAR_ID": 0,
"SYSTEM_CODE": "",
"EXCLUSIONS": []
},
"SCHEDULE_VIOLATION_RULES": {
"ID": 1,
"SCHEDULE_ID": 1,
"ENTITY_CODE": "UA",
"MAX_EXACT_START": 28859,
"MIN_EXACT_END": 61200,
"MAX_OFFSET_START": -1,
"MIN_OFFSET_END": -1,
"RELATIVE_START_FROM": -1,
"RELATIVE_START_TO": -1,
"RELATIVE_END_FROM": -1,
"RELATIVE_END_TO": -1,
"MIN_DAY_DURATION": 28800,
"MAX_ALLOWED_TO_EDIT_WORK_TIME": 300,
"MAX_WORK_TIME_LACK_FOR_PERIOD": 3600,
"PERIOD_TIME_LACK_AGENT_ID": 309429,
"MAX_SHIFT_START_DELAY": -1,
"MISSED_SHIFT_START": 0,
"USERS_TO_NOTIFY": {
"FIXED_START_END": [
"U503"
],
"FIXED_PER_RECORD": [
"U503"
],
"FIXED_EDIT_WORKTIME": [
"U503"
],
"FIXED_PERIODIC": [
"U503"
],
"SHIFT_DELAY": [],
"SHIFT_MISSED_START": []
}
}
},
"time": {
"start": 1744036659.2339499,
"finish": 1744036659.2655749,
"duration": 0.031625032424926758,
"processing": 0.008758068084716797,
"date_start": "2025-04-07T17:37:39+03:00",
"date_finish": "2025-04-07T17:37:39+03:00",
"operating_reset_at": 1744037259,
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа.
Содержит объект с описанием графика работы сотрудников
ID
integer
Идентификатор графика работы
NAME
string
Название графика работы
SCHEDULE_TYPE
string
Тип графика работы.
Варианты значений:
- FIXED — фиксированный
- SHIFT — посменный
- FLEXTIME — свободный
REPORT_PERIOD
string
Периодичность формирования отчетов по графику.
Возможные значения:
- MONTH — месяц
- WEEK — неделя
- TWO_WEEKS — две недели
- QUARTER — квартал
REPORT_PERIOD_OPTIONS
object
Объект с описанием дополнительных настроек периода формирования отчетов.
Только для REPORT_PERIOD со значениями WEEK и TWO_WEEKS
CALENDAR_ID
integer
Идентификатор календаря, связанного с графиком работы
ALLOWED_DEVICES
object
Объект с описанием разрешенных устройств для учета рабочего времени
DELETED
string
Флаг удаления графика работы.
Значение "0" означает, что график активен. Значение "1" указывает на удаленное состояние
IS_FOR_ALL_USERS
boolean
Применимость графика ко всем сотрудникам.
Значение true означает, что график применяется ко всем пользователям системы
WORKTIME_RESTRICTIONS
array
Ограничения рабочего времени.
Содержит массив строк с правилами ограничений
CONTROLLED_ACTIONS
integer
Количество контролируемых действий в рамках графика работы
UPDATED_BY
integer
Идентификатор пользователя, который последним обновил график работы
DELETED_BY
integer
Идентификатор пользователя, который удалил график работы.
Значение 0 указывает, что график не был удален
DELETED_AT
string
Дата и время удаления графика работы.
Пустая строка означает, что график не был удален
CREATED_BY
integer
Идентификатор пользователя, который создал график работы.
Значение 0 указывает на системное создание
CREATED_AT
datetime
Дата и время создания графика работы
SHIFTS
array
Массив объектов смен. Каждый объект содержит описание смены, связанной с графиком работы
CALENDAR
object
Объект с информацией о календаре, связанном с графиком работы
SCHEDULE_VIOLATION_RULES
object
Объект с описанием правил нарушения графика работы
time
time
Информация о времени выполнения запроса

