Подключить напоминание. Создает напоминание пользователя. Если по объекту уже есть напоминание, то сдвигает время напоминания на секунды вперед.
// Создает напоминание пользователя. Если по объекту уже есть напоминание, то сдвигает время напоминания на секунды вперед.
Процедура ПодключитьНапоминание(ПараметрыНапоминания, ОбновитьСрокНапоминания = Ложь) Экспорт
НаборЗаписей = РегистрыСведений.НапоминанияПользователя.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Пользователь.Установить(ПараметрыНапоминания.Пользователь);
НаборЗаписей.Отбор.Источник.Установить(ПараметрыНапоминания.Источник);
Если ОбновитьСрокНапоминания Тогда
НаборЗаписей.Отбор.ВремяСобытия.Установить(ПараметрыНапоминания.ВремяСобытия);
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для Каждого Запись Из НаборЗаписей Цикл
ЗаполнитьЗначенияСвойств(Запись, ПараметрыНапоминания);
КонецЦикла;
Иначе
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() > 0 Тогда
ЗанятоеВремя = НаборЗаписей.Выгрузить(,"ВремяСобытия").ВыгрузитьКолонку("ВремяСобытия");
Пока ЗанятоеВремя.Найти(ПараметрыНапоминания.ВремяСобытия) <> Неопределено Цикл
ПараметрыНапоминания.ВремяСобытия = ПараметрыНапоминания.ВремяСобытия + 1;
КонецЦикла;
КонецЕсли;
НоваяЗапись = НаборЗаписей.Добавить();
ЗаполнитьЗначенияСвойств(НоваяЗапись, ПараметрыНапоминания);
КонецЕсли;
НаборЗаписей.Записать();
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПодключитьПроизвольноеНапоминание (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)