Skrypty Workflow
Skrypty Workflow to fragmenty kodu (TypeScript, JavaScript lub SQL), które wykonują się w kroku obiegu i potrafią policzyć coś, czego nie obejmują gotowe akcje: sprawdzić wartość, ustawić zmienną, zapytać bazę. Zarządzasz nimi na osobnej liście.
Ekran Skrypty Workflow ma wyszukiwarkę, filtry Wszystkie kategorie i Wszystkie typy, przełącznik Pokaż nieaktywne oraz przycisk Nowy skrypt. Tabela zawiera nazwę, typ (TypeScript, JavaScript, SQL), kategorię, status i liczbę wykonań wraz z datą ostatniego uruchomienia.
Tworzenie skryptu#
Nowy skrypt otwiera edytor z polami: Nazwa skryptu, Typ skryptu (TypeScript, JavaScript, SQL), Język, Kategoria, Kod skryptu, opis i przełącznik Skrypt może być używany w workflow. Zakładki Podgląd kodu i Schemat pokazują kod oraz definicję danych wejściowych i wyjściowych (Input, Output, pola Wymagane).
Co może skrypt#
Skrypt dostaje obiekt context z danymi i narzędziami:
| Element | Zawartość |
|---|---|
context.order | Dane zamówienia (numer, sumy netto, VAT i brutto, waluta, status, klient, pozycje), albo null, jeśli obieg nie jest powiązany z zamówieniem |
context.workflow | Identyfikator instancji, kroku i akcji |
context.getVariable(nazwa) | Odczyt zmiennej procesu. Zwraca undefined, jeśli zmiennej nie ma |
context.setVariable(nazwa, wartość) | Zapis zmiennej. Tworzy nową albo aktualizuje istniejącą |
context.logger | info, warn, error: wpisy widoczne w diagnostyce |
context.services.fetch | Wywołania HTTP |
context.services.db.query | Zapytania do bazy w zakresie firmy |
Skrypt może zwrócić { output, nextStepId }: output zapisze się w zmiennej wynikowej akcji, a nextStepId podpowiada kolejny krok.
export default async function run(context) {
const total = Number(context.order?.total_gross) || 0;
await context.setVariable('requires_approval', total > 1000);
await context.setVariable('order_value', total);
return { output: { total } };
}Skrypt rozszerza obieg tam, gdzie gotowe akcje nie wystarczają. Zapisuje zmienne, które potem czytają bramki i warunki, a każde wykonanie widać w statystykach.
