Przejdź do treści

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:

  1. Założyć akcję i zaznaczyć opcję 'Stanowi element wstążki/menu głównego'
  2. Przejść na zakładkę Metody i dodać nową 'Metodę na ilość powiadomień'
  3. 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ści true/false
  • Value - 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);  
  }   
}