Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Smart numbers

Podsumowanie:

Referencja typu smart numbers zwraca identyfikator obiektu na podstawie kodu tego obiektu. Funkcja jest dostępna w edytorze SQL i C# (akcja algorytm C#), a także w niektórych polach tekstowych, hybrydowych tekst/SQL, a nawet numerycznych (informacja o obsłudze jest wyświetlana placeholder). Funkcja działa w ten sposób, że po wpisaniu ciągu {& podpowiada kolejno kod aplikacji, oznaczenie obiektu aplikacji, kod modułu i kod obiektu, np.
{&AppName.ObjectType.ModuleName.ObjectCode}
W przypadku zmiennych aplikacji referencja zwraca wartość zmiennej, a w przypadku słowników zwykłych zwracana jest wartość pozycji słownikowej o kodzie wskazanym w referencji.

W polach tekstowych, hybrydowych tekst/SQL w trybie tekstowym oraz numerycznych można jedynie wkleić wyrażenie przygotowane wcześniej, np. w edytorze SQL.

Użycie składni smart numbers eliminuje odwołania do identyfikatorów, co umożliwia eksport obiektów aplikacji do innych środowisk, w których generowane automatycznie wartości identyfikatorów mogą być inne.

Składnia smart numbers obsługuje następujące rodzaje obiektów aplikacji nAxiom: aplikacje, akcje, zmienne aplikacji, role (biznesowe i systemowe), definicje dokumentów, statusy biznesowe, typy biznesowe, źródła danych, słowniki zwykłe i hierarchiczne, wartości ze słowników zwykłych oraz grupy interesariuszy.

W edytorze SQL (a także w edytorze kodu C# w definicji akcji C#) jest dostępna asysta przy tworzeniu referencji smart numbers. Aby z niej skorzystać, wpisz nawias klamrowy otwierający ({) i symbol ampersand (&) co spowoduje wyświetlenie listy aplikacji zdefiniowanych w systemie. W niektórych przypadkach jest dostępna pozycja PARENT, która oznacza aplikację macierzystą dla bieżącego formularza.

Referencja w postaci {&KodAplikacji} zwraca identyfikator (Id) definicji aplikacji, którego można użyć np. w akcji Przełącz aplikację .

Asysta <i>smart numbers</i>; lista aplikacji
Asysta smart numbers; lista aplikacji

Po wybraniu aplikacji wpisz kropkę, aby wyświetlić listę obsługiwanych obiektów. Obecnie są to:

  • akcje (Actions): następnie wybierz kod modułu i kod akcji
  • zmienne środowiskowe (AppVariables, AppInLineVariables): następnie wybierz kod zmiennej

    • AppVariables: odwołanie przeznaczone do użycia w zapytaniach SQL (np. w klauzuli WHERE jako wartość filtrująca); przekazuje wartość zmiennej jako parametr zgodnie z zadeklarowanym typem, dla typu tekstowego wartość zmiennej w zapytaniu jest renderowana w apostrofach
    • AppInlineVariables: zwraca zadeklarowaną wartość zmiennej (jako tekst); wywoływane w ten sposób zmienne środowiskowe mogą na przykład być używane do podstawiania różnych nazw tabel w klauzuli FROM lub nazw kolumn w klauzuli WHERE w zapytaniach SQL, a także w akcjach C#, gdzie wartości typu tekstowego należy ująć w podwójne apostrofy (“).
  • kategorie załączników (AttachmentCategories); następnie wybierz kod definicji dokumentu i kod kategorii
  • definicje dokumentów (BusinessDocuments); następnie wybierz kod modułu i kod definicji dokumentu
  • role biznesowe (BusinessRoles): następnie wybierz kod modułu i kod roli
  • statusy dokumentów (BusinessStatuses): następnie wybierz kod definicji dokumentu i kod statusu
  • typy biznesowe (BusinessTypes): następnie wybierz kod definicji dokumentu i kod typu biznesowego
  • źródła danych (DataSources): następnie wybierz kod modułu i kod źródła danych
  • słowniki zwykłe (Dictionaries): następnie wybierz kod słownika
  • wartości pozycji w słownikach zwykłych (Dictionaries): następnie wybierz kod słownika i kod wartości słownika
  • słowniki hierarchiczne (HierarchicalDictionaries): następnie wybierz kod słownika
  • grupy interesariuszy (Stakeholders): następnie wybierz kod definicji dokumentu i kod grupy interesariuszy
Asysta <i>smart numbers</i>; dostępne obiekty aplikacji
Asysta smart numbers; dostępne obiekty aplikacji

Przykładowa składnia reprezentująca wartość identyfikatora dla statusu Odrzucono to:

{&Reklamacje34.BusinessStatuses.rklRjs.rklRjs_odrzucono}

W momencie wywołania zapytania dynamicznie obliczana jest wartość identyfikatora wybranego obiektu lub pobierana wartość zmiennej.

Aby składnia smart numbers działała poprawnie, kod w definicji obiektu nie może zawierać znaków diakrytycznych.

Od wersji nAxiom 1.15, w związku z integracją z brokerem komunikatów RabbitMQ, dodanie nowego elementu (np. roli, kategorii interesariuszy, pozycji słownika itp.) nie wymaga przelogowania konsultanta ani wyczyszczenia pamięci podręcznej w celu aktualizacji listy obiektów dostępnych w składni smart numbers. W wersjach wcześniejszych wymagane jest wykonanie jednej z tych czynności.

Informacja o dodaniu nowego elementu (np. roli, kategorii interesariuszy, pozycji słownika itp.) obsługiwanego przez funkcjonalność smart numbers jest propagowana przez broker komunikatów RabbitMQ do innych serwisów co powoduje natychmiastowe przeładowanie pamięci podręcznej.

Aby aplikacje nAxiom importowane do innej witryny działały poprawnie, konieczne jest zastąpienie wszystkich odwołań do konkretnej wartości identyfikatora składnią smart numbers. Poniżej wymieniono miejsca w aplikacji AdminSPA, w których można używać składni smart numbers. Ręczne wpisanie wyrażenia smart numbers w innych miejscach nie zostanie poprawnie przetworzone.

Gdzie używać smart numbers

Składni smart numbers można używać:

  • w każdym edytorze SQL
  • w akcji algorytm C# (pole Algorytm C#)
  • w akcji zapytania do webserwisów (pole Ścieżka żądania)
  • w poniższych polach definicji źródła danych:
    • Adres serwera
    • Open api url
    • Serwer autoryzacji
    • Nazwa bazy danych
    • Nazwa instancji
    • Port
  • w polach tekstowych, hybrydowych tekst/SQL i numerycznych, w których jest wyświetlana informacja o obsłudze smart numbers (jako „placeholder text”)
  • w definicji zmiennych aplikacji w polach wartości zmiennej

    W definicji zmiennych można również odwoływać się do innych zmiennych, używając selektora AppInLineVariables.

Jednak tylko w dwóch pierwszych przypadkach implementacja smart numbers interaktywnie wyświetla podpowiedzi. W pozostałych przypadkach można wyrażenie smart numbers wpisać ręcznie (lub wkleić) i będzie ono prawidłowo interpretowane podczas wykonywania aplikacji po stronie FrontSPA. W tych przypadkach zastosowanie mają przede wszystkim zmienne aplikacji używane z selektorem AppInLineVariables.

Automatyczne użycie smart numbers

Podczas konfigurowania listy wyboru interesariusza na formularzu można zawęzić użytkowników wyświetlanych na liście do określonej roli biznesowej. Wybrana rola zostanie automatycznie dodana w klauzuli WHERE zapytania SQL w konfiguracji listy z użyciem składni smart numbers. Pokazano to na ilustracji poniżej.

Użycie smart numbers w konfiguracji listy wyboru interesariuszy
Użycie smart numbers w konfiguracji listy wyboru interesariuszy

Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.