# Model danych w procesie

Aby móc wykorzystać **model danych** w procesie, należy wykonać następujące kroki:

1. **Stworzyć model danych.**
2. **Powiązać dwukierunkowo klucze modelu danych z wnioskiem**\
   (szczegóły opisane w sekcji [*Model danych na interfejsie*](https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/model-danych-na-interfejsie)).
3. **Uruchomić aplikację z przypisanym modelem danych.**

Po wykonaniu powyższych kroków model danych jest dostępny w procesie.

***

### Gdzie można używać modelu danych?

Model danych może być wykorzystywany w:

* **zadaniach skryptowych**,
* **userTaskach**,
* **podprocesach**.

***

### Ograniczenia — gdzie klucze modelu nie działają?

Klucze modelu danych **nie działają** w:

* gateway’ach BPMN,
* skryptowych **BPMN ScriptTaskach**.([Zadanie skryptowe BPMS (scriptTask)](https://docs.eximee.com/budowanie-aplikacji/proces-biznesowy/zadania-automatyczne/zadanie-skryptowe-bpms-scripttask))

Jeśli chcemy używać danych modelu w tych elementach BPMN, należy **zmapować je do zmiennych procesowych**.\
Więcej informacji w sekcji [*Przekazywanie danych do procesu*](https://docs.eximee.com/budowanie-aplikacji/proces-biznesowy/przekazywanie-danych-do-procesu).

***

### modelInstanceId – dostęp do instancji modelu

Proces, który korzysta z modelu danych, automatycznie otrzymuje zmienną:

**`modelInstanceId`**

Jest to identyfikator instancji modelu danych, w której przechowywane są wartości modelu.\
Wszystkie operacje na modelu danych w trakcie procesu wykorzystują tę zmienną.

***

### Zadania skryptowe

Szczegółowy opis korzystania z modelu danych w zadaniach skryptowych znajduje się tu:\
[API zadań skryptowych](https://docs.eximee.com/logika-biznesowa/scriptcode/zadanie-skryptowe-scripttask/api-zadan-skryptowych#model-danych) oraz [API modelu danych](https://docs.eximee.com/budowanie-aplikacji/model-danych/wykorzystanie-modelu-danych/api-modelu-danych).

***

### UserTaski

W UserTaskach korzystanie z modelu danych polega na używaniu kluczy modelu tak samo, jak w sekcji [Model danych na interfejsie](https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/model-danych-na-interfejsie).

***

### Podprocesy

Aby korzystać z modelu danych w podprocesie:

1. Przekaż do podprocesu zmienną **`modelInstanceId`**.
2. Nazwa zmiennej **musi być identyczna** jak w procesie wywołującym.
