Czym jest funkcja „Tree” w transakcjach systemu StudioSystem i jak działa?
Funkcja „Tree” w transakcjach systemu StudioSystem umożliwia prezentację danych w przejrzystej, hierarchicznej strukturze przypominającej drzewo katalogów. To rozwiązanie ułatwia nawigację i zarządzanie dużymi zbiorami powiązanych informacji, takich jak kartoteki, dokumenty czy kategorie produktów.
Funkcja „Tree” prezentuje dane w formie rozwijalnych gałęzi. Każdy węzeł reprezentuje kategorię, grupę lub element danych. Kliknięcie gałęzi powoduje wyświetlenie jej zawartości, takiej jak podkategorie, dokumenty lub szczegółowe rekordy. Taka prezentacja znacząco usprawnia przeszukiwanie zbiorów danych. Skraca czas potrzebny na znalezienie informacji, zwłaszcza w rozbudowanych strukturach.
Funkcja „Tree” jest bardzo użyteczna w transakcjach z powiązanymi danymi. Umożliwia na przykład przeglądanie produktów według kategorii, typów i wersji. Kontrahentów grupuje według regionów, a dokumenty dzieli na rodzaje i statusy. „Tree” zapewnia szybki wgląd w całą strukturę danych. Eliminuje konieczność filtrowania lub przeszukiwania całej bazy danych. Dzięki temu praca z StudioSystem staje się łatwiejsza i bardziej zorganizowana, a znalezienie potrzebnych informacji jest szybsze.
Jak działa transakcja z hierarchiczną listą wyboru?
Hierarchiczna lista wyboru przypomina swoim wyglądem rozgałęzione drzewo genealogiczne. Mechanizm ten znajduje się w lewym panelu interfejsu użytkownika i zawiera uporządkowane kategorie oraz podkategorie. Struktura ta umożliwia szybką nawigację poprzez rozwijanie kolejnych poziomów menu. Warto zauważyć, że taki układ znacząco ułatwia orientację w złożonych systemach transakcyjnych.
System reaguje na interakcję użytkownika w sposób dynamiczny i intuicyjny. Po wybraniu konkretnej pozycji z drzewka menu system natychmiast uruchamia powiązaną z nią transakcję. Następnie wyświetla ją w prawej części ekranu, tworząc przejrzysty podział przestrzeni roboczej. Ten sposób organizacji interfejsu przypomina popularne rozwiązania stosowane w nowoczesnych aplikacjach biurowych.
Interfejs ten zapewnia wygodną pracę poprzez zachowanie stałej widoczności struktury menu. Użytkownik może w dowolnym momencie powrócić do poprzednich poziomów hierarchii bez utraty kontekstu aktualnie wykonywanej operacji. Rozwiązanie to działa podobnie jak system plików w systemie operacyjnym. Dodatkowo struktura drzewa pozostaje widoczna nawet podczas pracy z aktywną transakcją, co zwiększa komfort użytkowania.
Funkcjonalność ta znacząco usprawnia proces nawigacji w systemie. Menu w formie drzewa pozwala na szybkie odnalezienie potrzebnych funkcji poprzez logiczny podział na kategorie. System ten działa podobnie do popularnych menedżerów plików czy katalogów bibliotecznych. Przejrzysty układ graficzny ułatwia orientację w strukturze menu nawet początkującym użytkownikom.

Transakcja tworzy hierarchiczną listę wyboru.
Lista ta przypomina rozwijane „drzewko”. Wyświetla się po lewej stronie ekranu. Wybranie pozycji z tego drzewka powoduje uruchomienie innej transakcji. Ta druga transakcja pojawia się po prawej stronie okna. Dzięki temu użytkownik może łatwo nawigować i wybierać powiązane informacje.
Elastyczność „drzewka” polega na tym, że można je zbudować z dowolnego poprawnego zapytania SQL. Zapytanie to musi zwracać dane hierarchicznie. Każdy rekord zawiera informację o swoim rekordzie nadrzędnym. Domyślnie system pobiera dane do tej hierarchicznej struktury z tabeli knfld. Tabela ta standardowo przechowuje strukturę folderów w systemie. Dzięki temu „drzewko” może odzwierciedlać różne relacje i struktury danych w systemie, a nie tylko strukturę folderów.
Uruchamianie
Transakcję uruchamia się podając parametr kod wskazujący na unikalny identyfikator skorowidza DRZ, który zawiera zapytanie do wykonania.
przykład:
roles_sys/x_tree.aspx?kod=PUBLIC
gdzie PUBLIC oznacza pozycję ze skorowidza DRZ

Skorowidz zdefiniowaną jedną pozycję o kodzie PUBLIC

gdzie zdefiniowane muszą być 2 zapytania SQL:
- Zapytanie SQL PARENT – dotyczy pozycji dodawanych do drzewka składających się na poszczególne poziomy
- Zapytanie SQL ROOT – dotyczy pozycji jakie mają być załadowane na start jako główne pozycje drzewa
Zapytanie ROOT zwraca wiersze oznaczone parent jako 0 – brak określonego poziomu nadrzędnego.
SELECT [FOLDER], [NRIDFLD], IKONA FROM [knfld] WHERE [PARENT]=0
Zapytanie PARENT, budując strukturę „drzewka”, zwraca rekordy niebędące korzeniem. Te rekordy posiadają przypisany identyfikator rekordu nadrzędnego. Inaczej mówiąc, identyfikuje elementy niższych poziomów hierarchii. Elementy te są powiązane z korzeniem lub innymi elementami pośrednimi. Te rekordy stanowią „dzieci” lub „wnuki” korzenia w strukturze drzewa.
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE [PARENT]>0
Opisane zapytania powodują, że system konstruuje interaktywne drzewko nawigacyjne. Zapytanie ROOT zwraca elementy najwyższego poziomu, które system wyświetla od razu po załadowaniu. Natomiast zapytanie PARENT definiuje elementy potomne ROOT-a, które nie są domyślnie widoczne. Użytkownik musi aktywnie kliknąć ikonę rozwijania przy danej pozycji ROOT, aby te elementy się pojawiły. Takie podejście zapewnia bardziej przejrzysty interfejs na początku i zwiększa wydajność, ponieważ system ładuje tylko te części struktury, które aktualnie interesują użytkownika.

Podsumowując, funkcja „Tree” w StudioSystem to narzędzie, które pozwala na:
- Przejrzystą organizację danych: Dzięki hierarchicznej strukturze łatwo znajdziesz potrzebne informacje.
- Szybkie przeglądanie danych: Możesz szybko przechodzić między różnymi poziomami drzewa.
- Łatwe zarządzanie dużymi zbiorami danych: Nawet duże ilości danych są łatwe do zarządzania, gdy są uporządkowane w formie drzewa.
Zapytanie ROOT
Zapytanie musi zwracać dane z kolumnami:
- FOLDER – nazwa pozycji w drzewku wyświetlana dla użytkownika
- NRIDFLD – unikalny identyfikator pozycji drzewka
- IKONA – opcjonalny parametr pozwalający wskazać inny niż domyślny plik ikony. Jeżeli nie będzie tej kolumny to ładowany jest plik domyślny, jeżeli jest podana i wartość jest > 0 to ustawiony zostanie wskazany plik.
Zapytanie PARENT
Zapytanie musi zwracać dane z kolumnami:
- FOLDER – nazwa pozycji w drzewku wyświetlana dla użytkownika
- NRIDFLD – unikalny identyfikator pozycji drzewka
- ACH – kod oznaczający status pozycji, domyślnie 1
- PARENT – wskazanie identyfikatora pozycji nadrzędnej – odwołanie do identyfikatora NRIDFLD
- IKONA – wskazuje jaki plik ikony ma być użyty dla danej pozycji, brak ikony zostanie podstawiona domyślna ikona w zależności od wartości ACH
- TARGETURL – kolumna wskazuje jaka transakcja ma być uruchomiona gdy użytkownik kliknie muszką w pozycję menu drzewko.
Szerokość
Panel zawierający drzewko domyślnie ma rozmiar 30% szerokości ekranu użytkownika, można jednak zmienić ustawienie szerokości lewego panelu z drzewkiem podając parametr przy uruchamianiu transakcji leftwidth
np. KOD=PUBLIC&leftwidth=200
oznacza że lewa część okna będzie szerokości 200 pikseli

jeżeli podamy inną wartość zmiennej leftwidth to zmienimy szerokość lewego panelu, np. leftwidth=400

Rozmiar czcionki
Aby zmienić domyślny rozmiar czcionki tekstu wyświetlanego w drzewku, należy przekazać parametr fontsize w wywołaniu transakcji. Wartością tego parametru powinna być pożądana wielkość czcionki, na przykład w pikselach (px) lub innych jednostkach CSS. Przekazanie tego parametru spowoduje nadpisanie domyślnych ustawień czcionki dla elementów drzewka.
przykładowo:
KOD=PUBLIC&fontsize=14

KOD=PUBLIC&fontsize=8

Zmienne warunku filtrowania
@KTO – zalogowany użytkownik
Zapytanie PARENT pobierające dane z bazy możemy filtrować wg nazwy zalogowanego użytkownika, aby ograniczyć listę folderów tylko do tych, które są przypisanego do zalogowanej osoby.
W zapytaniu w klauzuli filtrowania WHERE należy użyć zmiennej @KTO, np.
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE LOGIN=@KTO AND [PARENT]>0
Zmienna @KTO zostanie zastąpiona nazwą zalogowanego użytkownika programu.
@ROLA – kod roli w jakiej pracuje użytkownika
Ta zasada działa podobnie do filtrowania listy elementów według nazwy aktualnie zalogowanego użytkownika. W tym mechanizmie system dynamicznie wstawia wartość zależną od zalogowanego użytkownika do zapytania SQL, które buduje „drzewko”. Przykładowo, jeśli „drzewko” przedstawia listę przypisanych zadań, każdy użytkownik zobaczy tylko swoje zadania. System automatycznie pobiera wartość identyfikującą użytkownika (np. jego ID, login) i używa jej w klauzuli WHERE zapytania SQL, aby odfiltrować tylko powiązane z nim rekordy.
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE ROLA=@ROLA AND [PARENT]>0
Wyświetlone zostaną pozycje przypisane do roli w jakiej pracuje użytkownik
@ROLASYS – kod roli systemowej w jakiej pracuje użytkownika
zasada działania podobna do filtrowania wg nazwy użytkownika, zmienna podstawiana jest wartością w zależności od zalogowanego użytkownika
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE ROLASYS=@ROLASYS AND [PARENT]>0
Wyświetlone zostaną pozycje przypisane do roli w jakiej pracuje użytkownik
@ODDZIAL – kod oddziału użytkownika
zasada działania podobna do filtrowania wg nazwy użytkownika, zmienna podstawiana jest wartością w zależności od zalogowanego użytkownika
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE ODDZIAL=@ODDZIAL AND [PARENT]>0
@MPK – kod komórki użytkownika
System automatycznie identyfikuje zalogowanego użytkownika i wykorzystuje jego unikalny identyfikator lub inną powiązaną z nim informację (np. przypisaną rolę, dział) do zmodyfikowania zapytania SQL przed jego wykonaniem. W rezultacie, każdy użytkownik widzi tylko te informacje, które są dla niego istotne lub do których ma uprawnienia dostępu.
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE MPK=@MPK AND [PARENT]>0
Wyświetlone zostaną pozycje przypisane do oddziału w jakim pracuje użytkownik
Jak zarządzać lokalizacjami w systemie WMS?
System WMS oferuje zaawansowane możliwości zarządzania lokalizacjami magazynowymi. Zarządzanie lokalizacjami magazynowymi pozwala na efektywne wykorzystanie przestrzeni magazynowej. Moduł lokalizacji umożliwia definiowanie różnych stref składowania. Użytkownik może przypisywać towary do konkretnych miejsc składowania. System automatycznie optymalizuje rozmieszczenie produktów według zdefiniowanych reguł.
W jaki sposób rozliczać koszty z kontrahentami?
Rozliczanie kosztów z kontrahentami wymaga precyzyjnego systemu księgowego. Koszty w rozliczeniu z kontrahentami są kluczowym elementem współpracy biznesowej. System umożliwia szczegółowe śledzenie wszystkich operacji finansowych. Można definiować różne modele rozliczeń dla poszczególnych partnerów. Moduł zapewnia pełną transparentność procesu rozliczeniowego.
Co zrobić z nadwyżkami inwentaryzacyjnymi?
Nadwyżki inwentaryzacyjne wymagają starannego udokumentowania i właściwej obsługi w systemie. Przede wszystkim, każda nadwyżka wynikająca z przeprowadzonej inwentaryzacji musi zostać precyzyjnie zarejestrowana w systemie magazynowym. Ten proces rejestracji wiąże się z dokładną weryfikacją różnic między fizycznym stanem towarów a danymi zawartymi w dokumentacji magazynowej. W celu usprawnienia tego procesu, system automatycznie generuje niezbędne dokumenty korygujące, które formalizują stwierdzone nadwyżki. Ostatecznie, wprowadzenie nadwyżek do systemu odbywa się z zachowaniem obowiązujących w firmie procedur inwentaryzacyjnych i księgowych.
Jak spersonalizować wydruki w programie magazynowym?
Personalizacja wydruków jest istotnym elementem dostosowania systemu do potrzeb firmy. Personalizacja wydruków magazynowych pozwala na dostosowanie dokumentów do wymagań firmy. System oferuje szeroki zakres opcji formatowania i stylizacji dokumentów. Można definiować własne szablony dla różnych typów dokumentów. Wydruki mogą zawierać logo firmy i inne elementy identyfikacji wizualnej.
System lokalizacji w magazynie – jak to działa?
W nowoczesnym magazynie szybkie odnajdywanie towarów jest fundamentalne. Dlatego firmy coraz częściej wdrażają specjalne narzędzia, które w tym pomagają. Co więcej, taki system lokalizacji w magazynie działa jak GPS, prowadząc pracownika prosto do celu za pomocą terminala mobilnego i kodów kreskowych.
Zastosowanie tego rozwiązania przynosi wiele korzyści, na przykład znacząco skraca czas poszukiwania produktów. Ponadto, system optymalizuje trasy kompletacji zamówień, co zmniejsza dystans pokonywany przez magazynierów. W rezultacie, praca staje się bardziej wydajna, a liczba pomyłek przy wydawaniu towarów maleje niemal do zera, co jest bardzo istotne dla płynności operacji.