# Wprowadzenie do ScriptCode

## Czym jest ScriptCode

**ScriptCode** to mechanizm dostępny na platformie **Eximee**, który umożliwia tworzenie logiki biznesowej w postaci **skryptów JavaScript** wykonywanych po stronie serwera. Dzięki temu rozwiązaniu możliwe jest dynamiczne przetwarzanie danych, walidacja formularzy, formatowanie wartości oraz integracja z zewnętrznymi usługami REST – **bez konieczności pisania kodu po stronie backendu**.

W praktyce oznacza to, że deweloperzy oraz konfiguratorzy procesów mogą w elastyczny sposób rozszerzać funkcjonalność aplikacji Eximee, zachowując spójność z modelem danych i procesami BPMN.

***

## Kluczowe możliwości ScriptCode

ScriptCode umożliwia między innymi:

* **Przetwarzanie danych wejściowych i wyjściowych** z formularzy, usług i procesów BPMN.
* **Walidację danych** użytkownika z wykorzystaniem reguł i logiki biznesowej.
* **Formatowanie i prezentację wartości** w interfejsie użytkownika.
* **Integrację z usługami zewnętrznymi** poprzez REST API (\[RestApi] – Wołanie zewnętrznych usług RESTowych).

Skrypty są wykonywane na serwerze Eximee, co gwarantuje bezpieczeństwo oraz spójność danych w całym cyklu przetwarzania.

***

## Zastosowanie ScriptCode w platformie Eximee

ScriptCode wykorzystywany jest w różnych artefaktach platformy:

| Artefakt                                      | Opis                                                                                                |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **Skrypty (`scriptService`)**                 | Odpowiadają za zasilanie komponentów formularzy lub przetwarzanie danych wejściowych i wyjściowych. |
| **Walidatory skryptowe (`validationScript`)** | Realizują logikę sprawdzania poprawności danych na poziomie formularzy lub procesów.                |
| **Formatery**                                 | Odpowiadają za sposób prezentacji i formatowania danych w interfejsie użytkownika.                  |
| **Zadania skryptowe (`scriptTask`)**          | Wykonywane w ramach procesów BPMN, pozwalają implementować niestandardowe działania biznesowe.      |

***

## Zalety stosowania ScriptCode

* 🧠 **Elastyczność** – łatwe wprowadzanie zmian w logice biznesowej bez potrzeby modyfikowania kodu backendu.
* ⚙️ **Integracja** – możliwość komunikacji z zewnętrznymi systemami za pomocą REST API.
* 🧩 **Modułowość** – różne typy artefaktów mogą współdziałać w ramach jednej aplikacji.
* 🔒 **Bezpieczeństwo i kontrola** – wykonywanie skryptów po stronie serwera minimalizuje ryzyko manipulacji po stronie klienta.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eximee.com/budowanie-aplikacji/logika-biznesowa/scriptcode/wprowadzenie-do-scriptcode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
