Показать сообщение отдельно
Старый 17.11.2020, 13:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
vanvugt: How-to: Add your notification to My Notifications
Источник: https://dynamicsuser.net/nav/b/vanvu...-notifications
==============

In my post How-to: Create Notifications – Steps to Take I introduced a step-by-step recipe that can help you to efficiently create a (non-intrusive) notification. I gladly used the YouTube video Develop SAAS user experiences for Dynamics 365 Business Central by Daniel Rimmelzwaan to illustrate this. Doing this I stuck to his example without adding anything, but the step-by-step approach.

In this post I would like to extend the example allowing you to add your notification to My Notifications and enabling the user to turn on or off your notification. To achieve this I need to do three additional steps, continuing the numbering of the steps as introduced in How-to: Create Notifications – Steps to Take.
  1. Add notification to My Notifications
  2. Create IsEnabled check method
  3. Call IsEnabled in send-or-recall method
6. Add notification to My Notifications

A notification is being added to My Notifications based on the discovery design pattern. This can easily be achieved with a subscriber to the OnInitializingNotificationWithDefaultState publisher on the My Notifications page.

[EventSubscriber(ObjectType::Page, Page::"My Notifications", 'OnInitializingNotificationWithDefaultState', '', false, false)]
localprocedure OnInitializingNotificationWithDefaultState()
var
MyNotifications: Record "My Notifications";
begin
MyNotifications.InsertDefaultWithTableNum(NotificationIdLbl,
CompanyInfoMissingNotificationMsg,
CompanyInfoNotificationDescriptionTxt,
Database::"Company Information");
end;
Note that we reuse the NotificationIdLbl and CompanyInfoMissingNotificationMsg labels already created as part of the previous steps and that an additional label is needed.

var
CompanyInfoNotificationDescriptionTxt: Label'Show warning when the company information is not complete.';
7. Create IsEnabled check method

We need a method that determine whether the notification is enabled or not (by the user).

localprocedure IsCompanyInfoNotificationEnabled(CompanyInfo: Record "Company Information"): Boolean
var
MyNotifications: Record "My Notifications";
begin
exit(MyNotifications.IsEnabledForRecord(NotificationIdLbl, CompanyInfo));
end;
8. Call IsEnabled in send-or-recall method

And finally we need to call the IsEnabled method by adding the following tow lines to the SendOrRecallCompanyInfoMissingNotification methodthat was created in step 4, after the company record was gotten.

ifnot IsCompanyInfoNotificationEnabled(CompanyInfo) then
exit;
Now you have a complete action plan to create a notification and enable the user to configure whether it will appear or not. Have fun.




Источник: https://dynamicsuser.net/nav/b/vanvu...-notifications
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.