Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить основные настройки календаря calendar.settings.get», проанализируем лучшие практики и покажем, как правильно использовать calendar.settings.get в реальных задачах.
Получить основные настройки календаря calendar.settings.get
> Scope: calendar
>
> Кто может выполнять метод: любой пользователь
Метод получает основные настройки календаря. Изменить основные настройки может только администратор портала.
Без параметров.
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/calendar.settings.get- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/calendar.settings.get- JS
try
{
const response = await $b24.callMethod(
'calendar.settings.get',
{}
);
const result = response.getData().result;
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'calendar.settings.get',
[]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting calendar settings: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'calendar.settings.get',
{}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'calendar.settings.get',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": {
"work_time_start": "9",
"work_time_end": "19",
"year_holidays": "1.01,2.01,7.01,23.02,8.03,1.05,9.05,12.06,4.11",
"year_workdays": "31.12",
"week_holidays": [
"SA",
"SU"
],
"week_start": "MO",
"user_name_template": "#NAME# #LAST_NAME#",
"sync_by_push": false,
"user_show_login": true,
"path_to_user": "/company/personal/user/#user_id#/",
"path_to_user_calendar": "/company/personal/user/#user_id#/calendar/",
"path_to_group": "/workgroups/group/#group_id#/",
"path_to_group_calendar": "/workgroups/group/#group_id#/calendar/",
"path_to_vr": "",
"path_to_rm": "",
"rm_iblock_type": "",
"rm_iblock_id": "",
"dep_manager_sub": true,
"denied_superpose_types": [],
"pathes_for_sites": "",
"forum_id": "8",
"rm_for_sites": true,
"path_to_type_company_calendar": "",
"path_to_type_location": "",
"path_to_type_open_event": ""
},
"time": {
"start": 1733924639.802569,
"finish": 1733924640.184363,
"duration": 0.3817939758300781,
"processing": 0.012382984161376953,
"date_start": "2024-12-11T13:43:59+00:00",
"date_finish": "2024-12-11T13:44:00+00:00"
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultobject | Корневой элемент ответа |
work_time_startstring | Время начала рабочего дня |
work_time_endstring | Время окончания рабочего дня |
year_holidaysstring | Список праздничных дней |
week_holidaysarray | Массив выходных дней |
week_startstring | День начала недели |
user_name_templatestring | Шаблон имени пользователя |
sync_by_pushboolean | Флаг автоматической синхронизации календарей по подписке. Push-события от Google/Office365 |
user_show_loginboolean | Флаг отображения логина пользователя |
path_to_userstring | Шаблон ссылки на профиль пользователя |
path_to_user_calendarstring | Шаблон ссылки на просмотр календаря пользователя |
path_to_groupstring | Шаблон ссылки на просмотр рабочей группы |
path_to_group_calendarstring | Шаблон ссылки на просмотр календаря группы |
path_to_vrstring | Шаблон ссылки к видеопереговорной |
path_to_rmstring | Шаблон ссылки к переговорной |
rm_iblock_typestring | Тип инфоблока бронирования переговорных и видеопереговорных |
rm_iblock_idstring | Идентификатор инфоблока бронирования переговорных |
dep_manager_subboolean | Флаг разрешения начальникам просматривать календари подчиненных |
denied_superpose_typesarray | Список типов календарей, которые не могут быть добавлены в избранные |
pathes_for_sitesboolean | Устанавливает шаблоны ссылок общие для всех сайтов |
forum_idstring | Идентификатор форума для комментариев |
rm_for_sitesboolean | Устанавливает параметры переговорных общие для всех сайтов |
path_to_type_company_calendarstring | Шаблон ссылки на просмотр календарей компании |
path_to_type_locationstring | Шаблон ссылки на просмотр бронирования переговорных |
path_to_type_open_eventstring | Шаблон ссылки на просмотр календаря открытых событий |
Обработка ошибок
- [](./index)
- [](./calendar-user-settings-get)
- [](./calendar-user-settings-set)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Получить основные настройки календаря calendar.settings.get» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru