g_grid.aspx

Uniwersalna wyszukiwarka

Zadaniem systemów bazodanowych jest umiejętność szybkiego wyszukiwania informacji, niedoścignionym wzorem jest w tym zakresie google. Użytkownicy internetu szukają informacji w różnych baza danych na różnych stronach i portalach.

Istnieje więc potrzeba dawania użytkownikom oprogramowania SoftwareStudio narzędzia za pomocą którego będzie można przeszukiwać bazę danych wg dowolnych kryteriów. Dowolnych, ponieważ metoda działania wyszukiwarki zależy od jej konfiguracji przez administratora systemu. Poniższa dokumentacja opisuje podstawowe zastosowania transakcji g_grid.aspx i parametry w celu jej elastycznego wykorzystania.

g_grid_aspx

 

Konfiguracja transakcji

Z poziomu modułu konfiguracji sekcja KONFIGURACJA INFORMACJI wybieramy pozycję WYSZUKIWARKA. Wyświetli się lista dostępnych zdefiniowanych kodów dla transakcji g_grid.aspx. Ponizszy przykłąd zawiera zdefiniowane dwie pozycje:

konfiguracja wyszukiwarka

Przykłady omówimy za pomocą konfiguracji kodu GOG_CRM_KNASO

Ustawienia podstawowe

Ustawienia podstawowe dotyczą parametrów dostępnych bezpośrednio w tabeli. Poniżej szczegółowe omówienie poszczególnych parametrów – kolumn tabeli

  • KOD TRANSAKCJI – unikalna nazwa parametru do uruchomienia transakcji g_grid,aspx, pozwala identyfikować parametry;
  • PLACEHOLDER – tekst wyświetlany wewnątrz okna wpisywania poszukiwanej informacji, tekst ten stanowi zachętę i informację dla użytkownika co powinien wpisać;
  • ŹRÓDŁO DANYCH – nazwa połączenia z bazą danych z której będą pobierane dane do wyszukiwania, domyślnie jest to SoftwareStudioConnectionString;
  • ZAPYTANIE SQL – prawidłowe zapytanie do bazy, które zwraca wyniki w postaci tabeli, najczęściej zapytanie do tabeli lub widoku SQL. UWAGA: bardzo ważne jest ustawienie po poleceniu SELECT ograniczenia co do ilości rekordów jakie mają być zwracane w wyniku zapytania. Należy podawać więc SELECT TOP(10) … gdzie TOP(10) oznacza że będzie zwrócone pierwszych 10 rekordów spełniających warunek (warunki) poszukiwania. Przykład zapytania: SELECT TOP(20) NRIDASN, FOTO, (INDEKS) as PICTURE, INDEKS, NAZWAAS, MAGAZYN, EANASN FROM KNASO where MAGAZYN=@MAGAZYN AND (indeks LIKE ‚$$SearchString%’ or nazwaas like ‚%$$SearchString%’) ORDER BY NAZWAAS. W zapytaniu należy podać podstawowy warunek (warunki) filtrowania w miejscu gdzie ma być wstawiony tekst wprowadzony przez użytkownika należy wpisać zmienną: $$SearchString. Opis dodatkowych warunków filtrowania znajduje się w części ustawienia szczegółowe.
  • IL.ZNAKÓW – parametr określający po ilu znakach wpisanych przez użytkownika program zacznie wyszukiwać wyniki. Jeżeli przeszukiwana baza jest duża i zawiera tysiące, setki tysięcy lub miliony rekordów należy wymusić na użytkowniku precyzyjne podanie informacji jak a jest poszukiwana. Dlatego ustawienie parametru nie powinno być wynosić 0 (zero), co oznacza że wpisanie 1 znaku automatycznie wywoła poszukiwanie wyników. Zwykle wyniki nie będą zgodne z oczekiwaniem użytkownika. Zalecamy więc ustawić parametr na minimum 3 znaki. UWAGA: wyszukiwanie rozpoczyna się nie natychmiast po kliknięciu na klawiaturę, ale z określonym opóźnieniem po zwolnieniu klawisza (500 milisekund).
  • SZEROKOŚĆ STRONY -parametr nieużywany

 

Ustawienia szczegółowe

Ustawienia szczegółowe dotyczą ustawienia zawartości okna wyszukiwania oraz dodatkowych obiektów do precyzowania zapytania np. wg cech. W celu edycji tych parametrów należy po zaznaczeniu wiersza tabeli dla którego chcemy zmieniać ustawienia szczegółowe wybrać polecenie Edytuj Kolumny. Wyświetlone zostaje okno z tabelą pozycji np.

konfiguracja szczegółowa wyszukiwarki

Szczegółowy opis parametrów (kolumn tabeli)

  • KOLEJNOŚĆ – ustalenie w jakiej kolejności wyświetlone zostaną obiekty w wierszu wyników, nie dotyczy pozycji dla których Typ Kolumny ustawiono na Button.
  • NAZWA KOLUMNY  – unikalna nazwa kolumny z zapytania SQL,  nie dotyczy pozycji dla których Typ Kolumny ustawiono na Button.
  • TYTUŁ – nazwa opisowa danej pozycji w tabeli wyników dla danej kontrolki.
  • SZEROKOŚĆ KOLUMNY – ustalenie jakiej szerokości w pikselach ma być wyświetlana informacja z kolumny lub jakiej szerokości w pikselach ma być komórka wyszukiwania w lewym panelu.
  • WIDOCZNOŚĆ – ustawienia na TAK powoduje że pozycja jest wyświetlana w tabeli wyników, ustawienie na NIE – pozycja jest niewidoczna.
  • WYMAGANA – parametr nieużywany.
  • KLUCZ DOMYŚLNY – wskazanie która kolumna zawiera unikalny identyfikator wiersza tabeli wyników, wykorzystywane do uruchamiania kolejnych transakcji do przekazania unikalnego klucza – patrz opis dodawanie przycisków poleceń poprzez konfigurację TOOLBARMENU.
  • TYP KOLUMNY – decyduje o sposobie wyświetlania wyników, domyślnie jest to Text. Obsługiwane typy:
    • Text – wynik w postaci tekstu
    • Image – wynik w postaci ikony, obrazka. Wartość musi zwracać link do pliku z obrazkiem
    • Pictures – lista plików obrazków odczytywane z fizycznego folderu. Patrz opis szczegółowy.
    • Checkbox – informacja logiczna TAK lub NIE
    • Button – oznaczenie pozycji dodatkowego filtrowania, nie jest wyświetlane w tabeli wyników, ale z lewej strony. patrz opis poniżej
  • Max. il. znaków – ograniczenie ilości wprowadzonych znaków w polach wyszukiwarki w lewym panelu (pola typu Button)
  • MULTILINE – pole opisowe
  • POGRUBIENIE – niużywane
  • WARUNEK FILTROWANIA – wykorzystywane w połączeniu z typem kolumny Button. Wskazuje na sposób w jaki będą filtrowane wyniki. Przykładowo: eanasn like ‚%$$SearchString%’ oznacza wyniki będą ogranioczne do pozycji dla których w kolumnie eanasn będą wartości zgodne z tym co wpisał użytkownik. Przykład wyszukiwania dokładnego: jedn = ‚$$SearchString’ oznacza wyniki będą zwracane tylko wtedy gdy wpisana przez użytkownika wartość jednostki będzie dokładnie równa wartości w kolumnie jedn.
  • PARAMETRY – możemy sterować sposobem formatowania poszczególnych elementów tabeli wyników za pomocą styli (poleceń CSS) np. zmieniając rozmiar, czcionkę kolory itp.

 

 

Parametry uruchomienia transakcji

Uruchamiając transakcję g_grid.aspx wymagane jest podanie parametru refno=

np. role_sys/g_grid.aspx?role=GOG_CRM_KNASO

Parametry opcjonalne

vertical

Jeżeluchai urmiając transakcję podamy parametr vertical=1 to zmienimy sposób formatowania wierszy, które program będzie układał pionowo, tak że w zależności od rozmiaru (szerokości) monitora oraz zawartości danych i obrazków będą się dane układały kolumnami. Przykłady:

g_grid vertical 1

g_grid vertical 2

g_grid vertical 3

g_grid vertical 4

 

 

hddpictures

Parametr hddpictures definiuje ścieżkę fizyczną (folder rzeczywisty lub wirtualny)  do plików ze zdjęciami. Wykorzystywany do wyświetlania danych dla typu kolumny Pictures. Podajemy nazwę folderu w ramach witryny w której uruchamiamy program np. hddpictures=App_Pictures_VIS

Jeżeli parametr nie jest podany to ustawiania jest wartość domyślna /App_Pictures/

wwwpictures

Parametr wwwpictures definiuje stronę www do plików ze zdjęciami umieszczaną w wynikach. Wykorzystywany do wyświetlania danych dla typu kolumny Pictures. Podajemy nazwę witryny z której wyświetlane będą zdjęcia np. wwwpictures=https://intranet.softwarestudio.com.pl/App_Pictures_VIS/

Jeżeli parametr nie jest podany to odczytywana jest wartość parametru z bazy SQL parametr Witryna ze zdjęciami.

witryna ze zdjęciami

Przykład uruchomienia transakcji z parametrami:

g_grid.aspx?widok=GOG_CRM_KNASO&hddpictures=App_Pictures_VIS&wwwpictures=https://intranet.softwarestudio.com.pl/App_Pictures_VIS/

leftpanelwidth

Parmetr leftpanelwidth ustala szerokość lewego panelu wyszukiwarki. Wartość podawana w pikselach. Jeżeli w parametrze zostanie podana wartość 0 (zero) wówczas panel zostanie ukryty

widok=GOG_KRU_ZEG&leftpanelwidth=0&hddpictures=App_Pictures_KRU&wwwpictures=http://vistula.demo.softwarestudio.com.pl/App_Pictures_KRU/

leftpanel=0

 

Przy wskazaniu innej wartości parametru niż 0 (zero)  lewy panel będzie deklarowanej szerokości, np.

 

widok=GOG_KRU_ZEG&leftpanelwidth=420&hddpictures=App_Pictures_KRU&wwwpictures=http://vistula.demo.softwarestudio.com.pl/App_Pictures_KRU/

leftpanel=420

placeholder

Parametr placeholder określa czy opisy kontrolek dodatkowych pól wyszukiwania w lewym panelu są wyswietlane powyżej kontrolki, czy też opis pola wyszukiwania wyświetlany jest jako placeholder.

Poniżej przykład wyświetlenia transakcji z użyciem parametru, np.

widok=GOG_KRU_ZEG&leftpanelwidth=250&placeholder=1&hddpictures=App_Pictures_KRU&wwwpictures=http://vistula.demo.softwarestudio.com.pl/App_Pictures_KRU/

placeholder1

Wyświetlenie transakcji g_grid z poszerzonym lewym panelem (420 pikseli) i bez parametru placeholder:

widok=GOG_KRU_ZEG&leftpanelwidth=420&hddpictures=App_Pictures_KRU&wwwpictures=http://vistula.demo.softwarestudio.com.pl/App_Pictures_KRU/

g_grid - left panel

 

Rozwiązania

Dodatkowe pola wyszukiwania

Transakcja pozwala na dodawanie dowolnych pól tekstowych ułatwiających precyzowanie zapytania i uzyskiwanie lepszych wyników wyszukiwania. Dodatkowe pola są wyświetlane z lewej strony transakcji na podstawie konfiguracji szczegółowej, pozycje oznaczone jako Typ Kolumny=Button.

W omawianym przykładzie zdefiniowane zostały 3 dodatkowe warunki filtrowania:

  1. FLT_EAN – kod kreskowy, w kolumnie warunek filtrowania ustawiono: eanasn like ‚%$$SearchString%’
  2. FLT_JM – Jednostka miary, w kolumnie warunek filtrowania ustawiono: jedn = ‚$$SearchString’
  3. FLT_CECHA – Cecha, w kolumnie warunek filtrowania ustawiono: cecha like ‚%$$SearchString%’

W efekcie po lewej stronie mamy 3 pola na wpisywanie dodatkowych warunków wyszukiwania.

Uwaga: dodatkowe pola wyszukiwania nie podlegają ograniczeniu co do ilości wpisywanych znaków, wyszukiwanie rozpoczyna się od pierwszego wprowadzone przez użytkownika programu znaku.

Przykładowo jeżeli w polu kod kreskowy podamy wartość to rekordy zostaną odfiltrowane (odszukane) zawierające podany kod, w przykładzie wpisałem wartość 580 i zwrócono mi 1 rekord spełniający taki warunek.

wyszukiwanie kod kreskowy

 

 

Wyświetlanie pliku obrazka – typ kolumny Image

Jeżeli z bazy danych zwracany jest link do strony www z obrazkiem to możemy wykorzystać typ pola Image, aby wyświetlić obrazek. Ustawiając rozmiar obrazka w kolumnie parametry na np. wysokość 200 pikseli (height:200px;) użytkownik będzie miał wyświetloną miniaturę zdjęcia.

 

zdjęcie

Po kliknięciu w zdjęcie otworzy się okno zawierające zdjęcie w oryginalnym rozmiarze.

podgląd zdjęcia

 

Wyświetlanie listy obrazków – typ kolumny Pictures

Typ pola Image nadaje się do wyświetlania pojedynczych zdjęć do których link zapisany jest w bazie i zwracany przez zapytanie select. Innym rodzajem jest kolumna typu Pictures, która tworzy listę plików odczytanych z określonego folderu.

Uruchamiając transakcję g_grid.aspx, która ma korzystać z pola typu Pictures należy podać opcjonalne parametry:

  • hddpictures – folder na serwerze, w ramach wirtyny w której jest uruchamiana aplikacja, wartość App_Pictures_VIS spowoduje, że program będzie szukał zdjęć w tym podfolderze
  • wwwpictures – nazwa witryny www i folder widoczne przez www jako linki do plików.

Przykładowo: widok=GOG_CRM_KNASO&hddpictures=App_Pictures_VIS&wwwpictures=https://intranet.softwarestudio.com.pl/App_Pictures_VIS/

Zmienna hddpictures wskazuje na główny folder ze zdjęciami, jednak zdjęcia będą podzielone w zależności od rekordu którego dotyczą, w naszym przykładzie podział na podfoldery odbywa się wg indeksu asortymentowego. Tak więc fizycznie program do wskazanych ścieżek hddpictures oraz wwwpictures doda nazwę folderu zgodną z indeksem. Dodawana nazwa folderu może być dowolną wartością odczytaną z bazy danych np. numerem referencyjnym. UWAGA: należy pamiętać o tym że pewne symbole są zastrzeżone i nie mogą być używane w nazwach folderów i plików. Należy zadbać aby nie były używane lub zostały zamieniona na uniwersalne znaki np. myślnik -.

Przykład zapytania:

SELECT TOP(20) NRIDASN, FOTO, (INDEKS) as PICTURE, INDEKS, NAZWAAS, MAGAZYN, EANASN FROM KNASO where MAGAZYN=@MAGAZYN AND (indeks LIKE ‚$$SearchString%’ or nazwaas like ‚%$$SearchString%’) ORDER BY NAZWAAS

gdzie wartość z kolumny INDEKS zostanie zwrócona jako nazwa kolumny PICTURE.

Ustawiamy więc parametry dla tej kolumny:

  • oznaczenie rodzaju danych; typ kolumny: Pictures
  • formatowanie ustawiamy wysokość zdjęć na 100 pikseli; Parametry: height:100px;

pictures

 

 Dodawanie przycisków poleceń

Podobnie jak transakcja x_grid.aspx wykorzystuje ustawienia Toolbarmenu w celu wyświetlenie paska z przyciskami do uruchamia dowolnych akcji, w ten sam sposób możemy dodawać przyciski akcji do każdego wiersza tabeli wyników wyszukiwania.

Przykładowo chcemy aby była możliwość edytowania odszukanej kartoteki.

W module KONFIUGURACJA w sekcji TOOLBARMENU / Przyciski MENU dodajemy pozycje

dodaj przycisk edycja

Powiązanie pomiędzy przyciskiem toolbar a transakcja wyszukiwania następuje na podstawie identyfikacji nawy widoku GOG_CRM_KNASO, czyli podłączamy przycisk do kodu transakcji wyszukiwania, zamiast wiodków SQL – transakcji x_grid.aspx).

W efekcie na liście wyników pojawia się przycisk polecenia Edycja

przycisk polecenia edycja

a po jego kliknięciu uruchomiona zostanie transakcja edycji

polecenie edycja

 

W podany sposób możemy dodawać dowolnie inne polecenia powiązane z wynikami.