Создает менеджер управления календарями.
Синтаксис
Новый МенеджерКалендарей()Полное описание, параметры и ограничения
МенеджерКалендарей.По умолчанию
МенеджерКалендарей (CalendarsManager)
По умолчанию
Доступен, начиная с версии 8.3.4.
Синтаксис:
Новый МенеджерКалендарей()
Описание:
Создает менеджер управления календарями.
Использование в версии:
Доступен, начиная с версии 8.3.4.
Методическая информация
Практические примеры
Проверить объявленный конструктор данных события учетной записи
Справка требует ДанныеКалендаря первым аргументом, хотя говорит о событии. Сохраняем точный объявленный тип и ограничение, не выдумываем календарную учетную запись.
Где и как запускать
Клиентская форма собственного мобильного приложения; требуется доступ к локальным календарям.
Подготовка
Собственное мобильное приложение с разрешением на работу с календарями и собственным локальным учебным окружением. Код в клиентской форме. Календарь и событие не добавляются в систему: это только ограниченный пример конструктора.
&НаКлиенте
Процедура ПодготовитьОбъявленныеДанныеУчетнойЗаписи()
Календари = Новый МенеджерКалендарей;
УчетнаяЗапись = Календари.ПолучитьЛокальнуюУчетнуюЗаписьКалендарей();
Данные = Новый ДанныеКалендаря("Мой незаписанный учебный календарь");
Попытка
Описание = Новый ДанныеСобытияКалендаряУчетнойЗаписи(Данные, УчетнаяЗапись);
Сообщить("Учетная запись объекта: " + Описание.УчетнаяЗапись.Идентификатор);
Исключение
Сообщить("Объявленный вариант конструктора не принят фактической платформой");
КонецПопытки;
КонецПроцедурыРазбор по шагам
Получите настоящую локальную учетную запись менеджером.
Создайте ДанныеКалендаря по объявленному типу аргумента.
Вызовите конструктор и отдельно обработайте его несовпадение с описанием события.
Как проверить результат
Не применяется случайная строка или UUID вместо учетной записи.
Нет ДобавитьСобытие, сохранения или вымышленного глобального ключа.
Ожидаемый результат
Показан точный объявленный вариант с честной оговоркой противоречия типов.
На что обратить внимание
Объявление конструктора противоречит свойству ДанныеСобытияКалендаря. Это не подтвержденный способ создания события; не заменяйте аргумент типом события по догадке.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Прочитать доступные учётные записи без раскрытия их имён
Проверяем API, локальную учётную запись и поддержку ключей; основной календарь не запрашивается, потому что такой запрос может его создать.
Где и как запускать
Полный клиентский модуль собственной мобильной управляемой формы. Не вставляйте процедуры внутрь другой процедуры.
Подготовка
Мобильный клиент/мобильное приложение 1С на собственном тестовом устройстве, не настольный тонкий клиент. Используйте отдельную пустую конфигурацию УчебнаяКонфигурацияСинтаксиса.
Первый урок работает только с данными в памяти. Для обращения к календарям вручную разрешите учебному приложению доступ в настройках ОС; доступность API не заменяет разрешение.
Для уроков добавления, изменения и удаления используйте только отдельное учебное устройство/профиль с локальными календарями без синхронизации, приглашений и рабочих событий. Не используйте основной личный/корпоративный календарь.
Код вставляется на уровне модуля собственной управляемой формы. Команды с указанными именами создайте вручную и назначьте им одноимённые обработчики.
Никакой из этих рецептов в настоящем мобильном клиенте не запускался автоматически. Проверяйте разрешения, фактические типы и контрольные результаты на своём учебном устройстве.
&НаКлиенте
Процедура ВыполнитьПример(Команда)
Менеджер = Новый МенеджерКалендарей;
Сообщить("Добавление календарей: " + Строка(Менеджер.ПоддерживаетсяДобавлениеКалендарей()));
Сообщить("Глобальные ключи календарей: " + Строка(Менеджер.ПоддерживаютсяГлобальныеКлючиКалендарей()));
Сообщить("Глобальные ключи событий: " + Строка(Менеджер.ПоддерживаютсяГлобальныеКлючиСобытий()));
Записи = Менеджер.ПолучитьУчетныеЗаписиКалендарей();
Сообщить("Доступных учётных записей: " + Строка(Записи.Количество()));
Для Каждого Запись Из Записи Цикл
Сообщить(ТипЗнч(Запись) = Тип("УчетнаяЗаписьКалендарей"));
Сообщить(ТипЗнч(Запись.Идентификатор) = Тип("Строка"));
Сообщить(ТипЗнч(Запись.ИсточникУчетнойЗаписи) = Тип("Строка"));
КонецЦикла;
ЛокальнаяЗапись = Менеджер.ПолучитьЛокальнуюУчетнуюЗаписьКалендарей();
Сообщить(ТипЗнч(ЛокальнаяЗапись) = Тип("УчетнаяЗаписьКалендарей"));
Сообщить("Источник локальной записи задан: " + Строка(Не ПустаяСтрока(ЛокальнаяЗапись.ИсточникУчетнойЗаписи)));
КонецПроцедурыРазбор по шагам
Создайте команду ВыполнитьПример и заранее разрешите доступ только учебному приложению.
МенеджерКалендарей создаётся без параметров. Он не является данными одного календаря.
ПолучитьУчетныеЗаписиКалендарей возвращает массив объектов, не строки адресов. Мы показываем только число и проверки типов, не идентификаторы и источники всех личных записей.
ПолучитьЛокальнуюУчетнуюЗаписьКалендарей получает локальную запись. По справке Android использует фиктивную LOCAL, iOS штатный механизм; код не присваивает чужой источник вручную.
По установленной справке глобальные ключи календарей не поддерживаются, событий поддерживаются. Всё равно читаем фактический ответ текущего устройства.
ПолучитьОсновнойКалендарь намеренно отсутствует в этом читающем уроке: на Android без календарей метод может создать LOCAL.
Как проверить результат
Выведено фактическое число записей; проверки типов доступных записей и локальной записи дают Истина.
Идентификаторы/адреса учётных записей не попали в Сообщить; код не вызывает добавление, изменение или удаление календарей.
Ожидаемый результат
Получены реальные возможности и локальная учётная запись без предположений о конкретном аккаунте.
На что обратить внимание
ПоддерживаетсяДобавлениеКалендарей не доказывает наличие разрешения ОС или права писать любой календарь.
LOCAL и основная учётная запись — не одно и то же; не переключайте пример на корпоративную запись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.