# Punkt zapisu wniosku i mechanizm ostatnich stron

## **Punkt zapisu wniosku**

**Punkt zapisu wniosku** to kluczowy element przepływu formularza w systemie Eximee. Definiuje moment przekazania danych wniosku do repozytorium formularzy i wywołania powiązanych akcji – takich jak uruchomienie procesu BPMN, zapis danych w systemie zewnętrznym lub wyświetlenie użytkownikowi końcowych stron informacyjnych.\
Jest on konfigurowany w zakładce **Kroki** edytora wniosku i występuje jako jedna z pozycji w sekwencji kroków formularza. Najczęściej umieszczany jest jako **ostatni krok wniosku**. Wszystkie strony znajdujące się w krokach **poniżej** Punktu zapisu wniosku traktowane są jako **strony zakończenia**.

![Ilustracja 1. Widok punktu zapisu wniosku w zakładce "Kroki"](https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/ESdWNrbU8OZ7NoyGyZfd/zapis_koncowy_pliki/image2025-6-6_11-49-47.png)

W momencie przechodzenia wniosku, przekroczenie tego punktu powoduje zapis wniosku do repozytorium formularzy wraz ze wszystkimi wypełnionymi na nim danymi.

### Właściwości kroku Punkt zapisu wniosku

Krok **Punkt zapisu wniosku** posiada następujące właściwości:

* może być w dowolny sposób **przesuwany** za pomocą mechanizmu *drag & drop* w strukturze kroków,
* **nie można go usunąć**, ponieważ stanowi integralny element szablonu,
* **nie można w nim umieszczać stron** – pełni funkcję techniczną, a nie wizualną.

### Konfiguracja punktu zapisu wniosku

W momencie przekroczenia punktu zapisu system wykonuje akcję zapisu danych.\
Jeśli w tym momencie ma zostać uruchomiony proces BPMN, należy w sekcji **Punkt zapisu wniosku** dodać element **EximeeRouter2**.

Konfiguracja tego elementu obejmuje:

* **Nazwę procesu** – klucz definicji procesu BPMN (zgodny z identyfikatorem procesu w EximeeBPMS).
* **Numer sprawy (Business key)** – identyfikator biznesowy wniosku. Może wskazywać komponent formularza lub zmienną sesyjną zawierającą unikalny numer sprawy.\
  Jeśli pole nie zostanie wypełnione, system automatycznie przyjmie numer wniosku jako klucz biznesowy.

![Ilustracja 2. Widok punktu zapisu wniosku z podpiętym procesem EximeeRouter2](https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/bvDzl9ibkT3v0En0rOiN/zapis_koncowy_pliki/image2025-6-6_13-54-8.png)

Przykładowa konfiguracja XML w zakładce **Źródło** formularza:

```
<saveActions>
  <action xsi:type="eximeeWorkflow">
    <processDefinitionKey>nazwa_procesu</processDefinitionKey>
    <businessKeyMapping>numer_sprawy</businessKeyMapping>
  </action>
</saveActions>
```

Ustawienie tych parametrów powoduje, że po przejściu punktu zapisu wniosku system:

1. Zapisuje dane z formularza w repozytorium (FormStore),
2. Inicjuje proces BPMN w silniku **EximeeBPMS**,
3. Przekazuje dane z formularza do procesu zgodnie z mapowaniem w zakładce **Model danych**.

## Mechanizm ostatnich stron

Po przejściu punktu zapisu wniosku system wyświetla tzw. **ostatnie strony wniosku** – końcowe ekrany widoczne po wysłaniu formularza. W przypadku braku stron zakończenia system automatycznie prezentuje standardową stronę podziękowania zdefiniowaną na poziomie aplikacji Forms.

Strony zakończenia mogą służyć do:

* prezentacji komunikatu potwierdzającego wysłanie wniosku (np. podziękowania, numeru referencyjnego),
* przekazania informacji o dalszym przebiegu procesu,
* wywołania dodatkowych usług lub walidatorów.

Charakterystyka ostatnich stron:

* dane ze stron zakończenia **nie są zapisywane** **w repozytorium** wraz z danymi zebranymi z pełnoprawnych stron wniosku,
* komponenty na stronach zakończenia **działają jak zwykłe komponenty**, mogą wykonywać walidacje, usługi lub wyświetlać dane słownikowe,
* po wysłaniu wniosku i przejściu na strony zakończenia użytkownik **nie może wrócić do poprzednich stron**,
* **nie ma możliwości zaparkowania** wniosku po jego wysyłce,
* po przejściu przez strony zakończenia wniosek **nie trafia do puli wniosków porzuconych**,
* kroki zakończenia działają analogicznie jak zwykłe kroki i możemy im definiować podstawowe własności zgodnie z [instrukcją](https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/tworzenie-formularza/kroki-i-strony-formularza).

### Definiowanie ostatnich stron wniosku

Proces tworzenia ostatnich stron jest analogiczny do definiowania zwykłych stron formularza.\
Jedyną różnicą jest ich **położenie** – należy je umieścić w kroku **poniżej Punktu zapisu wniosku**.

Ilustracja poniżej przedstawia kroki przykładowego szablonu wniosku. Szablon ten posiada:

* trzy strony wniosku umieszczone w krokach **Step1** i **Step2**
* **Punkt zapisu wniosku** określający miejsce strony podziękowania,
* jedną stronę zakończenia znajdującą się w kroku **Step3**.

![Ilustracja 3. Przykładowe kroki ze stroną podziękowania](https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/C0690OaxMdckY5u2ZaOq/punkt_zapisu_pliki/image2024-9-27_13-29-32.png)

Wszystkie strony umieszczone w krokach znajdujących się poniżej **Punktu zapisu wniosku** traktowane są jako strony zakończenia.
