При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить пользовательские настройки календаря calendar.user.settings.get», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.
Получить пользовательские настройки календаря calendar.user.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.user.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.user.settings.get- JS
try
{
const response = await $b24.callMethod(
'calendar.user.settings.get',
{}
);
const result = response.getData().result;
console.log('Result:', result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'calendar.user.settings.get',
[]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting user calendar settings: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'calendar.user.settings.get',
{}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'calendar.user.settings.get',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": {
"view": "month",
"meetSection": "4",
"crmSection": "4",
"showDeclined": true,
"denyBusyInvitation": false,
"collapseOffHours": "N",
"showWeekNumbers": "N",
"showTasks": "Y",
"syncTasks": "N",
"showCompletedTasks": "N",
"lastUsedSection": "false",
"sendFromEmail": "",
"defaultSections": {
"user1": "4",
"group6": "49"
},
"syncPeriodPast": "3",
"syncPeriodFuture": "12",
"defaultReminders": {
"fullDay": [
{
"type": "min",
"count": 15
}
],
"withTime": [
{
"type": "min",
"count": 50
}
]
},
"timezoneName": "Europe/Riga",
"timezoneOffsetUTC": 7200,
"timezoneDefaultName": "",
"work_time_start": "9.00",
"work_time_end": "19.00"
},
"time": {
"start": 1734434829.455204,
"finish": 1734434829.797482,
"duration": 0.34227800369262695,
"processing": 0.0038161277770996094,
"date_start": "2024-12-17T11:27:09+00:00",
"date_finish": "2024-12-17T11:27:09+00:00"
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultobject | Корневой элемент ответа |
viewstring | Стандартное представление для календаря. Возможные значения: — day — день— week — неделя— month — месяц— list — список |
meetSectionstring | Календарь для приглашений |
crmSectionstring | Календарь для CRM |
showDeclinedboolean | Показывать события, в которых пользователь отказался принять участие |
denyBusyInvitationboolean | Запрещать приглашать в событие, если время занято |
collapseOffHoursstring | Скрывать нерабочее время в календаре в недельном и дневном представлении. Возможные значения: — Y — скрывать— N — не скрывать |
showWeekNumbersstring | Показывать номер недель. Возможные значения: — Y — показывать— N — не показывать |
showTasksstring | Отображать задачи в календаре. Возможные значения: — Y — отображать— N — не отображать |
syncTasksstring | Синхронизировать календарь задач. Возможные значения: — Y — да— N — нет |
showCompletedTasksstring | Отображать завершенные задачи. Возможные значения: — Y — отображать— N — не отображать |
lastUsedSectionstring | Идентификатор календаря, который используется при создании событий, если в параметрах не передан идентификатор календаря. Значение по умолчанию — |
sendFromEmailstring | E-mail для отправки почтовых приглашений |
defaultSectionsobject | Настройки предустановленных календарей. Ключем объекта настроек может быть: Значением объекта является идентификатор календаря |
syncPeriodPaststring | Количество месяцев для синхронизации в прошлом периоде |
syncPeriodFuturestring | Количество месяцев для синхронизации в будущем периоде |
defaultRemindersobject | Объект со стандартными настройками напоминаний о событии |
timezoneNamestring | Таймзона календаря |
timezoneOffsetUTCinteger | Смешение таймзоны относительно UTC в секундах |
timezoneDefaultNamestring | Если параметр timezoneName не установлен, здесь будет указан часовой пояс из параметра timezoneOffsetUTC |
work_time_startstring | Время начала рабочего дня |
work_time_endstring | Время окончания рабочего дня |
Объект defaultReminders {#defaultReminders}
Названиетип | Описание |
|---|---|
fullDayarray | Массив стандартных настроек напоминаний для целодневных событий |
withTimearray | Массив стандартных настроек напоминаний для событий с указанием времени |
Объект настроек напоминания {#reminder-settings}
Названиетип | Описание |
|---|---|
typestring | Временной тип напоминания. Возможные значения: — min — минуты— hour — часы— day — дни |
countinteger | Числовое значение временного промежутка |
Обработка ошибок
- [](./index)
- [](./calendar-settings-get)
- [](./calendar-user-settings-set)
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Получить пользовательские настройки календаря calendar.user.settings.get»:
Использование современных стандартов D7 при работе с calendar.user.settings.get позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru