Mechanizm powiadomień do akcji w nawigatorze (wstążce)¶
Mechanizm powiadomień umożliwia wyświetlenie użytkownikowi informacji o zdarzeniach zaistniałych w systemie w kontekście akcji widocznych we wstążce. Do każdej akcji Neos, która jest widoczna we swtążce Ribbon, można zdefiniować metodę na powiadomienie. Powiadomienie pokaże się użytkownikowi w postaci ikony akcji z krótkim opisem tekstowym w pasku szybkiego dostępu (jest to pasek z przyciskami widoczny w górnej belce programu po lewej stronie). Równolegle z pojawieniem się ikony w pasku szybkiego dostępu użytkownikowi pokaże się również balonik w zasobniku systemowym.
Aby oprogramować powiadomienie należy:
- Założyć akcję i zaznaczyć opcję 'Stanowi element wstążki/menu głównego'
- Przejść na zakładkę Metody i dodać nową 'Metodę na ilość powiadomień'
- Wygenerowana metoda przyjmuje jako argument obiekt klasy NotificationInfo, który steruje widocznością powiadomienia
Opis właściwości klasy NotificationInfo:
Visible- umożliwia sterowanie widocznością powiadomienia, przyjmuje wartościtrue/falseValue- informacja z tego pola będzie widoczna z prawej strony ikony powiadomienia (zwyczajowo ustawia się tu ilość zdarzeń, które wystąpiły dla tej akcji)Text- jest to tekst widoczny po najechaniu na ikonę powiadomienia(Hint) dodatkowo tekst ten będzie widoczny w baloniku zasobnika systemowego.
Uwaga!
Jeśli Value będzie puste to powiadomienie nie pokaże się. Jeżeli Text będzie pusty to nie pokaże się balloon hint
Przykład
Procedura ZADANIACOUNT przyjmuje dwa parametry: refoperator(wejściowy) oraz count(wyjściowy). Wynikiem wykonania procedury jest ilość zadań dla użytkownika o zadanym ref. Metoda na powiadomienie będzie wywoływać tą procedurę i na podstawie zwróconej ilości zadań ustawiać odpowiednie właściwości w obiekcie Notification.
W efekcie końcowym użytkownik aktualnie zalogowany do eSystemu zobaczy powiadomienie o przypisanym nowym zadaniu, gdy w bazie danych pojawi się wpis w tablei Zadania. (Metoda na ilość powiadomień uruchamiana jest co około 60 sekund)
public static void IsZadanieNotification(NotificationInfo ni)
{
Contexts c = new Contexts();
c.Add("refoperator", API.SessionInfo.GlobalParam["AKTUOPERATOR"]);
c.Add("count", "0", NValueRole.OutputValue);
if(API.RunProcedure("", "ZADANIACOUNT", c))
{
string quantity = c["count"];
ni.Visible = (quantity != "0");
ni.Value = quantity;
ni.Text = string.Format("({0}) zadań do wykonania", quantity);
}
}