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 pozycji na zasadzie rozwijanego „drzewka” wyświetlane jest po lewej stronie ekranu, wybór pozycji z drzewka uruchamia wskazaną transakcję i wyświetla ją z prawej strony okna.
Elastyczność transakcji wynika z faktu że „drzewko” może być zbudowane z dowolnego prawidłowego zapytania SQL zwracającego dane na zasadzie hierachicznej, czyli poszczególne rekordy mają odwołanie do rekordu nadrzędnego.
Domyślnie dane hierarchiczne odczytywane są z tabeli knfld, do przechowywania struktury 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 zwraca pozostałe rekordy mające być pochodnymi poziomu root – posiadają przypisany poziom nadrzędny
SELECT [FOLDER], [NRIDFLD], [ACH], [PARENT], [IKONA], TRANSAKCJA + ’?refno=’ + UPPER(NRIDFLD) AS TARGETURL FROM [knfld] WHERE [PARENT]>0
W efekcie budowane jest drzewko, gdzie pozycje zapytania ROOT są ładowane automatycznie, natomiast pozycje z zapytanie PARENT są pobierane tylko na wyraźne życzenie użytkownika, gdy klika on ikonę rozwinięcia pozycji drzewa.
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
Jeżeli chcemy, aby informacje wyświetlane w drzewku były w innym rozmiarze czcionki niż domyślny to należy przekazać parametr fontsize
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
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 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
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 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ą odpowiedniego udokumentowania i obsługi. Nadwyżki z inwentaryzacji muszą być właściwie zarejestrowane w systemie. Proces wymaga dokładnej weryfikacji stanu faktycznego z dokumentacją. System automatycznie generuje odpowiednie dokumenty korygujące. Nadwyżki są wprowadzane do systemu zgodnie z obowiązującymi procedurami.
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.