# Podpięcie usługi na poziomie strony lub całego wniosku

### Przykład podpięcia usługi

Poza standardowym podpinaniem usług pod pojedyncze komponenty, Eximee umożliwia definiowanie *usług na poziomie strony lub wniosku*. Używa się ich do zasilania danymi wielu pól jednocześnie albo wykonywania operacji przy wejściu/wyjściu z wniosku. Przykładowo można zdefiniować usługę ***PageService*** dla strony z adresem klienta, która po wpisaniu kodu pocztowego automatycznie pobierze i uzupełni miejscowość oraz województwo w innych polach. Innym przypadkiem jest ***EntryService*** uruchamiana przy otwarciu wniosku – np. pobierająca podstawowe dane klienta i wypełniająca nimi formularz.

**Konfiguracja krok po kroku:**

1. **Dodanie usługi na poziomie formularza:** W pierwszej kolejności należy zarejestrować odpowiednią usługę w kontekście wniosku:
   * *Usługa strony (**PageService**):* W celu dodania usługi strony należy otworzyć zakładkę **Page services** znajdującej się po lewej stronie widoku edytora.
   * *Usługa wniosku wejściowa/wyjściowa (**Entry/Exit Service**):* W zakładce **Właściwości** całego wniosku należy dodać usługę jako **Serwis wejścia** (wykonywany przy otwarciu wniosku) lub **Serwis wyjścia** (wykonywany przy zakończeniu lub składaniu wniosku).<br>

     <div align="center"><figure><img src="/files/IbOM03bBeLDl6t67rNWv" alt=""><figcaption><p><em><strong>Ilustracja 1.</strong> Okno wyboru usługi zdefiniowanej dla strony (zawężona lista do PageService dostępnych na wniosku)</em></p></figcaption></figure></div>
2. **Podpięcie usługi do komponentu:** Następnie należy zaznaczyć komponent, który ma wyświetlać dane pochodzące z wybranej usługi (np. pole Miejscowość klienta). W jego właściwościach, w sekcji **Interakcje**, trzeba ponownie skorzystać z pola **Źródło danych zewnętrznych** – kliknąć **Wybierz serwis** i wyszukać na liście wcześniej utworzoną usługę. Następnie wybrać właściwą usługę typu Page lub Entry z listy.<br>

   <figure><img src="/files/dgeYdhLWNPwqAi7382f9" alt="" width="558"><figcaption><p><em><strong>Ilustracja 2.</strong> Okno wyboru parametru wyjściowego dla usługi</em></p></figcaption></figure>
3. **Mapowanie wyników:** Po wybraniu usługi należy przejść do zakładki **Parametry wyjściowe**. Spośród dostępnych danych zwracanych przez usługę należy wybrać odpowiednie pole wyjściowe i zmapować je na atrybut komponentu. Przykładowo, usługę PobierzDaneKlientaService można zmapować w taki sposób, aby atrybut **value** pola Miejscowość otrzymywał wartość z parametru clientCity zwracanego przez usługę.
4. **Parametry wejściowe (jeśli wymagane):** Jeżeli usługa na poziomie strony/wniosku wymaga parametrów wejściowych (np. kod pocztowy jako wejście do ***PageService***), parametry te powinny zostać powiązane w konfiguracji wejścia EDS. Domyślnie zostanie ustawione nasłuchiwanie na komponenty wskazane w parametrach wejściowych.
5. **Odświeżanie danych na zmianę:** Dzięki mechanizmowi nasłuchiwania, jeśli wartość w polu wejściowym usługi (np. kod pocztowy) ulegnie zmianie, powiązana usługa Page/Entry zostanie automatycznie wywołana ponownie, a zależne komponenty odświeżone. Użytkownik nie musi podejmować dodatkowych akcji – formularz sam zadba o aktualność danych.


---

# 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/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/zasilanie-wartosciami-z-zewnetrznych-zrodel/podpiecie-uslugi-na-poziomie-strony-lub-calego-wniosku.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.
