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

Учебные задачи

Создаём данные собственного занятия Книга в памяти; дата задаётся в UTC, напоминания проверяются по фактическому типу.

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

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

Подготовка

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

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

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

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

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

&НаКлиенте
Процедура ВыполнитьПример(Команда)
    Календарь = Новый ДанныеКалендаря("Учебное чтение");
    Календарь.Цвет = Новый Цвет(40, 90, 180);
    НачалоUTC = Дата(2026, 10, 5, 10, 0, 0);
    КонецUTC = Дата(2026, 10, 5, 10, 30, 0);
    Событие = Новый ДанныеСобытияКалендаря(НачалоUTC, КонецUTC);
    Событие.Тема = "Учебное чтение Книги";
    Событие.Описание = "Только собственный черновик, без приглашений";
    Событие.Место = "Учебный стол";
    Событие.ВесьДень = Ложь;
    Событие.Организатор = "";
    Событие.Участники = Новый Массив;
    Событие.ЧасовойПояс = "UTC";
    Событие.Повторение = ПовторениеСобытияКалендаря.ОдинРаз;
    Сообщить(Календарь.Имя = "Учебное чтение");
    Сообщить(ТипЗнч(Календарь.Цвет) = Тип("Цвет"));
    Сообщить(Событие.Начало = НачалоUTC);
    Сообщить(Событие.Конец = КонецUTC);
    Сообщить(Событие.Конец - Событие.Начало = 1800);
    Сообщить(Не Событие.ВесьДень);
    Сообщить(Событие.Тема = "Учебное чтение Книги");
    Сообщить(Событие.Место = "Учебный стол");
    Сообщить(Не ПустаяСтрока(Событие.Описание));
    Сообщить(ПустаяСтрока(Событие.Организатор));
    Сообщить(Событие.Участники.Количество() = 0);
    Сообщить(Событие.ЧасовойПояс = "UTC");
    Сообщить(Событие.Повторение = ПовторениеСобытияКалендаря.ОдинРаз);
    Сообщить("Тип исходных данных календаря: " + Строка(ТипЗнч(Календарь.ИсходныеДанные)));
    Сообщить("Тип исходных данных события: " + Строка(ТипЗнч(Событие.ИсходныеДанные)));
    Напоминания = Событие.Напоминания;
    Если ТипЗнч(Напоминания) = Тип("Массив") Тогда
        Сообщить("Исходных напоминаний: " + Строка(Напоминания.Количество()));
    Иначе
        Сообщить("Тип напоминаний требует отдельной проверки: " + Строка(ТипЗнч(Напоминания)));
    КонецЕсли;
КонецПроцедуры

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

  1. Создайте команду ВыполнитьПример. Конструкторы создают описания в памяти, а не календарь и событие операционной системы.

  2. Начало и Конец данных события используют универсальное время. Разность дат 1С — секунды: 30 минут равно 1800, не 30.

  3. ЧасовойПояс — отдельное строковое описание зоны. Установка UTC не преобразует уже переданные даты; значения дат в коде изначально трактуются как UTC.

  4. ОдинРаз задаёт отсутствие повторения. ВесьДень = Ложь означает событие с конкретным временем; это не ежедневный интервал и не весь день.

  5. Участники пусты, Организатор пуст. Никаких приглашений не отправляется: менеджер добавления вообще не вызывается.

  6. В установленной справке Напоминания объявлены Число, но описание говорит о массиве минут. Код читает фактический тип и ничего в напоминания не записывает.

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

  1. Тринадцать логических проверок дают Истина; длительность собственного черновика 1800 секунд.

  2. На устройстве не появилось события: ДобавитьСобытие не вызывался. Отдельно видны фактические типы исходных данных и напоминаний.

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

Готов понятный черновик занятия с явными датами UTC без обращения к календарям ОС.

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

  1. Не используйте ТекущаяДата как UTC без явного преобразования и согласования зоны.

  2. Не присваивайте Напоминания число или массив наугад из-за противоречия справки.

  3. Фиксированная учебная дата может быть в прошлом; это не планировщик актуальных напоминаний.

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

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

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

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

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