Skip to content

Подключение к подсистеме Напоминания пользователя

Общие настройки

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

Для использования подсистемы необходимо разместить в командном интерфейсе пользователя форму МоиНапоминания регистра сведений НапоминанияПользователя, а также выполнить следующие действия:

  • Определить состав объектов ссылочного типа, по поводу которых пользователь должен иметь возможность вводить напоминания. Как правило, это большинство объектов конфигурации, с которыми работает пользователь.
  • В определяемых типах ПредметНапоминания и ПредметНапоминанияОбъект отметить выбранные типы объектов в свойстве Тип. (В ПредметНапоминания - все типы, а в ПредметНапоминанияОбъект - все кроме документов)
  • Подключить форму к подсистеме Подключаемые команды

Опционально. Для целей оптимизации производительности при открытии формы рекомендуется добавить в командную панель подменю для вывода команд напоминаний по шаблону:

Имя: ПодменюОрганайзер Заголовок: Органайзер Вид: Подменю Отображение: Картинка Картинка: Органайзер (картинка из конфигурации).

По умолчанию пользователю предлагается задать срок напоминания относительно любого реквизита типа Дата. В списке доступных для выбора реквизитов доступны только реквизиты, значения дат которых находятся в будущем. Этот список можно переопределить – например, убрать из него служебные реквизиты. Для этого необходимо вписать свою реализацию в процедуру ПриЗаполненииСпискаРеквизитовИсточникаСДатамиДляНапоминания модуля НапоминанияПользователяПереопределяемый.

Размещение элементов настройки напоминания на форме объекта

Изображение

На форме нужно создать/определить группу, в которую будет размещен новый создаваемый элемент. Например, группа ГруппаДатаОптатыСНапоминанием

В модуле формы сделать вставки:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// СтандартныеПодсистемы.НапоминанияПользователя
ПараметрыРазмещения = НапоминанияПользователя.ПараметрыРазмещения();
ПараметрыРазмещения.Группа = Элементы.ГруппаДатаОптатыСНапоминанием;
ПараметрыРазмещения.ИмяРеквизитаСДатойСобытия = "ДатаОплаты";
НапоминанияПользователя.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
// Конец СтандартныеПодсистемы.НапоминанияПользователя
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.НапоминанияПользователя
НапоминанияПользователя.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
// Конец СтандартныеПодсистемы.НапоминанияПользователя
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.НапоминанияПользователя
ТекстНапоминания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Проверить оплату по счету %1'"), ТекущийОбъект.Номер);
НапоминанияПользователя.ПриЗаписиНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи, ТекстНапоминания);
// Конец СтандартныеПодсистемы.НапоминанияПользователя
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
// СтандартныеПодсистемы.НапоминанияПользователя
НапоминанияПользователяКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
// Конец СтандартныеПодсистемы.НапоминанияПользователя
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПриИзмененииНастройкиНапоминания(Элемент)
// СтандартныеПодсистемы.НапоминанияПользователя
НапоминанияПользователяКлиент.ПриИзмененииНастройкиНапоминания(Элемент, ЭтотОбъект);
// Конец СтандартныеПодсистемы.НапоминанияПользователя
КонецПроцедуры