Периодические напоминания каждый месяц и каждую неделю

1. user1202776 05.12.19 09:04 Сейчас в теме
Как сделать так, чтобы свойство "интервал повтора" Доставляемого уведомления срабатывал каждый месяц (например в четверг 05.12.2019 13:00:00 ставим периодическое напоминание) и как сделать так ,чтобы каждое 5-ое число каждого месяца срабатывало уведомление? Если просто секунды добавлять, то уведомления будут приходить и не в те же дни, так как в месяце может быть 30,31 а то и 28 дней.
И ещё. В тот же четверг хотим создать периодическое напомание, чтобы каждый вторник в 10:00 срабатывало уведомление. Как это лучше сделать?
По теме из базы знаний
Найденные решения
16. gimmy 24 09.12.19 10:14 Сейчас в теме
(15) указывается именно дата с учетом часового пояса, получить ее можно с помощью функции УниверсальноеВремя
Т.е. ближайший вторник это завтра, получаем дату УниверсальноеВремя('20191210100000')
Если нужно создать в четверг 12.12.2019 на вторник, то получаем дату УниверсальноеВремя('20191217100000')

Если ДеньНедели<=2 тогда
ДеньБлижайшегоВторника = НачалоДня(ТекущаяДата())+86400*(7-(ДеньНедели+5));
Иначе
ДеньБлижайшегоВторника = НачалоДня(ТекущаяДата())+86400*(7-(ДеньНедели-2));
КонецЕсли
user1202776; +1 Ответить
3. soft_wind 05.12.19 09:16 Сейчас в теме
Вот как раз что бы добавить Месяц или несколько, существует функция
Глобальный контекст (Global context)
ДобавитьМесяц (AddMonth)
Синтаксис:

ДобавитьМесяц(<Дата>, <ЧислоМесяцев>)
Параметры:

<Дата> (обязательный)

Тип: Дата.
Исходная дата.
<ЧислоМесяцев> (обязательный)

Тип: Число.
Количество месяцев, которое необходимо добавить к исходной дате. Если принимает отрицательное значение, то число месяцев вычитается.
Возвращаемое значение:

Тип: Дата.
Дата, полученная в результате добавления.
Описание:

Добавляет (или вычитает) к указанной дате заданное число месяцев.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. chg 05.12.19 09:15 Сейчас в теме
Расписание регламентного задания привязанное к вашему уведомлению?
4. user1202776 05.12.19 09:18 Сейчас в теме
(2)рег. задание недоступно в мобильном приложении, а уведомления не должны исходить из базы на компе
3. soft_wind 05.12.19 09:16 Сейчас в теме
Вот как раз что бы добавить Месяц или несколько, существует функция
Глобальный контекст (Global context)
ДобавитьМесяц (AddMonth)
Синтаксис:

ДобавитьМесяц(<Дата>, <ЧислоМесяцев>)
Параметры:

<Дата> (обязательный)

Тип: Дата.
Исходная дата.
<ЧислоМесяцев> (обязательный)

Тип: Число.
Количество месяцев, которое необходимо добавить к исходной дате. Если принимает отрицательное значение, то число месяцев вычитается.
Возвращаемое значение:

Тип: Дата.
Дата, полученная в результате добавления.
Описание:

Добавляет (или вычитает) к указанной дате заданное число месяцев.
5. user1202776 05.12.19 09:20 Сейчас в теме
(3)спасибо.
Например сегодня четверг. И сегодня мне нужно поставить периодические напоминание, чтобы каждый вторник в 10:00 срабатывало периодическое напоминание. Как лучше это реализовать?
6. soft_wind 05.12.19 10:08 Сейчас в теме
как вам выше сказали: - используйте Расписание, там есть дневные, недельные и месячные настройки
7. user1202776 05.12.19 10:42 Сейчас в теме
(6)как написал выше:- рег. задание не доступно в мобильном приложении. А мне нужно ,чтобы мобильное приложение работало автономно, без связи с базой на компе
8. vsesam80 07.12.19 03:29 Сейчас в теме
(7)Локальные уведомления не пробовали?
9. user1202776 07.12.19 10:09 Сейчас в теме
(8)я локальные уведомления пробую
10. vsesam80 07.12.19 10:32 Сейчас в теме
(9)Я правда на месяц не пробовал. Но вот в чём дело, это можно сделать элементарно с периодическим регистром и с проверкой при начале работы приложения. А вот с уведомлением на месяцы вперед интересно, я пробовал максимум на сутки вперед. Вроде и на месяц должно и на год. Ведь за напоминашки в локальных уведомлениях уже сама ос Андроид отвечает.
Отпишитесь если попробуете, очень интересно.
11. user1202776 07.12.19 11:29 Сейчас в теме
(10)каждый месяц делать не проблема и каждый день сделать не проблема.Для каждого месяца функция "ДобавитьМесяц", а для периодического напоминания каждый день,просто добавляем 86400 секунд.
С периодическим РС не то, потому что не при начале работе должны приходить уведомления, а независимо от того, запущено приложение или нет
12. user1202776 07.12.19 11:31 Сейчас в теме
(10)Пока не понимаю,как сделать чтобы например каждый вторник в 10:00 напоминание приходило
13. vsesam80 07.12.19 17:53 Сейчас в теме
(12)Вот пример:
&НаКлиенте
Процедура ЛокальноеУведомление(Команда)
#Если МобильноеПриложениеКлиент Тогда
Уведомление = Новый ДоставляемоеУведомление;
Уведомление.Заголовок = "Тестовое сообщение!!";
Уведомление.ДатаПоявленияУниверсальноеВремя = УниверсальноеВремя(ТекущаяДата()+3);
Сработает через три секунды после нажатия кнопки если приложение свернуто
Уведомление.Текст = "Текущее время: " +ТекущаяДата();
Уведомление.ЗвуковоеОповещение=ЗвуковоеОповещение.ПоУмолчанию;
ДоставляемыеУведомления.ДобавитьЛокальноеУведомление(Уведомление);
#КонецЕсли
КонецПроцедуры


// ПриНачалеРаботыСистемы() и ПриПолученииУведомления прописываются в модуле управляемого приложения
Процедура ПриНачалеРаботыСистемы()

#Если МобильноеПриложениеКлиент Тогда
ДоставляемыеУведомления.ПодключитьОбработчикУведомлений("ПриПолученииУведомления");
#КонецЕсли
КонецПроцедуры

//Эта фигня отрабатывает при получении уведомления даже если приложение свернуто
//пихать в ПриНачалеРаботыСистемы()
Процедура ПриПолученииУведомления(Уведомление, Локальное, Показано, Параметры) Экспорт
Если Локальное Тогда
Сообщить("бла бла бла");
//Сигнал();
КонецЕсли;
КонецПроцедуры
user1202776; +1 Ответить
14. gimmy 24 08.12.19 16:45 Сейчас в теме
(12) из описания свойства "ИнтервалПовтора" следует, что сначала нужно в ДатаПоявленияУниверсальноеВремя указать дату ближайшего вторника 10.00, а в свойстве "ИнтервалПовтора" указать 86400*7 для Андроид и любое значение с 86401 - 604800 для иОС

ИнтервалПовтора (RepeatInterval)
Использование:
Чтение и запись.
Описание:
Тип: Число.
Период времени в секундах, через который вызов локального уведомления повторяется.
Чтобы уведомление было повторено, следует в явном виде указать время первого срабатывания.
15. user1202776 08.12.19 21:25 Сейчас в теме
(14)как указать дату ближайшего вторника? например в четверг я создам напоминание на 10:00 вторника, в пятницу на 11:00 вторника. Как ДатаПоявленияУниверсальноеВремя указать вторник?
В 1С есть функция ДеньНедели, но пока не представляю как может помочь эта функция
16. gimmy 24 09.12.19 10:14 Сейчас в теме
(15) указывается именно дата с учетом часового пояса, получить ее можно с помощью функции УниверсальноеВремя
Т.е. ближайший вторник это завтра, получаем дату УниверсальноеВремя('20191210100000')
Если нужно создать в четверг 12.12.2019 на вторник, то получаем дату УниверсальноеВремя('20191217100000')

Если ДеньНедели<=2 тогда
ДеньБлижайшегоВторника = НачалоДня(ТекущаяДата())+86400*(7-(ДеньНедели+5));
Иначе
ДеньБлижайшегоВторника = НачалоДня(ТекущаяДата())+86400*(7-(ДеньНедели-2));
КонецЕсли
user1202776; +1 Ответить
17. user1202776 09.12.19 10:23 Сейчас в теме
(16)спасибо.Попробую вечером и отпишусь
18. user1202776 10.12.19 22:14 Сейчас в теме
(16) проверил. Спасибо, то что нужно
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот