Algorytm C#
Podsumowanie:Akcja pozwala użytkownikowi przygotować algorytm w języku C#. W kodzie można odwoływać się do bibliotek DLL dostępnych w folderze instalacyjnym witryny w podfolderze API lub folderach innych serwisów (oprócz wyboru z listy, można wpisać nazwę pliku) oraz do wartości z kontekstu formularza za pośrednictwem zmiennej Model.
☛
Narzędzia
>Akcje
>Algorytm C#
Akcja oferuje kilka klas, które opisano osobno. Są to:
- SqlAction, EmailAction, CSharpScriptAction oraz WebServiceAction (przestrzeń nazw CSharpScript.ActionRunner): umożliwiają wywołanie akcji zdefiniowanych w nAxiom (akcje SQL, wysyłka e-mail, zapytania do webserwisów oraz algorytmy C#).
- RestManager i SoapManager (przestrzeń nazw CSharpScript.WebServiceRunner): umożliwiają wysyłanie zapytań do serwisów SOAP i REST API.
- SqlHelper (przestrzeń nazw CSharpScript.SqlRunner): umożliwia wykonywanie typowych operacji na bazie danych SQL Server.
W akcji można także użyć wbudowanej funkcji ClearCache(), która czyści pamięć podręczną witryny nAxiom, tak samo jak kliknięcie przycisku Wyczyść cały cache
w sekcji Cache
w ustawieniach systemu (ADMINISTRACJA
> Ustawienia systemu
> Cache
).

W celu zdefiniowania akcji algorytmu C# należy określić następujące właściwości:
Emituj informacje debugowania
: włącza prezentowanie dodatkowych informacji przez system podczas kompilacji i wykonywania algorytmu
Załaduj do algorytmu Assemblies
: referencje do zestawów, które mają być dostępne w kodzie akcji; nazwę zestawu można wpisać ręcznie; w przypadku akcji przypisanych do przycisku lub przejścia na diagramie procesów plik zestawu musi znajdować się w folderze serwisu api; w przypadku akcji wykonywanych w ramach zadań cyklicznych plik zestawu musi znajdować się w folderze serwisu taskservice; standardowo dostępne są biblioteki System.Data.SqlClient.dll, Dapper.dll i Newtonsoft.Json.dll. Niezależnie od wybrania zestawów w tym polu, aby móc używać w kodzie akcji typów zdefiniowanych w przestrzeniach nazw tych zestawów, należy się do nich zreferować przy użyciu dyrektywy using.
Algorytm C#
: kod akcji w języku C#; w kodzie można korzystać z predefiniowanych zmiennych:
- Model (string): model formularza w formacie JSON
- RecordId (string); identyfikator bieżącego rekordu
- FormDefinitionId (int): identyfikator bieżącego formularza
- BusinessDocumentId (int): identyfikator bieżącego dokumentu biznesowego
- UserId (guid): identyfikator zalogowanego użytkownika
- TenantId (string): identyfikator bieżącego tenanta
- TenantBaseUrl (string): adres URL witryny bieżącego tenanta
- Przycisk
Sprawdź składnię/Skompiluj algorytm
weryfikuje poprawność składni i uruchamia kompilację kodu (tak działa również przyciskZapisz
). W przypadku błędów składni bądź braku referencji do zestawów, zostanie wyświetlony komunikat o błędzie, a lista błędów zostanie wyświetlona poniżej oknaAlgorytm C#
. Akcję można zapisać tylko w przypadku pomyślnej weryfikacji/kompilacji.
Info
W oknie edytora kodu można korzystać z mechanizmu smart numbers.
W celu poprawy wydajności działania akcji C# wprowadzono zapisywanie skompilowanych skryptów akcji w pamięci cache. Ustawienia konfiguracyjne pamięci cache dla akcji C# znajdują się w sekcji AppConfiguration:Modules:Scripting w pliku appsettings.json serwisu api. Są to:
SlidingCacheExpirationInHours
: czas w godzinach (liczba zmiennoprzecinkowa) od ostatniego użycia, po upływie którego skompilowany skrypt jest usuwany z cache.EnableCompiledScriptCache
: wyłączenie zapisywania skompilowanych skryptów w pamięci cache.
Powiązane tematy: