Zmiana statusu dokumentów
Podsumowanie:Akcja zmiany statusu dokumentów umożliwia zautomatyzowane wykonanie wskazanego przejścia diagramu procesu dla zestawu dokumentów biznesowych wybranych zapytaniem SQL. Akcja wykonując przejście, uwzględnia wszystkie jego elementy, w tym akcje wykonywane przed i po zmianie statusu oraz zmianę statusu. Funkcjonalnie akcja zmiany statusu jest tożsama z kliknięciem przycisku reprezentującego dane przejście dla pojedynczego dokumentu.
Akcja może być wykonywana w dwóch trybach: indywidualnie dla poszczególnych dokumentów albo transakcyjnie dla całej partii zwróconej przez zapytanie.
☛ AdminSPA >
NARZĘDZIA
>Akcje
>Zmiana statusu dokumentów

Oprócz właściwości wspólnych dla wszystkich akcji, w akcji zmiany statusu należy określić następujące właściwości:
Zapytanie SQL
: zapytanie SQL zwracające zestaw dokumentów do zmiany statusu; musi zwrócić następujące kolumny (kolejność nie ma znaczenia):
-
TransitionId/TransitionName/TransitionGuid
: identyfikator, nazwa lub globalny identyfikator przejścia, które ma zostać wykonane dla wybranych dokumentów. -
RecordId
: identyfikator dokumentu biznesowego z tabeli dokumentu biznesowego. -
FormDefinitionId
: identyfikator definicji formularza powiązanego z tabelą dokumentu biznesowego.
Tryb wykonania
:
-
każdy rekord osobno
: rekordy są przetwarzane indywidualnie, każdy w osobnej transakcji; błąd dla indywidualnego dokumentu powoduje przerwanie działania akcji — kolejne rekordy nie zostaną przetworzone; jeśli błąd dla dokumentu wystąpi w akcji po, zmiana statusu tego dokumentu nie zostanie wycofana; w pozostałych przypadkach status dokumentu nie zostanie zmieniony. -
transakcja (wszystkie rekordy)
: rekordy są przetwarzane w ramach jednej transakcji; błąd dla indywidualnego dokumentu (akcja przed, zmiana statusu lub akcja po) powoduje wycofanie wszelkich zmian i przerwanie wykonywania akcji. Jest to zachowanie odmienne od wykonywania przejść poza tą akcją, kiedy to błędy akcji po nie powodują wycofania zmiany statusu.Należy wziąć pod uwagę, że w przypadku akcji uruchamianej w trybie transakcyjnym wpisy uprawnień ACL są aktualizowane zbiorczo po zakończeniu transakcji. W rzadkich przypadkach może to powodować błędy uprawnień w akcjach po (np. w akcji przypisania właściciela zadania). W takiej sytuacji należy zmienić tryb wykonywania akcji na
każdy rekord osobno
.
Od wersji nAxiom 1.13.2.0 wprowadzono zmiany optymalizujące wydajność akcji zmiany statusu dla wielu dokumentów. W wyniku tych zmian podczas wykonywania przejść w tej akcji nie będą dostępne parametry systemowe dodawane do kontekstu formularza: @FormId, @BusinessDocId, @FormCode i @AppId. Dotyczy to akcji wykonywanych na przejściu, warunków wykonania przejścia, warunku wyświetlania przycisku, eskalatorów itp. Parametry @FormId i @BusinessDocId można zastąpić ich systemowymi odpowiednikami: @_FormId i @_BusinessDocDefId.
Przykład:
Przykład zapytania SQL dla akcji zmiany statusu, która odrzuci wszystkie wnioski o urlop z datą rozpoczęcia w lipcu lub sierpniu.
SELECT 'Odrzuć wniosek' as TransitionName -- nazwa przejścia
,Id as RecordId -- id dokumentu
,20 as FormDefinitionId -- id formularza
FROM dbo.WnioskiUrlopowe
WHERE MONTH(StartDate) in (7,8)
Powiązane tematy: