МенеджерКалендарей.По умолчанию

Конструкторы

Создает менеджер управления календарями.

Синтаксис

Новый МенеджерКалендарей()
Полное описание, параметры и ограничения

МенеджерКалендарей.По умолчанию

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

По умолчанию

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

Синтаксис:
Новый МенеджерКалендарей()
Описание:

Создает менеджер управления календарями.

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

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

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

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

Проверить объявленный конструктор данных события учетной записи

Справка требует ДанныеКалендаря первым аргументом, хотя говорит о событии. Сохраняем точный объявленный тип и ограничение, не выдумываем календарную учетную запись.

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

Клиентская форма собственного мобильного приложения; требуется доступ к локальным календарям.

Подготовка

  1. Собственное мобильное приложение с разрешением на работу с календарями и собственным локальным учебным окружением. Код в клиентской форме. Календарь и событие не добавляются в систему: это только ограниченный пример конструктора.

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

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

  1. Получите настоящую локальную учетную запись менеджером.

  2. Создайте ДанныеКалендаря по объявленному типу аргумента.

  3. Вызовите конструктор и отдельно обработайте его несовпадение с описанием события.

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

  1. Не применяется случайная строка или UUID вместо учетной записи.

  2. Нет ДобавитьСобытие, сохранения или вымышленного глобального ключа.

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

Показан точный объявленный вариант с честной оговоркой противоречия типов.

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

  1. Объявление конструктора противоречит свойству ДанныеСобытияКалендаря. Это не подтвержденный способ создания события; не заменяйте аргумент типом события по догадке.

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

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

Проверяем 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С» и не аффилирован с ней.