Atrybuty
Obsługa zakładki Atrybuty
Zakładka [Atrybuty] działa w ten sam sposób na wszystkich obiektach, na których jest dostępna (m.in. na zamówieniach, kartach kontrahentów i ich grupach, kartach towarów i wzorcach grup towarów, fakturach sprzedaży czy paragonach). Prezentowana jest jako lista atrybutów przypisanych do danego obiektu wraz z ich wartościami.
Wygląd listy atrybutów
Lista atrybutów zawiera trzy kolumny:
- Nazwa klasy – nazwa atrybutu. Atrybuty wymagane są dodatkowo oznaczone, a atrybuty archiwalne otrzymują etykietę „Archiwalny”.
- Wartość – bieżąca wartość atrybutu, prezentowana w formie zależnej od jego typu (tekst, liczba, data, wybór z listy, wartość Tak/Nie lub odwołanie do innego obiektu).
- Grupa – nazwa grupy, do której należy atrybut.
![Zakładka [Atrybuty] na obiekcie](https://pomoc.comarch.pl/xlweb/wp-content/uploads/2026/07/word-image-68435-171.png)
Nad listą dostępne są dwa narzędzia ułatwiające odnalezienie atrybutów:
- Wyszukaj atrybut – pole umożliwiające wyszukanie atrybutu po nazwie.
- Grupa – filtr pozwalający ograniczyć listę do wybranych grup atrybutów (możliwy jest wybór wielu grup jednocześnie).
Edycja atrybutów
Na ekranach podglądu obiektów (np. podgląd faktury czy paragonu) zakładka Atrybuty prezentowana jest w trybie tylko do odczytu – umożliwia zapoznanie się z przypisanymi atrybutami i ich wartościami bez możliwości edycji. Aby wprowadzić zmiany, należy przejść w tryb edycji.
Na obiektach, które nie mają trybu edycji całego formularza (np, kontrahent, towar) w nagłówku sekcji dostępne są wówczas przyciski Edytuj oraz Dodaj (jeśli nie ma żadnego atrybutu na obiekcie).


Na obiektach obsługujących tryb edycji całego formularza (np. na formularzach dokumentów) po otwarciu obiektu w trybie edycji zakładka [Atrybuty] od razu otwierana jest w trybie edycji.

Dodawanie atrybutów
Po wybraniu opcji Dodaj otwierane jest okno z listą atrybutów możliwych do przypisania do obiektu.

Atrybuty prezentowane są w formie drzewa – pogrupowane oraz w sekcji nadrzędnej Wszystkie.
Dostępne jest pole wyszukiwania, a poszczególne pozycje zaznacza się polami wyboru; atrybuty wymagane są wyróżnione. Po zatwierdzeniu wybrane atrybuty zostają dodane do listy.
Uzupełnianie i zmiana wartości
Wartość atrybutu wprowadza się bezpośrednio w kolumnie Wartość. Sposób uzupełniania zależy od typu atrybutu – może to być wpisanie tekstu lub liczby, wybór daty, wybór pozycji z listy, ustawienie wartości Tak/Nie albo wskazanie powiązanego obiektu.

Dla atrybutów wielowartościowych oraz okresowych (z okresem obowiązywania) wartości wprowadza się w osobnym oknie „Wartości atrybutu” po wyborze opcji Edytuj listę.


W przypadku atrybutów okresowych podaje się dodatkowo daty „Obowiązuje od” i „Obowiązuje do”.

Zmiana kolejności atrybutów
W trybie edycji kolejność atrybutów na liście można zmieniać. Z menu pozycji dostępne są opcje Przesuń w górę i Przesuń w dół.

Usuwanie atrybutów
Pojedynczy atrybut usuwa się poleceniem Usuń dostępnym w menu danej pozycji. Możliwe jest również zaznaczenie wielu atrybutów i usunięcie ich jednocześnie. Przed usunięciem wyświetlane jest pytanie o potwierdzenie. Atrybutów automatycznych oraz wymaganych nie można usunąć.


Zapisywanie zmian
W zależności od obiektu zmiany zapisywane są na dwa sposoby:
- Zapis ręczny – zmiany wymagają zatwierdzenia; przy próbie zamknięcia okna z niezapisanymi danymi pojawia się ostrzeżenie o możliwej utracie wprowadzonych informacji.

- Zapis automatyczny – zmiany zapisywane są na bieżąco.

Po zapisaniu prezentowane są komunikaty potwierdzające (np. „Dodano atrybut”, „Zapisano atrybuty”, „Usunięto atrybut”), a w razie problemów – odpowiednie komunikaty o błędzie.
Kontrola poprawności danych
Podczas wprowadzania wartości system weryfikuje ich poprawność i sygnalizuje m.in.:
- brak wartości w polu wymaganym („To pole jest wymagane”),
- przekroczenie dopuszczalnej liczby znaków,
- powtórzenie atrybutu o tej samej wartości,
- nakładanie się lub niepoprawny zakres dat obowiązywania (dla atrybutów okresowych).
Dopóki dane zawierają błędy, zapis nie jest możliwy – wyświetlany jest komunikat z prośbą o ich poprawienie.
Filtr zaawansowany na listach
Obsługa filtra zaawansowanego
Filtr zaawansowany działa w ten sam sposób na wszystkich listach, na których jest dostępny (m.in. na liście zamówień, paragonów, faktur sprzedaży, faktur zakupu czy wydań magazynowych). W każdym z tych miejsc korzysta z tych samych okien: panelu tworzenia filtra oraz okna zarządzania filtrami.
Wybór filtra na liście
Filtr zaawansowany jest dostępny w panelu filtrów wywoływanym przyciskiem Filtry znajdującym się nad listą jako jeden z filtrów listy, opatrzony etykietą Filtr zaawansowany.

Można wybrać jednocześnie tylko jeden filtr.
Po rozwinięciu można wybrać filtr z listy, można także zacząć wpisywać nazwę filtra bezpośrednio w kontrolce – lista filtrów zawężana jest do pozycji zawierających wpisaną frazę.
Jeżeli dla listy ustawiono filtr domyślny, jest on stosowany automatycznie przy jej otwarciu.
Dodawanie filtra zaawansowanego
Po wybraniu opcji dodawania otwierane jest okno „Dodawanie filtra zaawansowanego”.

Zawiera ono następujące elementy:
- Nazwa filtra – pole wymagane; nazwa może mieć maksymalnie 254 znaki. Jeżeli filtr o tej samej nazwie już istnieje, wyświetlany jest komunikat „Filtr o tej samej nazwie już istnieje”.
- Typ filtra – wybór spośród typów: Operatora, Centrum, Obowiązkowy.
- Centrum – wskazanie centrum, którego dotyczy filtr.
- Stosuj domyślnie – przełącznik ustawiający filtr jako domyślny. Jeżeli istnieje już inny filtr domyślny, wyświetlana jest informacja, że wybór tej opcji zastąpi dotychczasowy filtr domyślny.
- Zablokuj edycję filtra – przełącznik uniemożliwiający późniejszą edycję filtra.
- Pola związane z budową filtra
Sposób budowania warunków
Dostępne są dwa sposoby zbudowania filtra, przełączane w górnej części okna: Wybierz warunki z listy oraz Utwórz filtr z zapytaniem SQL.
Przy przełączaniu trybów wyświetlane są komunikaty pomocnicze – wprowadzenie treści zapytania SQL powoduje utratę warunków zbudowanych z listy, a usunięcie treści zapytania umożliwia powrót do trybu Wybierz warunki z listy.
Budowanie warunków z listy
Każdy warunek składa się z pola (Pole), wyrażenia (np. „Równa się”, „Zawiera”, „Większe niż”, „Pomiędzy”) oraz wartości (Wartość).
Kolejne warunki łączy się operatorem (Łącznik) o wartości i albo lub.
Z menu przy warunku dostępne są opcje jego rozbudowy i usuwania: Dodaj warunek, Dodaj warunek podrzędny, Dodaj wiersz warunku oraz Usuń.

Przy usuwaniu warunku zawierającego warunki podrzędne wyświetlane jest ostrzeżenie, że zostaną one również usunięte, wraz z prośbą o potwierdzenie.
Różnica: kolejny warunek, warunek podrzędny i wiersz warunku
Wszystkie trzy opcje służą do rozbudowy filtra, ale działają na różnych poziomach jego struktury. Filtr zaawansowany budowany z listy ma budowę wielopoziomową: składa się z ponumerowanych warunków (grup), które mogą zawierać wiele wierszy oraz zagnieżdżone warunki podrzędne.
- Wiersz warunku – Dodaj wiersz warunku dokłada kolejną linię (pole – wyrażenie – wartość) wewnątrz tego samego warunku. Kolejne wiersze w obrębie jednego warunku łączone są ze sobą łącznikiem i / lub.
Wiersze tworzą jedną, wspólną grupę porównań – tak jak zestaw kryteriów ujętych w jednym nawiasie. Przykładowo w jednym warunku można zbudować regułę: „Kolor = czerwony i Cena > 100″.

- Kolejny warunek – Dodaj warunek tworzy zupełnie nowy, samodzielny warunek na najwyższym poziomie filtra. Warunki takie są numerowane kolejno (1, 2, 3…) i łączone między sobą łącznikiem i / lub.
Każdy taki warunek jest odrębną grupą kryteriów. Służy do oddzielenia od siebie niezależnych zestawów reguł, np. warunek 1 opisuje cechy towaru, a warunek 2 – jego stan magazynowy.

- Warunek podrzędny – Dodaj warunek podrzędny tworzy warunek zagnieżdżony wewnątrz warunku bieżącego. Warunek podrzędny otrzymuje numer wynikający z hierarchii (np. 1.1, 1.2) i łączony jest z warunkiem nadrzędnym łącznikiem i / lub.

Warunki podrzędne odpowiadają zagnieżdżonym nawiasom w regule filtrowania – pozwalają budować bardziej złożone reguły, w których jeden zestaw kryteriów zawiera w sobie kolejny, dokładniej doprecyzowany zestaw.
Przy usuwaniu warunku, który zawiera warunki podrzędne, system ostrzega, że zostaną one usunięte razem z nim.
Sekcja wyświetlająca treść warunku
Podczas budowania filtra zaawansowanego z listy nad obszarem, w którym dodaje się poszczególne warunki, prezentowana jest sekcja podsumowująca treść całego warunku. Ma ona postać pola tekstowego tylko do odczytu, w którym system na bieżąco zestawia zbudowane kryteria w jeden czytelny zapis.

Zapis jest tworzony automatycznie z tego, co zostało wprowadzone w poszczególnych wierszach, i składa się z: nazwy pola, użytego wyrażenia (np. „Równa się”, „Zawiera”) oraz wartości. Kolejne kryteria łączone są słowami odpowiadającymi wybranym łącznikom, a zestawy kryteriów należące do jednego warunku ujmowane są w nawiasy.
Warunki podrzędne prezentowane są z wcięciem względem warunku nadrzędnego, dzięki czemu w treści widoczna jest hierarchia (zagnieżdżenie) warunków, a każdy poziom rozpoczyna się od odpowiedniego łącznika. Daty w wartościach zapisywane są w formacie rok-miesiąc-dzień, a zakresy prezentowane są jako wartość początkowa i końcowa.
Sekcja ta pełni rolę wyłącznie poglądową – prezentuje aktualny kształt filtra, ale nie służy do jego edycji (pole jest zablokowane do wpisywania). Jej wysokość dostosowuje się do liczby linii treści, więc rozbudowany filtr wyświetlany jest na kilku wierszach. Treść odświeża się na bieżąco – każda zmiana wprowadzona w warunkach (dodanie pola, zmiana wyrażenia, wartości czy łącznika) jest od razu odzwierciedlana w tym zapisie.
Budowanie z zapytaniem SQL
W tym trybie wprowadza się treść zapytania. Dostępne są pomocnicze funkcje: Sprawdź (weryfikacja poprawności zapytania) oraz Wstaw funkcję systemową. Po sprawdzeniu wyświetlany jest komunikat o wyniku: „Nie znaleziono błędów.”, „Znaleziono błędy.” lub „Zapytanie jest puste.”
Kiedy przełącznik „Utwórz filtr z zapytaniem SQL” jest dostępny
Wybór sposobu budowania filtra (przełącznik między Wybierz warunki z listy a Utwórz filtr z zapytaniem SQL) jest widoczny wyłącznie dla operatora z uprawnieniami administratora. Użytkownik bez tych uprawnień korzysta zawsze z budowania warunków z listy i nie ma dostępu do trybu SQL.
Dodatkowo dostępność trybu SQL zależy od typu filtra:
- dla filtra typu Centrum oraz Obowiązkowy można swobodnie przełączać się między oboma sposobami budowania,
- dla filtra typu Operatora sposób budowania jest ustawiany na Wybierz warunki z listy i zablokowany – tego typu filtr nie może korzystać z zapytania SQL.
Po przejściu w tryb SQL prezentowany jest pasek informacyjny z ostrzeżeniem „Wprowadzenie treści zapytania spowoduje utratę warunków w Wybierz warunki z listy“. Jeżeli treść zapytania została już wpisana, powrót do trybu listy jest zablokowany – wyświetlana jest wtedy informacja „Usunięcie treści zapytania umożliwi powrót do zakładki Wybierz warunki z listy“. Oznacza to, że aby wrócić do budowania z listy, należy najpierw wyczyścić zapytanie.
Reguły tworzenia samego zapytania
Wpisywana treść nie jest pełnym, samodzielnym zapytaniem SELECT takim, jakie tworzy się np. w SQL Server Management Studio. Podaje się wyłącznie treść warunku – to, co w zapytaniu znalazłoby się po słowie WHERE. System sam osadza tę treść w gotowym szkielecie zapytania w celu jej sprawdzenia i zastosowania.
Podczas weryfikacji obowiązują następujące reguły:
- treść nie może być pusta,
- treść nie może przekraczać dopuszczalnej maksymalnej długości,
- treść nie może zawierać niedozwolonych (niebezpiecznych) znaków,
- treść musi być poprawną składniowo klauzulą warunku – jest ona sprawdzana przez analizator składni języka T-SQL po osadzeniu w wzorcowym zapytaniu SELECT 1 … WHERE {treść},
- zapytanie nie może zawierać niedozwolonych konstrukcji – po analizie treść jest przeglądana pod kątem zabronionych elementów i w razie ich wykrycia zostaje odrzucona.
W praktyce zapytanie ma więc charakter warunku filtrującego dane danej listy, a nie dowolnego zapytania mogącego swobodnie odwoływać się do dowolnych tabel bazy. Treść jest ograniczona do poprawnej klauzuli warunkowej i podlega kontroli dozwolonej zawartości.
Pole edycji zapytania i podświetlanie składni
Zapytanie wpisuje się w edytorze tekstowym, w którym treść jest automatycznie kolorowana dla poprawy czytelności: osobno wyróżniane są słowa kluczowe SQL (np. SELECT, FROM, WHERE, JOIN, GROUP BY), operatory logiczne i porównania (np. AND, OR, LIKE, BETWEEN, IS NULL), operatory arytmetyczne (np. =, <, >), funkcje (np. SUM, COUNT, GETDATE) oraz teksty ujęte w apostrofy.

Sprawdzanie zapytania
Poleceniem Sprawdź można zweryfikować poprawność wpisanej treści. Przycisk pozostaje nieaktywny, dopóki treść nie zmieni się od ostatniego sprawdzenia (ponowne sprawdzenie tej samej treści nie jest potrzebne). Po sprawdzeniu pod polem pojawia się komunikat o wyniku: „Nie znaleziono błędów.”, „Znaleziono błędy.” lub „Zapytanie jest puste.”, a pole zostaje odpowiednio oznaczone (poprawne/niepoprawne).


Każda kolejna zmiana treści usuwa poprzedni wynik sprawdzenia – należy je wykonać ponownie.
Okno wyboru funkcji systemowej
Opcja Wstaw funkcję systemową (dostępna pod przyciskiem Więcej) otwiera okno „Funkcje systemowe”.

Okno prezentuje listę dostępnych funkcji systemowych w formie tabeli z kolumnami:
- Nazwa – nazwa funkcji (kolumna, po której lista jest domyślnie sortowana rosnąco),
- Opis – opis działania funkcji,
Nad listą znajduje się pole wyszukiwania umożliwiające odnalezienie funkcji po nazwie.
Wyboru dokonuje się przez zaznaczenie jednej funkcji z listy (możliwy jest wybór tylko jednej pozycji). Zatwierdzenie następuje przyciskiem Zapisz, a rezygnacja – przyciskiem Anuluj. Po zatwierdzeniu wybrana funkcja jest wstawiana do treści zapytania w miejscu kursora, również w postaci ujętej w podwójne nawiasy klamrowe (np. {{ GETDATE() }}).
Zapisywanie filtra zbudowanego z SQL
Przy zapisie filtra utworzonego w trybie SQL do zapisu trafia wprowadzona treść warunku (po usunięciu zbędnych spacji). Jeżeli treść jest pusta, filtr nie zostaje zapisany z zapytaniem.
Zapisany filtr SQL w oknie podglądu prezentowany jest w polu „Zapytanie SQL” (zamiast tabeli z rozpisanymi warunkami).

Zarządzanie filtrami zaawansowanymi
Zarządzanie odbywa się w oknie „Filtry zaawansowane” wyświetlanym po naciśnięciu przycisku Zarządzaj w kontrolce filtra.

Na zakładce z listą filtrów dostępne są pole „Wyszukaj filtr” oraz przycisk Dodaj otwierający opisane wyżej okno tworzenia filtra.
Lista filtrów zawiera kolumny: Nazwa filtra (filtr domyślny jest oznaczony etykietą „Domyślny”), Typ filtra oraz Operator tworzący.
Dla poszczególnych filtrów, z menu w wierszu, dostępne są następujące polecenia:
- Ustaw jako domyślny / Usuń domyślność filtra – oznaczanie i odznaczanie filtra jako domyślnego.
- Edytuj – otwarcie filtra do edycji.
- Podgląd – wyświetlenie filtra w trybie tylko do odczytu.
- Usuń – usunięcie filtra; przed usunięciem wyświetlane jest pytanie „Czy na pewno chcesz usunąć filtr?”.
Dostępność poszczególnych poleceń zależy od typu filtra i uprawnień. Filtry typu Centrum oraz Obowiązkowy mogą być usuwane wyłącznie przez administratora, a filtry oznaczone jako zablokowane do edycji lub zbudowane z zapytania SQL nie są edytowalne dla użytkowników bez uprawnień administratora.
ChatERP
ChatERP to wbudowany w system XL Web wirtualny asystent, z którym można prowadzić rozmowę w formie czatu. Narzędzie działa w wersji Beta i pozwala zadawać pytania oraz otrzymywać odpowiedzi bez opuszczania aplikacji.
Uruchamianie asystenta
Asystent jest dostępny z poziomu górnego paska aplikacji (paska nagłówka). Znajduje się tam przycisk z ikoną ChatERP, opatrzony podpowiedzią „Comarch ChatERP”.

Po wybraniu przycisku okno czatu jest otwierane lub zamykane. Podczas pierwszego uruchamiania (nawiązywania połączenia) przycisk jest chwilowo nieaktywny, a na ekranie prezentowany jest wskaźnik ładowania. Ponowne wybranie przycisku, gdy okno jest już otwarte, powoduje jego ukrycie – rozmowa nie zostaje przy tym utracona.
Akceptacja regulaminu (aktywacja usługi)
Przy pierwszym uruchomieniu usługi, jeżeli regulamin nie został jeszcze zaakceptowany, wyświetlane jest okno „Aktywacja usługi”. Zawiera ono informację, że korzystanie z asystenta w wersji Beta wymaga zapoznania się z regulaminem i jego akceptacji poprzez wypełnienie formularza.

W oknie tym dostępne są przyciski Anuluj oraz Przejdź do formularza. Wybranie drugiej opcji otwiera formularz zgody w nowej karcie przeglądarki. Po jego wypełnieniu należy wrócić na stronę systemu i ponownie uruchomić ChatERP. Dopóki zgoda nie zostanie udzielona, rozmowa z asystentem nie jest możliwa.
Prowadzenie rozmowy
Po uruchomieniu asystenta otwierane jest okno czatu, w którym może zostać wyświetlona wiadomość powitalna. W oknie tym wpisuje się pytania i wysyła je do asystenta, a odpowiedzi pojawiają się kolejno w formie rozmowy.

Wiadomość ma ograniczoną maksymalną długość, ustalaną dla danej rozmowy. Jeżeli w odpowiedzi asystenta znajdują się odnośniki prowadzące do miejsc w systemie XL Web, ich wybranie powoduje przejście do odpowiedniego widoku bezpośrednio w aplikacji.
Treść odpowiedzi można skopiować – kopiowany jest wówczas czysty tekst (bez znaczników formatowania).
Poszczególne odpowiedzi asystenta można ocenić – pozytywnie lub negatywnie. Przekazana ocena jest wysyłana jako informacja zwrotna dotycząca konkretnej wiadomości.

Prowadzona rozmowa oraz stan okna czatu są zapamiętywane w ramach bieżącej sesji pracy. Dzięki temu przełączanie się między widokami systemu nie powoduje utraty dotychczasowej konwersacji, a po ponownym otwarciu okna czatu widoczne są wcześniejsze wiadomości.
Jeżeli nie uda się nawiązać połączenia z asystentem albo wystąpi błąd podczas wysyłania wiadomości, prezentowany jest komunikat o błędzie (np. „Ups, coś poszło nie tak. Spróbuj ponownie za chwilę.”) i można spróbować ponownie.