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