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ę .
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 (“).
- 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 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.
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 serweraOpen api urlSerwer autoryzacjiNazwa bazy danychNazwa instancjiPort
- 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.
Powiązane tematy: