Заголовок, текст и наклейка доступны для записи. Получатели и звуковое оповещение — readonly-свойства; наличие черновика не означает доставку.
Где и как запускать
Полный серверный модуль своей конфигурации. Только собственный объект уведомления, без подписчиков и отправки.
Подготовка
Создайте в отдельной конфигурации УчебнаяКонфигурацияСинтаксиса серверный общий модуль УчебныеУведомления с флагом Сервер, вставьте полный модуль выбранного урока и вызовите ВыполнитьПример из собственной серверной команды.
Это подготовка объектов уведомления в памяти, не отправка push и не установка локального уведомления. Мобильное устройство, токены, разрешения и регистрация подписчика не требуются этому опыту.
Используется только новая собственная Книга и вымышленные данные заказа. Получатели остаются пустыми: код не читает идентификаторы настоящих подписчиков и не добавляет фиктивный токен.
Не добавляйте к этим примерам методы отправки или планирования: для них нужен отдельный контракт устройств, разрешений и собственных подписчиков.
Дата появления локального уведомления задаётся в UTC, не местным временем Москвы. ТекущаяУниверсальнаяДата вызывается на сервере, потому что функция недоступна в тонком клиенте.
Уроки сверены с установленной справкой 8.5.1.1343. Фактическое появление, звук, наклейка и доставка на устройстве не проверялись исполнением BSL.
Процедура ВыполнитьПример() Экспорт
Уведомление = Новый ДоставляемоеУведомление;
Уведомление.Заголовок = "Учебный заказ Книга";
Уведомление.Текст = "Книга: 3 шт. по 250, итого 750. Это собственный черновик.";
Уведомление.Наклейка = 1;
Уведомление.Данные = "lesson-order:BOOK-OWN:3";
Уведомление.ИнтервалПовтора = 0;
Уведомление.ДатаПоявленияУниверсальноеВремя = Дата(1, 1, 1);
Сообщить(Уведомление.Заголовок = "Учебный заказ Книга");
Сообщить(СтрНайти(Уведомление.Текст, "750") > 0);
Сообщить(Уведомление.Наклейка = 1);
Сообщить(Уведомление.Данные = "lesson-order:BOOK-OWN:3");
Сообщить(Уведомление.Получатели.Количество() = 0);
Сообщить(Уведомление.ИнтервалПовтора = 0);
Сообщить(Уведомление.ДатаПоявленияУниверсальноеВремя = Дата(1, 1, 1));
ТипЗвука = ТипЗнч(Уведомление.ЗвуковоеОповещение);
Сообщить(ТипЗвука = Тип("ЗвуковоеОповещение") ИЛИ ТипЗвука = Тип("Строка"));
Сообщить("Собственный черновик не передан менеджеру уведомлений");
КонецПроцедурыРазбор по шагам
Создать новый объект, задать собственные заголовок, текст и число наклейки.
Добавить собственную короткую строку Данные и явно задать интервал и пустую UTC-дату только в памяти.
Проверить пустую коллекцию получателей, не присваивать ей другой массив и не создавать фиктивные идентификаторы подписчиков.
Прочитать тип ЗвуковоеОповещение без присваивания readonly-свойству.
Разобрать предупреждение справки: при настоящей установке локального уведомления пустая дата означает немедленное появление. Здесь метод установки не вызывается.
Как проверить результат
Восемь булевых сообщений Истина; все данные относятся к собственному новому объекту.
Не появляется системное уведомление, не воспроизводится звук и не меняется значок приложения.
Ожидаемый результат
Есть самостоятельная подготовка черновика с проверкой всех восьми свойств и без опасного немедленного планирования.
На что обратить внимание
Данные не отображаются в уведомлении, но это не делает их зашифрованными или безопасными для хранения секретов.
Наклейка не означает количество реально доставленных уведомлений; смысл отличается по платформам.
Не присваивайте ЗвуковоеОповещение: установленная справка помечает свойство только для чтения.
Пустая или прошедшая UTC-дата при реальном локальном планировании ведёт к показу без задержки, а повтор при этом не выполняется.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.