МенеджерКалендарей.ПолучитьУчетныеЗаписиКалендарей

Методы · GetCalendarAccounts

Получает массив учетных записей календарей доступных на устройстве.

Синтаксис

ПолучитьУчетныеЗаписиКалендарей()
Полное описание, параметры и ограничения

МенеджерКалендарей.ПолучитьУчетныеЗаписиКалендарей (CalendarsManager.GetCalendarAccounts)

МенеджерКалендарей (CalendarsManager)

ПолучитьУчетныеЗаписиКалендарей (GetCalendarAccounts)

Доступен, начиная с версии 8.3.4.

Синтаксис:
ПолучитьУчетныеЗаписиКалендарей()
Возвращаемое значение:
Тип: Массив.
Массив содержит элементы типа УчетнаяЗаписьКалендарей.
Описание:

Получает массив учетных записей календарей доступных на устройстве.

Доступность:

Мобильный клиент, мобильное приложение (клиент).

Использование в версии:

Доступен, начиная с версии 8.3.4.

Методическая информация

Практические примеры

Прочитать доступные учётные записи без раскрытия их имён

Проверяем API, локальную учётную запись и поддержку ключей; основной календарь не запрашивается, потому что такой запрос может его создать.

Где и как запускать

Полный клиентский модуль собственной мобильной управляемой формы. Не вставляйте процедуры внутрь другой процедуры.

Подготовка

  1. Мобильный клиент/мобильное приложение 1С на собственном тестовом устройстве, не настольный тонкий клиент. Используйте отдельную пустую конфигурацию УчебнаяКонфигурацияСинтаксиса.

  2. Первый урок работает только с данными в памяти. Для обращения к календарям вручную разрешите учебному приложению доступ в настройках ОС; доступность API не заменяет разрешение.

  3. Для уроков добавления, изменения и удаления используйте только отдельное учебное устройство/профиль с локальными календарями без синхронизации, приглашений и рабочих событий. Не используйте основной личный/корпоративный календарь.

  4. Код вставляется на уровне модуля собственной управляемой формы. Команды с указанными именами создайте вручную и назначьте им одноимённые обработчики.

  5. Никакой из этих рецептов в настоящем мобильном клиенте не запускался автоматически. Проверяйте разрешения, фактические типы и контрольные результаты на своём учебном устройстве.

&НаКлиенте
Процедура ВыполнитьПример(Команда)
    Менеджер = Новый МенеджерКалендарей;
    Сообщить("Добавление календарей: " + Строка(Менеджер.ПоддерживаетсяДобавлениеКалендарей()));
    Сообщить("Глобальные ключи календарей: " + Строка(Менеджер.ПоддерживаютсяГлобальныеКлючиКалендарей()));
    Сообщить("Глобальные ключи событий: " + Строка(Менеджер.ПоддерживаютсяГлобальныеКлючиСобытий()));
    Записи = Менеджер.ПолучитьУчетныеЗаписиКалендарей();
    Сообщить("Доступных учётных записей: " + Строка(Записи.Количество()));
    Для Каждого Запись Из Записи Цикл
        Сообщить(ТипЗнч(Запись) = Тип("УчетнаяЗаписьКалендарей"));
        Сообщить(ТипЗнч(Запись.Идентификатор) = Тип("Строка"));
        Сообщить(ТипЗнч(Запись.ИсточникУчетнойЗаписи) = Тип("Строка"));
    КонецЦикла;
    ЛокальнаяЗапись = Менеджер.ПолучитьЛокальнуюУчетнуюЗаписьКалендарей();
    Сообщить(ТипЗнч(ЛокальнаяЗапись) = Тип("УчетнаяЗаписьКалендарей"));
    Сообщить("Источник локальной записи задан: " + Строка(Не ПустаяСтрока(ЛокальнаяЗапись.ИсточникУчетнойЗаписи)));
КонецПроцедуры

Разбор по шагам

  1. Создайте команду ВыполнитьПример и заранее разрешите доступ только учебному приложению.

  2. МенеджерКалендарей создаётся без параметров. Он не является данными одного календаря.

  3. ПолучитьУчетныеЗаписиКалендарей возвращает массив объектов, не строки адресов. Мы показываем только число и проверки типов, не идентификаторы и источники всех личных записей.

  4. ПолучитьЛокальнуюУчетнуюЗаписьКалендарей получает локальную запись. По справке Android использует фиктивную LOCAL, iOS штатный механизм; код не присваивает чужой источник вручную.

  5. По установленной справке глобальные ключи календарей не поддерживаются, событий поддерживаются. Всё равно читаем фактический ответ текущего устройства.

  6. ПолучитьОсновнойКалендарь намеренно отсутствует в этом читающем уроке: на Android без календарей метод может создать LOCAL.

Как проверить результат

  1. Выведено фактическое число записей; проверки типов доступных записей и локальной записи дают Истина.

  2. Идентификаторы/адреса учётных записей не попали в Сообщить; код не вызывает добавление, изменение или удаление календарей.

Ожидаемый результат

Получены реальные возможности и локальная учётная запись без предположений о конкретном аккаунте.

На что обратить внимание

  1. ПоддерживаетсяДобавлениеКалендарей не доказывает наличие разрешения ОС или права писать любой календарь.

  2. LOCAL и основная учётная запись — не одно и то же; не переключайте пример на корпоративную запись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.