szukaj.aspx kod

Zaawansowana metoda wyświetlania list wyboru i uruchamiania dowolnej transakcji skojarzonej w wybraną pozycją.

Przeszukiwanie list definiowanych

Transakcja szukaj.aspx pozwala na tworzenie listy do przeszukiwania na podstawie zdefiniowanej w słowniku sekcja ZESTAWIENIA kod SEL – listy transakcji szukaj.aspx

zestawienia SEL

 

W słowniku definiujemy jakie listy na podstawie zapytań mogą być realizowane za pomocą transakcji szukaj.aspx

Przykład 1 – lista skorowidzy

Przykładowo mamy zdefiniowaną pozycję słownika, która pozwala na wyświetlenie listy zdefiniowanych kodów PRX aby zbudować menu do wyświetlenia słowników

zestawienia lista transakcji szukaj

 

Najważniejsze informacje to:

  • KOD – unikalna identyfikator zapytania, który przekazywany jest jako parametr do transakcji np. szukaj.aspx?kod=SKO
  • UWAGI / ZAPYTANIE SQL – wpisujemy poprawne SQL jakie ma zwrócić listę danych na podstawie których zostanie zbudowana lista MENU.

Przykład zapytania

SELECT SEKCJA, OPIS + ‚ (‚+PRX+’)’ as OPIS, BACKCOLOR, IKONA, ‚/role_adm/x_skorowidze.aspx?prx=’+prx as navigate FROM _PRX WHERE POZYCJA IN (‚R’,’L’) AND AKTYWNE = ‚True’ ORDER BY SEKCJA, KOLEJNOSC, OPIS

 

Wymagane kolumny poprawnego zapytania:

  • OPIS – fraza wyświetlana w oknie obiektu, tworząca polecenie uruchomienia docelowej transakcji, na jej podstawie działa wyszukiwanie.
  • NAVIGATE – wskazuje transakcje jaka ma zostać uruchomiona, gdy użytkownik kliknie w link – tekst OPIS.
  • SEKCJA – pozwala grupować dane, wyświetlana w oknie obiektu. Kolumna jest opcjonalna, brak jej w zapytaniu powoduje brak wyświetlania informajci o grupie.
  • BACKCOLOR – kolor tła obiektu, brak kolumny definiującej kolor tła powoduje że wszystkie obiekty będą tego samego domyślnego koloru.
  • IKONA – plik graficzny w rozmiarze 32×32 wyświetlany wewnątrz obiektu, pozwala użytkownikowi kojarzyć nazwę z symbolem graficznym, kolumna opcjonalna, brak jej oznacza że zostanie wykorzystana domyślna ikona.

 

Uruchomienie

Uruchomienie transakcji z parametrem kod i podaniem unikalnego kodu ze słownika SEL spowodujemy wykonanie zapytania ze skorowidza i zbudowanie menu.

szukaj.aspx?kod=SKO

W efekcie otrzymamy listę

szukaj kod

 

która możemy przeszukiwać metodą znaną z systemu Windows 8, przykładowo wpisujemy frazę KAR

wyświetli się lista ograniczona do pozycji zawierających w nazwie KAR

szukaj kod kart

 

 

Przykład 2  – lista kontrahentów

Wprowadzając do słownika pozycję oznaczoną kodem np. KNKON kontrahenci i przypisaniu do niego zapytania:

SELECT skroco as OPIS, ‚/role_sys/x_tab.aspx?grupa=KNKON&refno=’+upper(nridodn) as navigate FROM knkon WHERE AKTYWNE = ‚True’ ORDER BY skroco

otrzymamy listę kontrahentów.

szukaj knkon

 

Zwróć uwagę, że zapytanie zwraca tylko obowiązkowe kolumny, brak jest w zapytaniu oznaczenia sekcji, koloru tła oraz ikonki. Kliknięcie na wybranej pozycji skutkuje wywołaniem transakcji wyświetlającej szczegóły wskazanej kartoteki kontrahenta.

 

Przykład 3  – lista kontrahentów pogrupowana wg miejscowości

Wprowadzając zapytanie:

SELECT upper(miejscowosc) as sekcja, skroco as OPIS, ‚/role_sys/x_tab.aspx?grupa=KNKON&refno=’+upper(nridodn) as navigate FROM knkon WHERE len(miejscowosc) >0 and AKTYWNE = ‚True’ ORDER BY miejscowosc, skroco

Otrzymamy listę kontrahentów z przypisaną nazwą miejscowości, pogrupowaną wg miejscowości (nazwa zamieniona na duże litery)

szukaj pogrupowane

 

Przykład 4  – lista kontrahentów pogrupowana wg pierwszej litery nazwy

Wprowadzając zapytanie:

SELECT upper(substring(skroco,1,1)) as sekcja, skroco as OPIS, ‚/role_sys/x_tab.aspx?grupa=KNKON&refno=’+upper(nridodn) as navigate FROM knkon WHERE AKTYWNE = ‚True’ ORDER BY  skroco

Otrzymamy listę kontrahentów pogrupowaną wg pierwszej litery nazwy.

szukaj pogrupowane 1

 

 

 

Przykład 5  – lista użytkowników do wyświetlenia rejestru dokumentów

Wprowadzając zapytanie:

 SELECT username as OPIS, ‚/role_sys/x_grid.aspx?refno=CRM_WIZYTY&status=0&login=’+username as navigate FROM _users WHERE AKTYWNE = ‚True’ ORDER BY username

otrzymamy listę aktywnych użytkowników programu, po wybraniu użytkownika program uruchomi transakcję wyświetlającą widok dokumentów odfiltrowany wg wybranego użytkownika.

szukaj pogrupowane users

 

 

Przykład 6  – lista dat z rejestru dokumentów

Jeżeli chcemy wyświetlić listę dat w jakich są zarejestrowane wizyty handlowców wprowadzamy zapytanie:

SELECT top(100) substring(upper(ddowod),1,10) as OPIS, ‚/role_sys/x_grid.aspx?refno=CRM_WIZYTY&ddowod=’+upper(ddowod) as navigate FROM dpcrm WHERE AKTYWNE = ‚True’ group by ddowod ORDER BY ddowod desc

W efekcie dostaniemy listę  ostatnich 100 dat powiązanych z dokumentami. Jeżeli danego dnia nie ma żadnej wizyty to taka data się na liście wyboru nie pojawi. Ograniczenie TOP(100) pozwala nam ograniczyć listę dat do ostatnich 100 w stosunku do daty bieżącej.

szukaj pogrupowane ddowod

 

Chcąc na liście wyświetlić wizyty z dnia 23 dowolnego miesiąca wpisujemy 23 i lista zostanie ograniczona.

szukaj pogrupowane ddowod 23

 

Po kliknięciu w datę wyświetlony zostanie rejestr (widok CRM_WIZYTY) odfiltrowany dla wybranej daty (DDOWOD).

 

Przykład 7  – lista kontrahentów wg dat wizyt

Jeżeli chcemy stworzyć bardziej skomplikowaną listę wizyt pogrupowaną wg dat, ale z rozbiciem na kontrahentów i poszczególne wizyty, a kliknięcie w wybraną pozycję menu ma wyświetlić podgląd dokumentu wizyty to wprowadzamy następujące zapytanie:

WITH TYM AS (SELECT TOP(100) substring(upper(ddowod),1,10) as sekcja, (SELECT TOP(1) SKROCO FROM KNKON WHERE NRIDODN = dpcrm.NRIDODN) as OPIS, ‚/role_sys/x_tab.aspx?GRUPA=WIZ&refno=’+upper(refno) as navigate FROM dpcrm WHERE AKTYWNE = ‚True’ ORDER BY DDOWOD DESC ) SELECT * FROM TYM ORDER BY SEKCJA DESC, OPIS

 

Zapytanie składa się z dwóch części:

  • Pierwsza zwraca ostatnie 100 rekordów z bazytabeli dpcrm WITH TYM AS (SELECT TOP(100) substring(upper(ddowod),1,10) as sekcja, (SELECT TOP(1) SKROCO FROM KNKON WHERE NRIDODN = dpcrm.NRIDODN) as OPIS, ‚/role_sys/x_tab.aspx?GRUPA=WIZ&refno=’+upper(refno) as navigate FROM dpcrm WHERE AKTYWNE = ‚True’ ORDER BY DDOWOD DESC ) 
  • Druga otrzymane wyniki sortuje wg dat i nazw kontrahentów SELECT * FROM TYM ORDER BY SEKCJA DESC, OPIS

 

W efekcie otrzymujemy listę

szukaj pogrupowane ddowod nridodn